authentik.sources.oauth.tests.test_tasks
Test OAuth Source tasks
1"""Test OAuth Source tasks""" 2 3from django.test import TestCase 4from requests_mock import Mocker 5 6from authentik.sources.oauth.models import OAuthSource 7from authentik.sources.oauth.tasks import update_well_known_jwks 8 9 10class TestOAuthSourceTasks(TestCase): 11 """Test OAuth Source tasks""" 12 13 def setUp(self) -> None: 14 self.source = OAuthSource.objects.create( 15 name="test", 16 slug="test", 17 provider_type="openidconnect", 18 authorization_url="", 19 profile_url="", 20 consumer_key="", 21 ) 22 23 @Mocker() 24 def test_well_known_jwks(self, mock: Mocker): 25 """Test well_known update""" 26 self.source.oidc_well_known_url = "http://foo/.well-known/openid-configuration" 27 self.source.save() 28 mock.get( 29 self.source.oidc_well_known_url, 30 json={ 31 "authorization_endpoint": "foo", 32 "token_endpoint": "foo", 33 "userinfo_endpoint": "foo", 34 "jwks_uri": "http://foo/jwks", 35 }, 36 ) 37 mock.get("http://foo/jwks", json={"foo": "bar"}) 38 update_well_known_jwks.send() 39 self.source.refresh_from_db() 40 self.assertEqual(self.source.authorization_url, "foo") 41 self.assertEqual(self.source.access_token_url, "foo") 42 self.assertEqual(self.source.profile_url, "foo") 43 self.assertEqual(self.source.oidc_jwks_url, "http://foo/jwks") 44 self.assertEqual( 45 self.source.oidc_jwks, 46 { 47 "foo": "bar", 48 }, 49 )
class
TestOAuthSourceTasks(django.test.testcases.TestCase):
11class TestOAuthSourceTasks(TestCase): 12 """Test OAuth Source tasks""" 13 14 def setUp(self) -> None: 15 self.source = OAuthSource.objects.create( 16 name="test", 17 slug="test", 18 provider_type="openidconnect", 19 authorization_url="", 20 profile_url="", 21 consumer_key="", 22 ) 23 24 @Mocker() 25 def test_well_known_jwks(self, mock: Mocker): 26 """Test well_known update""" 27 self.source.oidc_well_known_url = "http://foo/.well-known/openid-configuration" 28 self.source.save() 29 mock.get( 30 self.source.oidc_well_known_url, 31 json={ 32 "authorization_endpoint": "foo", 33 "token_endpoint": "foo", 34 "userinfo_endpoint": "foo", 35 "jwks_uri": "http://foo/jwks", 36 }, 37 ) 38 mock.get("http://foo/jwks", json={"foo": "bar"}) 39 update_well_known_jwks.send() 40 self.source.refresh_from_db() 41 self.assertEqual(self.source.authorization_url, "foo") 42 self.assertEqual(self.source.access_token_url, "foo") 43 self.assertEqual(self.source.profile_url, "foo") 44 self.assertEqual(self.source.oidc_jwks_url, "http://foo/jwks") 45 self.assertEqual( 46 self.source.oidc_jwks, 47 { 48 "foo": "bar", 49 }, 50 )
Test OAuth Source tasks
def
setUp(self) -> None:
14 def setUp(self) -> None: 15 self.source = OAuthSource.objects.create( 16 name="test", 17 slug="test", 18 provider_type="openidconnect", 19 authorization_url="", 20 profile_url="", 21 consumer_key="", 22 )
Hook method for setting up the test fixture before exercising it.
@Mocker()
def
test_well_known_jwks(self, mock: requests_mock.mocker.Mocker):
24 @Mocker() 25 def test_well_known_jwks(self, mock: Mocker): 26 """Test well_known update""" 27 self.source.oidc_well_known_url = "http://foo/.well-known/openid-configuration" 28 self.source.save() 29 mock.get( 30 self.source.oidc_well_known_url, 31 json={ 32 "authorization_endpoint": "foo", 33 "token_endpoint": "foo", 34 "userinfo_endpoint": "foo", 35 "jwks_uri": "http://foo/jwks", 36 }, 37 ) 38 mock.get("http://foo/jwks", json={"foo": "bar"}) 39 update_well_known_jwks.send() 40 self.source.refresh_from_db() 41 self.assertEqual(self.source.authorization_url, "foo") 42 self.assertEqual(self.source.access_token_url, "foo") 43 self.assertEqual(self.source.profile_url, "foo") 44 self.assertEqual(self.source.oidc_jwks_url, "http://foo/jwks") 45 self.assertEqual( 46 self.source.oidc_jwks, 47 { 48 "foo": "bar", 49 }, 50 )
Test well_known update