def test_root_routes(self): """ Test the routes of the `root` views.""" request = AnuketDummyRequest() self.assertEqual(request.route_path('home'), '/') self.assertEqual(request.route_path('about'), '/about') self.assertEqual(request.route_path('login'), '/login') self.assertEqual(request.route_path('logout'), '/logout')
def test_user_add_view_not_validated(self): """ Test the response of the `user_add` view not validated.""" from anuket.views.user import user_add_view request = AnuketDummyRequest() request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' response = user_add_view(request) from pyramid_simpleform.renderers import FormRenderer self.assertIsInstance(response['renderer'], FormRenderer)
def test_user_list_view_with_sort(self): """ Test the response of the `user_list` view with a column sort.""" self.dummy_user_fixture() from anuket.views.user import user_list_view request = AnuketDummyRequest() request.method = 'POST' request.params['sort'] = 'username' response = user_list_view(request) from webhelpers.paginate import Page self.assertIsInstance(response['users'], Page)
def test_user_show_view(self): """ Test the response of the `user_show` view.""" self.dummy_user_fixture() from anuket.views.user import user_show_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} response = user_show_view(request) from anuket.models.auth import AuthUser user = AuthUser.get_by_id(1) self.assertIsInstance(response['user'], AuthUser) self.assertEqual(response['user'], user)
def test_user_delete_view(self): """ Test the response of the `user_delete` view.""" self.dummy_user_fixture() from anuket.views.user import user_delete_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.referer = '/tools/user' response = user_delete_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual(request.session.pop_flash('warn')[0], u"User deleted.")
def test_user_delete_view(self): """ Test the response of the `user_delete` view.""" self.dummy_user_fixture() from anuket.views.user import user_delete_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.referer = '/tools/user' response = user_delete_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual( request.session.pop_flash('warn')[0], u"User deleted.")
def test_password_edit_view_not_validated(self): """ Test the response of the `password_edit` view not validated.""" self.dummy_user_fixture() from anuket.views.user import password_edit_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' response = password_edit_view(request) from pyramid_simpleform.renderers import FormRenderer self.assertIsInstance(response['renderer'], FormRenderer)
def test_password_edit_view_not_exist(self): """ Test the response of the `password_edit` view with a non existent `user_id`. """ self.dummy_user_fixture() from anuket.views.user import password_edit_view request = AnuketDummyRequest() request.matchdict = {'user_id': 0} response = password_edit_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual( request.session.pop_flash('error')[0], u"This user did not exist!")
def test_password_edit_view_not_exist(self): """ Test the response of the `password_edit` view with a non existent `user_id`. """ self.dummy_user_fixture() from anuket.views.user import password_edit_view request = AnuketDummyRequest() request.matchdict = {'user_id': 0} response = password_edit_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual(request.session.pop_flash('error')[0], u"This user did not exist!")
def test_user_delete_view_of_only_admin_is_forbiden(self): """ Test the response of the `user_delete` view wile trying to delete the only admin user. """ self.admin_user_fixture() from anuket.views.user import user_delete_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.referer = '/tools/user' response = user_delete_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual(request.session.pop_flash('error')[0], u"Deletion of the only admin forbidden!")
def test_user_list_view_with_empty_search(self): """ Test the response of the `user_list` view with a search who have an empty result. """ self.dummy_user_fixture() from anuket.views.user import user_list_view request = AnuketDummyRequest() request.method = 'POST' request.params['search'] = u'donotfoundme' response = user_list_view(request) from webhelpers.paginate import Page self.assertIsInstance(response['users'], Page) self.assertEqual( request.session.pop_flash('error')[0], u"There is no results!")
def test_user_list_view_with_empty_search(self): """ Test the response of the `user_list` view with a search who have an empty result. """ self.dummy_user_fixture() from anuket.views.user import user_list_view request = AnuketDummyRequest() request.method = 'POST' request.params['search'] = u'donotfoundme' response = user_list_view(request) from webhelpers.paginate import Page self.assertIsInstance(response['users'], Page) self.assertEqual(request.session.pop_flash('error')[0], u"There is no results!")
def test_login_view_valid_credentials(self): """ Test the response of the `login_view` with valid credentials.""" # no crsf_token check because the suscribers are not activated from anuket.views.root import login_view self.dummy_user_fixture() request = AnuketDummyRequest() request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' request.params['username'] = u'username' request.params['password'] = u'password' response = login_view(request) self.assertEqual(response.location, '/') self.assertEqual(request.session.pop_flash('success')[0], u"Successful login.")
def test_login_view_wrong_credentials(self): """ Test the response of the `login_view` with wrong credentials.""" # no crsf_token check because the suscribers are not activated from anuket.views.root import login_view self.dummy_user_fixture() request = AnuketDummyRequest() request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' request.params['username'] = u'wrong_user' request.params['password'] = u'wrong_pass' response = login_view(request) self.assertIsNotNone(response['renderer']) self.assertEqual(request.session.pop_flash('error')[0], u"Check your login credentials!")
def test_user_delete_view_without_referer_is_forbiden(self): """ test the response of the `user_delete` view wile trying to directly delete an user (with no referer). """ self.config.include('anuket.views.root') # register the `root` routes self.dummy_user_fixture() from anuket.views.user import user_delete_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.referer = None response = user_delete_view(request) self.assertEqual(response.location, '/') self.assertEqual(request.session.pop_flash('error')[0], u"Insufficient permissions!")
def test_user_delete_view_of_only_admin_is_forbiden(self): """ Test the response of the `user_delete` view wile trying to delete the only admin user. """ self.admin_user_fixture() from anuket.views.user import user_delete_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.referer = '/tools/user' response = user_delete_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual( request.session.pop_flash('error')[0], u"Deletion of the only admin forbidden!")
def test_user_delete_view_without_referer_is_forbiden(self): """ test the response of the `user_delete` view wile trying to directly delete an user (with no referer). """ self.config.include('anuket.views.root') # register the `root` routes self.dummy_user_fixture() from anuket.views.user import user_delete_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.referer = None response = user_delete_view(request) self.assertEqual(response.location, '/') self.assertEqual( request.session.pop_flash('error')[0], u"Insufficient permissions!")
def test_forbiden_view_non_logged(self): """ Test the response of the `forbiden_view` for non-logged users.""" from anuket.views.root import forbiden_view request = AnuketDummyRequest(auth_user=None) response = forbiden_view(request) self.assertEqual(response.location, '/login') self.assertEqual( request.session.pop_flash('error')[0], u'You are not connected.')
def test_user_list_view(self): """ Test the response of the `user_list` view.""" self.dummy_user_fixture() from anuket.views.user import user_list_view request = AnuketDummyRequest() response = user_list_view(request) from webhelpers.paginate import Page self.assertIsInstance(response['users'], Page)
def test_locale_negotiator(self): """ Test the `locale_negociator` function.""" from anuket.lib.i18n import locale_negotiator request = AnuketDummyRequest() request.registry.settings.update(self.settings) locale = locale_negotiator(request) # test the default locale self.assertEqual(locale, 'en')
def test_user_edit_view(self): """ Test the response of the `user_edit` view.""" self.dummy_user_fixture() from anuket.views.user import user_edit_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' request.params['user_id'] = 1 request.params['username'] = u'username' request.params['first_name'] = u'firstname' request.params['last_name'] = u'lastname' request.params['email'] = u'*****@*****.**' request.params['group_id'] = 1 response = user_edit_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual(request.session.pop_flash('success')[0], u"User updated.")
def test_logout_view(self): """ Test the response of the `logout_view`.""" from anuket.views.root import logout_view request = AnuketDummyRequest() response = logout_view(request) self.assertEqual(response.location, '/') self.assertEqual( request.session.pop_flash('info')[0], u"You have been disconnected.")
def test_forbiden_view_logged(self): """ Test the response of the `forbiden_view` for logged users.""" from anuket.views.root import forbiden_view request = AnuketDummyRequest(auth_user='******') response = forbiden_view(request) self.assertEqual(response.location, '/') self.assertEqual( request.session.pop_flash('error')[0], u'Insufficient permissions!')
def test_login_view_non_logged(self): """ Test the response of the `login_view` for non-logged users.""" from anuket.views.root import login_view request = AnuketDummyRequest() response = login_view(request) self.assertIsNotNone(response['renderer']) # no flash message yet for non-logged users self.assertEqual(len(request.session.pop_flash('info')), 0) self.assertEqual(len(request.session.pop_flash('error')), 0)
def test_get_auth_user(self): """ Test the `get_auth_user` function.""" user = self.dummy_user_fixture() from anuket.security import get_auth_user request = AnuketDummyRequest() from pyramid.interfaces import IAuthenticationPolicy policy = DummyAuthenticationPolicy(user.user_id) request.registry.registerUtility(policy, IAuthenticationPolicy) auth_user = get_auth_user(request) self.assertEqual(auth_user, user)
def test_user_routes(self): """ Test the route of the `user` view.""" request = AnuketDummyRequest() self.assertEqual(request.route_path('tools.user_list'), '/tools/user') self.assertEqual(request.route_path('tools.user_add'), '/tools/user/add') self.assertEqual(request.route_path('tools.user_show', user_id=1), '/tools/user/1/show') self.assertEqual(request.route_path('tools.user_edit', user_id=1), '/tools/user/1/edit') self.assertEqual(request.route_path('tools.user_delete', user_id=1), '/tools/user/1/delete') self.assertEqual(request.route_path('tools.password_edit', user_id=1), '/tools/user/1/password')
def test_password_edit_view(self): """ Test the response of the `password_edit` view.""" self.dummy_user_fixture() password = self.password_fixture() from anuket.views.user import password_edit_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' request.params['user_id'] = 1 request.params['password'] = password request.params['password_confirm'] = password response = password_edit_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual( request.session.pop_flash('success')[0], u"Password updated.")
def test_password_edit_view(self): """ Test the response of the `password_edit` view.""" self.dummy_user_fixture() password = self.password_fixture() from anuket.views.user import password_edit_view request = AnuketDummyRequest() request.matchdict = {'user_id': 1} request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' request.params['user_id'] = 1 request.params['password'] = password request.params['password_confirm'] = password response = password_edit_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual(request.session.pop_flash('success')[0], u"Password updated.")
def test_login_view_valid_credentials(self): """ Test the response of the `login_view` with valid credentials.""" # no crsf_token check because the suscribers are not activated from anuket.views.root import login_view self.dummy_user_fixture() request = AnuketDummyRequest() request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' request.params['username'] = u'username' request.params['password'] = u'password' response = login_view(request) self.assertEqual(response.location, '/') self.assertEqual( request.session.pop_flash('success')[0], u"Successful login.")
def test_login_view_wrong_credentials(self): """ Test the response of the `login_view` with wrong credentials.""" # no crsf_token check because the suscribers are not activated from anuket.views.root import login_view self.dummy_user_fixture() request = AnuketDummyRequest() request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' request.params['username'] = u'wrong_user' request.params['password'] = u'wrong_pass' response = login_view(request) self.assertIsNotNone(response['renderer']) self.assertEqual( request.session.pop_flash('error')[0], u"Check your login credentials!")
def test_tools_routes(self): """ Test the routes of the `tools` view.""" request = AnuketDummyRequest() self.assertEqual(request.route_path('tools.index'), '/tools')
def test_root_view(self): """ Test the response of the `root_view`.""" from anuket.views.root import root_view request = AnuketDummyRequest() response = root_view(request) self.assertEqual(response, {})
def test_tools_view(self): """ Test the response of the `tools_index_view`.""" from anuket.views.tools import tools_index_view request = AnuketDummyRequest() response = tools_index_view(request) self.assertEqual(response, {})
def test_user_add_view(self): """ Test the response of the `user_add` view.""" self.dummy_group_fixture() password = self.password_fixture() from anuket.views.user import user_add_view request = AnuketDummyRequest() request.method = 'POST' # required for form.validate() request.params['form_submitted'] = u'' request.params['username'] = u'username' request.params['first_name'] = u'firstname' request.params['last_name'] = u'lastname' request.params['email'] = u'*****@*****.**' request.params['group_id'] = 1 request.params['password'] = password request.params['password_confirm'] = password response = user_add_view(request) self.assertEqual(response.location, '/tools/user') self.assertEqual( request.session.pop_flash('success')[0], u"User added.")