##// END OF EJS Templates
update codemirror
update codemirror

File last commit:

r3797:d7488551 beta
r4025:cd23cc2c default
Show More
test_admin_notifications.py
106 lines | 4.4 KiB | text/x-python | PythonLexer
/ rhodecode / tests / functional / test_admin_notifications.py
Notification system improvements...
r1712 from rhodecode.tests import *
Added functional test create repo with a group...
r2529 from rhodecode.model.db import Notification, User
Notification system improvements...
r1712
from rhodecode.model.user import UserModel
from rhodecode.model.notification import NotificationModel
synced vcs with upstream...
r3797 from rhodecode.model.meta import Session
Notification system improvements...
r1712
Updated create_or_update method to not change API key when password is not updated
r2513
Notification system improvements...
r1712 class TestNotificationsController(TestController):
Tests updates, Session refactoring
r1713 def tearDown(self):
for n in Notification.query().all():
inst = Notification.get(n.notification_id)
synced vcs with upstream...
r3797 Session().delete(inst)
Session().commit()
Tests updates, Session refactoring
r1713
Notification system improvements...
r1712 def test_index(self):
self.log_user()
u1 = UserModel().create_or_update(username='u1', password='qweqwe',
email='u1@rhodecode.org',
Updated create_or_update method to not change API key when password is not updated
r2513 firstname='u1', lastname='u1')
u1 = u1.user_id
Notification system improvements...
r1712
response = self.app.get(url('notifications'))
Use only mustcontain for testing response body
r3646 response.mustcontain('<div class="table">No notifications here yet</div>')
Notification system improvements...
r1712
cur_user = self._get_logged_user()
Tests updates, Session refactoring
r1713 NotificationModel().create(created_by=u1, subject=u'test_notification_1',
Notification system improvements...
r1712 body=u'notification_1',
recipients=[cur_user])
synced vcs with upstream...
r3797 Session().commit()
Notification system improvements...
r1712 response = self.app.get(url('notifications'))
Use only mustcontain for testing response body
r3646 response.mustcontain(u'test_notification_1')
Notification system improvements...
r1712
# def test_index_as_xml(self):
# response = self.app.get(url('formatted_notifications', format='xml'))
#
# def test_create(self):
# response = self.app.post(url('notifications'))
#
# def test_new(self):
# response = self.app.get(url('new_notification'))
#
# def test_new_as_xml(self):
# response = self.app.get(url('formatted_new_notification', format='xml'))
#
# def test_update(self):
# response = self.app.put(url('notification', notification_id=1))
#
# def test_update_browser_fakeout(self):
# response = self.app.post(url('notification', notification_id=1), params=dict(_method='put'))
def test_delete(self):
self.log_user()
cur_user = self._get_logged_user()
u1 = UserModel().create_or_update(username='u1', password='qweqwe',
email='u1@rhodecode.org',
Updated create_or_update method to not change API key when password is not updated
r2513 firstname='u1', lastname='u1')
Notification system improvements...
r1712 u2 = UserModel().create_or_update(username='u2', password='qweqwe',
email='u2@rhodecode.org',
Updated create_or_update method to not change API key when password is not updated
r2513 firstname='u2', lastname='u2')
Notification system improvements...
r1712
Tests updates, Session refactoring
r1713 # make notifications
Notification system improvements...
r1712 notification = NotificationModel().create(created_by=cur_user,
subject=u'test',
body=u'hi there',
recipients=[cur_user, u1, u2])
synced vcs with upstream...
r3797 Session().commit()
Notification system improvements...
r1712 u1 = User.get(u1.user_id)
u2 = User.get(u2.user_id)
# check DB
Updated create_or_update method to not change API key when password is not updated
r2513 get_notif = lambda un: [x.notification for x in un]
Tests updates, Session refactoring
r1713 self.assertEqual(get_notif(cur_user.notifications), [notification])
self.assertEqual(get_notif(u1.notifications), [notification])
self.assertEqual(get_notif(u2.notifications), [notification])
Notification system improvements...
r1712 cur_usr_id = cur_user.user_id
Tests updates, Session refactoring
r1713
response = self.app.delete(url('notification',
notification_id=
notification.notification_id))
Mads Kiilerich
access control: fix owner checks - they were always true...
r3141 self.assertEqual(response.body, 'ok')
Notification system improvements...
r1712
Tests updates, Session refactoring
r1713 cur_user = User.get(cur_usr_id)
self.assertEqual(cur_user.notifications, [])
Notification system improvements...
r1712
def test_show(self):
self.log_user()
cur_user = self._get_logged_user()
u1 = UserModel().create_or_update(username='u1', password='qweqwe',
email='u1@rhodecode.org',
Updated create_or_update method to not change API key when password is not updated
r2513 firstname='u1', lastname='u1')
Notification system improvements...
r1712 u2 = UserModel().create_or_update(username='u2', password='qweqwe',
email='u2@rhodecode.org',
Updated create_or_update method to not change API key when password is not updated
r2513 firstname='u2', lastname='u2')
Notification system improvements...
r1712
notification = NotificationModel().create(created_by=cur_user,
- refactoring to overcome poor usage of global pylons config...
r1723 subject=u'test',
Tests updates, Session refactoring
r1713 body=u'hi there',
Notification system improvements...
r1712 recipients=[cur_user, u1, u2])
response = self.app.get(url('notification',
notification_id=notification.notification_id))