def test_set_user_language(self): from dbas.views import set_user_lang as ajax request = testing.DummyRequest(json_body={'lang': 'en'}) response = ajax(request) self.assertTrue(400 == response.status_code) self.config.testing_securitypolicy(userid='Tobias', permissive=True) request = testing.DummyRequest(json_body={'lang': 'en'}) response = ajax(request) self.assertIn('error', response) self.assertIn('ui_locales', response) self.assertIn('current_lang', response) self.assertTrue(response['error'] == '') self.assertTrue(response['ui_locales'] == 'en') self.assertTrue(response['current_lang'] == 'English') request = testing.DummyRequest(json_body={'lang': 'de'}) response = ajax(request) self.assertIn('error', response) self.assertIn('ui_locales', response) self.assertIn('current_lang', response) self.assertTrue(response['error'] == '') self.assertTrue(response['ui_locales'] == 'de') self.assertTrue(response['current_lang'] == 'Deutsch') request = testing.DummyRequest(json_body={'lang': 'li'}) response = ajax(request) self.assertIn('error', response) self.assertIn('ui_locales', response) self.assertIn('current_lang', response) self.assertTrue(response['error'] != '') self.assertTrue(response['ui_locales'] == 'li') self.assertTrue(response['current_lang'] == '')
def test_switch_language(self): from dbas.views import switch_language as ajax lang = ['de', 'en'] for l in lang: request = testing.DummyRequest(json_body={'lang': l}) response = ajax(request) self.assertTrue(response['_LOCALE_'] == l)
def test_notification_read_failure2(self): self.config.testing_securitypolicy(userid='Tobias', permissive=True) from dbas.views import send_some_notification as ajax request = testing.DummyRequest(json_body={'id': 2}) response = ajax(request) self.assertIsNotNone(response) self.assertTrue(400, response.status_code)
def test_set_user_setting_no_service(self): from dbas.views import set_user_settings as ajax request = construct_dummy_request(json_body={'ui_locales': 'en'}) response = ajax(request) self.assertEqual(response.status_code, 400) self.config.testing_securitypolicy(userid='Tobias', permissive=True) request = construct_dummy_request(json_body={'service': 'oha', 'settings_value': False}) response = ajax(request) self.assertIn('error', response) self.assertIn('public_nick', response) self.assertIn('public_page_url', response) self.assertIn('gravatar_url', response) self.assertTrue(response['error'] != '') self.assertTrue(response['public_nick'] != '') self.assertTrue(response['public_page_url'] != '') self.assertTrue(response['gravatar_url'] != '')
def test_fuzzy_search_failure_mode(self): from dbas.views import fuzzy_search as ajax request = testing.DummyRequest(json_body={ 'value': 'cat', 'type': '6', 'statement_uid': 0, 'issue': 2 }) response = ajax(request) self.assertIsNotNone(response) self.assertTrue(400, response.status_code)
def test_send_news_failure(self): from dbas.views import send_news as ajax request = testing.DummyRequest(json_body={ 'title': 'some new title', 'text': 'some new text' }) response = ajax(request) self.assertEqual(400, response.status_code) DBDiscussionSession.query(News).filter_by( title='some new title').delete()
def test_set_user_setting_notification(self): from dbas.views import set_user_settings as ajax request = testing.DummyRequest(json_body={'ui_locales': 'en'}) response = ajax(request) self.assertTrue(400 == response.status_code) self.config.testing_securitypolicy(userid='Tobias', permissive=True) request = testing.DummyRequest(json_body={ 'service': 'notification', 'settings_value': True }) response = ajax(request) self.assertIn('error', response) self.assertIn('public_nick', response) self.assertIn('public_page_url', response) self.assertIn('gravatar_url', response) self.assertTrue(response['error'] == '') self.assertTrue(response['public_nick'] != '') self.assertTrue(response['public_page_url'] != '') self.assertTrue(response['gravatar_url'] != '')
def test_mark_statement_or_argument(self): from dbas.views import mark_or_unmark_statement_or_argument as ajax request = testing.DummyRequest(json_body={'ui_locales': 'en'}) response = ajax(request) self.assertEqual(400, response.status_code) self.config.testing_securitypolicy(userid='Tobias', permissive=True) for b1 in [True, False]: for b2 in [True, False]: for b3 in [True, False]: request = testing.DummyRequest( json_body={ 'uid': 4, 'is_argument': b1, 'should_mark': b2, 'step': 'reaction/4/undercut/6', 'is_supportive': b3 }) response = ajax(request) self.assertTrue(len(response['text']) > 0)
def test_fuzzy_search_mode_0(self): from dbas.views import fuzzy_search as ajax request = testing.DummyRequest(json_body={ 'value': 'cat', 'type': 0, 'statement_uid': 0, 'issue': 2 }) response = ajax(request) self.assertIsNotNone(response) self.assertIn('values', response)
def test_user_login_wrong_password(self): from dbas.views import user_login as ajax request = construct_dummy_request(json_body={ 'user': '******', 'password': '******', 'keep_login': False, 'url': '' }) response = ajax(request) self.assertIsNotNone(response) self.assertNotEqual(len(response['error']), 0)
def test_send_news(self): self.config.testing_securitypolicy(userid='Tobias', permissive=True) from dbas.views import send_news as ajax request = testing.DummyRequest(json_body={ 'title': 'some new title', 'text': 'some new text' }) response = ajax(request) self.assertIsNotNone(response) self.assertEqual('success', response['status']) DBDiscussionSession.query(News).filter_by( title='some new title').delete()
def test_send_notification_failure2(self): self.config.testing_securitypolicy(userid='Tobias', permissive=True) from dbas.views import send_some_notification as ajax request = testing.DummyRequest( json_body={ 'recipient': 'Tobias', 'title': 'Some new text for a message', 'text': 'Some new text for a message', }) response = ajax(request) self.assertIsNotNone(response) self.assertTrue(400, response.status_code)
def test_user_login_wrong_password(self): from dbas.views import user_login as ajax request = testing.DummyRequest(json_body={ 'user': '******', 'password': '******', 'keep_login': False, 'url': '' }, mailer=DummyMailer) response = ajax(request) self.assertIsNotNone(response) self.assertTrue(len(response['error']) != 0)
def test_user_login(self): db_user = DBDiscussionSession.query(User).filter_by(nickname='Tobias').first() db_user.password = get_hashed_password('tobias') transaction.commit() from dbas.views import user_login as ajax request = construct_dummy_request(json_body={ 'user': '******', 'password': '******', 'keep_login': False, 'url': '' }) response = ajax(request) self.assertIsInstance(response, HTTPFound)
def test_mark_statement_or_argument(self): request = construct_dummy_request(json_body={'ui_locales': 'en'}) response = mark_or_unmark_statement_or_argument(request) self.assertEqual(400, response.status_code) self.config.testing_securitypolicy(userid='Tobias', permissive=True) binary_combination = list(itertools.product([True, False], repeat=3)) for b1, b2, b3 in binary_combination: request = construct_dummy_request( json_body={ 'uid': 4, 'is_argument': b1, 'should_mark': b2, 'step': 'reaction/4/undercut/6', 'is_supportive': b3 }) response = ajax(request) self.assertTrue(len(response['text']) > 0)
def test_user_login(self): db_user = DBDiscussionSession.query(User).filter_by( nickname='Tobias').first() db_user.password = get_hashed_password('tobias') transaction.commit() from dbas.views import user_login as ajax request = testing.DummyRequest(json_body={ 'user': '******', 'password': '******', 'keep_login': False, 'url': '' }, mailer=DummyMailer) response = ajax(request) self.assertTrue(type(response) is HTTPFound)
def test_switch_language_failure(self): from dbas.views import switch_language as ajax request = testing.DummyRequest(json_body={'lang': 'sw'}) response = ajax(request) self.assertEqual(400, response.status_code)
def test_send_notification_failure1(self): from dbas.views import send_some_notification as ajax request = testing.DummyRequest(json_body={}) response = ajax(request) self.assertIsNotNone(response) self.assertTrue(400, response.status_code)
def test_user_logout(self): from dbas.views import user_logout as ajax request = testing.DummyRequest(params={}) response = ajax(request) self.assertTrue(type(response) is HTTPFound)
def test_notification_delete_failure(self): from dbas.views import set_notifications_delete as ajax request = construct_dummy_request(json_body={}) response = ajax(request) self.assertIsNotNone(response) self.assertTrue(400, response.status_code)
def test_user_logout(self): from dbas.views import user_logout as ajax request = construct_dummy_request(params={}) response = ajax(request) self.assertIsInstance(response, HTTPFound)
def test_get_news_view(self): from dbas.views import get_news as ajax request = testing.DummyRequest(params={}, matchdict={}) response = ajax(request) self.assertIsNotNone(response) self.assertTrue(len(response) > 0)