You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
1013 B

  1. from django.test import TestCase, override_settings
  2. from django.contrib.auth.models import User
  3. from ..middleware import HeaderAuthMiddleware
  4. @override_settings(HEADER_AUTH_USER_GROUPS='X-AuthProxy-Groups')
  5. @override_settings(HEADER_AUTH_ADMIN_GROUP_NAME='Admin')
  6. @override_settings(HEADER_AUTH_GROUPS_SEPERATOR=';')
  7. class HeaderAuthMiddlewareTest(TestCase):
  8. def test_process_user_groups_is_super(self):
  9. user = User.objects.create_user(username='TestUser')
  10. user.is_superuser = False
  11. middleware = HeaderAuthMiddleware()
  12. middleware.process_user_groups(user, {'HTTP_X_AUTHPROXY_GROUPS': 'Admin;Reader'})
  13. self.assertTrue(user.is_superuser)
  14. def test_process_user_groups_is_not_super(self):
  15. user = User.objects.create_user(username='TestUser')
  16. user.is_superuser = True
  17. middleware = HeaderAuthMiddleware()
  18. middleware.process_user_groups(user, {'HTTP_X_AUTHPROXY_GROUPS': 'Guest;Reader'})
  19. self.assertFalse(user.is_superuser)