##// END OF EJS Templates
summary: "shortlog" is not a word ... and the changelog is always better
summary: "shortlog" is not a word ... and the changelog is always better

File last commit:

r3141:a45191e7 beta
r3285:6aae03fa beta
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
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)
Added functional test create repo with a group...
r2529 self.Session().delete(inst)
self.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'))
self.assertTrue('''<div class="table">No notifications here yet</div>'''
in response.body)
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])
Added functional test create repo with a group...
r2529 self.Session().commit()
Notification system improvements...
r1712 response = self.app.get(url('notifications'))
Tests updates, Session refactoring
r1713 self.assertTrue(u'test_notification_1' in response.body)
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])
Added functional test create repo with a group...
r2529 self.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))