def test_keep_keys_on_failure(self): cert_exp_time = datetime.now() - timedelta(hours=25) with patch("django_auth_adfs.backend.AdfsBackend._key_age", cert_exp_time): with patch("django_auth_adfs.backend.settings.SIGNING_CERT", True): backend = AdfsBackend() user = backend.authenticate(authorization_code="dummycode") self.assertIsInstance(user, User)
def test_single_group_token(self): backend = AdfsBackend() user = backend.authenticate(authorization_code="dummycode") self.assertIsInstance(user, User) self.assertEqual(user.first_name, "John") self.assertEqual(user.last_name, "Doe") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(len(user.groups.all()), 1) self.assertEqual(user.groups.all()[0].name, "group1")
def test_group_claim(self): backend = AdfsBackend() with patch("django_auth_adfs.backend.settings.GROUPS_CLAIM", "nonexisting"): user = backend.authenticate(self.request, authorization_code="dummycode") self.assertIsInstance(user, User) self.assertEqual(user.first_name, "John") self.assertEqual(user.last_name, "Doe") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(len(user.groups.all()), 0)
def test_group_claim(self): backend = AdfsBackend() with patch("django_auth_adfs.backend.settings.GROUP_CLAIM", "nonexisting"): user = backend.authenticate(authorization_code="dummycode") self.assertIsInstance(user, User) self.assertEqual(user.first_name, "John") self.assertEqual(user.last_name, "Doe") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(len(user.groups.all()), 0)
def test_with_auth_code_2016(self): backend = AdfsBackend() user = backend.authenticate(self.request, authorization_code="dummycode") self.assertIsInstance(user, User) self.assertEqual(user.first_name, "John") self.assertEqual(user.last_name, "Doe") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(len(user.groups.all()), 2) self.assertEqual(user.groups.all()[0].name, "group1") self.assertEqual(user.groups.all()[1].name, "group2")
def test_with_auth_code_azure(self): with patch("django_auth_adfs.config.settings.TENANT_ID", "dummy_tenant_id"): with patch("django_auth_adfs.backend.provider_config", ProviderConfig()): backend = AdfsBackend() user = backend.authenticate(self.request, authorization_code="dummycode") self.assertIsInstance(user, User) self.assertEqual(user.first_name, "John") self.assertEqual(user.last_name, "Doe") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(len(user.groups.all()), 2) self.assertEqual(user.groups.all()[0].name, "group1") self.assertEqual(user.groups.all()[1].name, "group2")
def test_with_auth_code_azure(self): from django_auth_adfs.config import django_settings settings = deepcopy(django_settings) del settings.AUTH_ADFS["SERVER"] settings.AUTH_ADFS["TENANT_ID"] = "dummy_tenant_id" with patch("django_auth_adfs.config.django_settings", settings): with patch("django_auth_adfs.config.settings", Settings()): with patch("django_auth_adfs.backend.provider_config", ProviderConfig()): backend = AdfsBackend() user = backend.authenticate(self.request, authorization_code="dummycode") self.assertIsInstance(user, User) self.assertEqual(user.first_name, "John") self.assertEqual(user.last_name, "Doe") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(len(user.groups.all()), 2) self.assertEqual(user.groups.all()[0].name, "group1") self.assertEqual(user.groups.all()[1].name, "group2")
def test_group_removal(self): user, created = User.objects.get_or_create( **{User.USERNAME_FIELD: "testuser"}) group = Group.objects.get(name="group3") user.groups.add(group) user.save() self.assertEqual(user.groups.all()[0].name, "group3") backend = AdfsBackend() user = backend.authenticate(authorization_code="dummycode") self.assertIsInstance(user, User) self.assertEqual(user.first_name, "John") self.assertEqual(user.last_name, "Doe") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(len(user.groups.all()), 2) self.assertEqual(user.groups.all()[0].name, "group1") self.assertEqual(user.groups.all()[1].name, "group2")
def test_group_removal(self): user, created = User.objects.get_or_create(**{ User.USERNAME_FIELD: "testuser" }) group = Group.objects.get(name="group3") user.groups.add(group) user.save() self.assertEqual(user.groups.all()[0].name, "group3") backend = AdfsBackend() user = backend.authenticate(authorization_code="dummycode") self.assertIsInstance(user, User) self.assertEqual(user.first_name, "John") self.assertEqual(user.last_name, "Doe") self.assertEqual(user.email, "*****@*****.**") self.assertEqual(len(user.groups.all()), 2) self.assertEqual(user.groups.all()[0].name, "group1") self.assertEqual(user.groups.all()[1].name, "group2")
def test_empty(self): backend = AdfsBackend() self.assertIsNone(backend.authenticate(self.request))
def test_post_authenticate_signal_send(self): backend = AdfsBackend() backend.authenticate(self.request, authorization_code="dummycode") self.assertEqual(self.signal_handler.call_count, 1)
def test_empty(self): backend = AdfsBackend() self.assertIsNone(backend.authenticate())