def test_process_request_no_permission(self):
     """A user without permission should not be able to impersonate."""
     self.assertFalse(self.user.has_perm('accounts.can_impersonate'))
     middleware = ImpersonationMiddleware()
     request = self.request_factory.get('/')
     request.session = {'impersonate_id': self.admin.pk}
     request.user = self.user
     middleware.process_request(request)
     self.assertEqual(request.user, self.user)
Exemplo n.º 2
0
 def test_process_request_no_permission(self):
     """A user without permission should not be able to impersonate."""
     self.assertFalse(self.user.has_perm('accounts.can_impersonate'))
     middleware = ImpersonationMiddleware()
     request = self.request_factory.get('/')
     request.session = {'impersonate_id': self.admin.pk}
     request.user = self.user
     middleware.process_request(request)
     self.assertEqual(request.user, self.user)
Exemplo n.º 3
0
    def test_process_request_user_does_not_exist(self):
        """If impersonate_id doesn't correspond to a valid user, do nothing."""
        self.admin.is_superuser = True
        self.admin.save()
        self.assertTrue(self.admin.can_impersonate())

        # Call the middleware
        middleware = ImpersonationMiddleware()
        request = self.request_factory.get('/')
        request.session = {'impersonate_id': -1}
        request.user = self.admin
        middleware.process_request(request)
        self.assertEqual(request.user, self.admin)
Exemplo n.º 4
0
    def test_process_request_no_impersonate_id(self):
        """If impersonate_id isn't specified, user should stay the same."""
        # This user _could_ impersonate another user
        self.admin.is_superuser = True
        self.admin.save()
        self.assertTrue(self.admin.can_impersonate())

        middleware = ImpersonationMiddleware()
        request = self.request_factory.get('/')
        request.session = {}
        request.user = self.admin
        middleware.process_request(request)
        self.assertEqual(request.user, self.admin)
Exemplo n.º 5
0
    def test_process_request_superuser(self):
        """Superusers should be able to impersonate."""
        self.admin.is_superuser = True
        self.admin.save()
        self.assertTrue(self.admin.can_impersonate())

        # Call the middleware
        middleware = ImpersonationMiddleware()
        request = self.request_factory.get('/')
        request.session = {'impersonate_id': self.user.pk}
        request.user = self.admin
        middleware.process_request(request)
        self.assertEqual(request.user, self.user)
    def test_process_request_user_does_not_exist(self):
        """If impersonate_id doesn't correspond to a valid user, do nothing."""
        self.admin.is_superuser = True
        self.admin.save()
        self.assertTrue(self.admin.can_impersonate())

        # Call the middleware
        middleware = ImpersonationMiddleware()
        request = self.request_factory.get('/')
        request.session = {'impersonate_id': -1}
        request.user = self.admin
        middleware.process_request(request)
        self.assertEqual(request.user, self.admin)
    def test_process_request_no_impersonate_id(self):
        """If impersonate_id isn't specified, user should stay the same."""
        # This user _could_ impersonate another user
        self.admin.is_superuser = True
        self.admin.save()
        self.assertTrue(self.admin.can_impersonate())

        middleware = ImpersonationMiddleware()
        request = self.request_factory.get('/')
        request.session = {}
        request.user = self.admin
        middleware.process_request(request)
        self.assertEqual(request.user, self.admin)
    def test_process_request_superuser(self):
        """Superusers should be able to impersonate."""
        self.admin.is_superuser = True
        self.admin.save()
        self.assertTrue(self.admin.can_impersonate())

        # Call the middleware
        middleware = ImpersonationMiddleware()
        request = self.request_factory.get('/')
        request.session = {'impersonate_id': self.user.pk}
        request.user = self.admin
        middleware.process_request(request)
        self.assertEqual(request.user, self.user)
Exemplo n.º 9
0
    def test_process_request_admin_has_permission(self):
        """A user with permission should be able to impersonate another user."""
        # Make sure user has can_impersonate permission
        permission = Permission.objects.get_by_natural_key(
            'can_impersonate', 'accounts', 'user')
        self.admin.user_permissions.add(permission)
        self.admin.save()
        self.assertTrue(self.admin.has_perm('accounts.can_impersonate'))

        # Call the middleware
        middleware = ImpersonationMiddleware()
        request = self.request_factory.get('/')
        request.session = {'impersonate_id': self.user.pk}
        request.user = self.admin
        middleware.process_request(request)
        self.assertEqual(request.user, self.user)
Exemplo n.º 10
0
    def test_process_request_admin_has_permission(self):
        """A user with permission should be able to impersonate another user."""
        # Make sure user has can_impersonate permission
        permission = Permission.objects.get_by_natural_key(
            'can_impersonate', 'accounts', 'user')
        self.admin.user_permissions.add(permission)
        self.admin.save()
        self.assertTrue(self.admin.has_perm('accounts.can_impersonate'))

        # Call the middleware
        middleware = ImpersonationMiddleware()
        request = self.request_factory.get('/')
        request.session = {'impersonate_id': self.user.pk}
        request.user = self.admin
        middleware.process_request(request)
        self.assertEqual(request.user, self.user)