示例#1
0
 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')
示例#2
0
 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')
示例#3
0
 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)
示例#4
0
 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)
示例#5
0
 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)
示例#6
0
 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)
示例#7
0
 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)
示例#8
0
 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.")
示例#9
0
 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)
示例#10
0
 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.")
示例#11
0
 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)
示例#12
0
 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)
示例#13
0
 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!")
示例#14
0
 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!")
示例#15
0
 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!")
示例#16
0
 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!")
示例#17
0
 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!")
示例#18
0
 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.")
示例#19
0
 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!")
示例#20
0
 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!")
示例#21
0
 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!")
示例#22
0
 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!")
示例#23
0
 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.')
示例#24
0
 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)
示例#25
0
    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')
示例#26
0
 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.")
示例#27
0
 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.")
示例#28
0
 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!')
示例#29
0
 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)
示例#30
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)
示例#31
0
 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')
示例#32
0
 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.")
示例#33
0
 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')
示例#34
0
 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.")
示例#35
0
 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.")
示例#36
0
 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!")
示例#37
0
 def test_tools_routes(self):
     """ Test the routes of the `tools` view."""
     request = AnuketDummyRequest()
     self.assertEqual(request.route_path('tools.index'), '/tools')
示例#38
0
 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, {})
示例#39
0
 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, {})
示例#40
0
 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.")
示例#41
0
 def test_tools_routes(self):
     """ Test the routes of the `tools` view."""
     request = AnuketDummyRequest()
     self.assertEqual(request.route_path('tools.index'), '/tools')