authentik.sources.oauth.tests.test_type_patreon
Patreon Type tests
1"""Patreon Type tests""" 2 3from django.test import TestCase 4 5from authentik.sources.oauth.models import OAuthSource 6from authentik.sources.oauth.types.patreon import PatreonType 7 8PATREON_USER = { 9 "data": { 10 "attributes": { 11 "about": None, 12 "created": "2017-10-20T21:36:23+00:00", 13 "discord_id": None, 14 "email": "corgi@example.com", 15 "facebook": None, 16 "facebook_id": None, 17 "first_name": "Corgi", 18 "full_name": "Corgi The Dev", 19 "gender": 0, 20 "has_password": True, 21 "image_url": "https://c8.patreon.com/2/400/0000000", 22 "is_deleted": False, 23 "is_email_verified": False, 24 "is_nuked": False, 25 "is_suspended": False, 26 "last_name": "The Dev", 27 "social_connections": { 28 "deviantart": None, 29 "discord": None, 30 "facebook": None, 31 "reddit": None, 32 "spotify": None, 33 "twitch": None, 34 "twitter": None, 35 "youtube": None, 36 }, 37 "thumb_url": "https://c8.patreon.com/2/100/0000000", 38 "twitch": None, 39 "twitter": None, 40 "url": "https://www.patreon.com/corgithedev", 41 "vanity": "corgithedev", 42 "youtube": None, 43 }, 44 "id": "0000000", 45 "relationships": {"pledges": {"data": []}}, 46 "type": "user", 47 }, 48 "links": {"self": "https://www.patreon.com/api/user/0000000"}, 49} 50 51 52class TestTypePatreon(TestCase): 53 """OAuth Source tests""" 54 55 def setUp(self): 56 self.source = OAuthSource.objects.create( 57 name="test", 58 slug="test", 59 provider_type="Patreon", 60 ) 61 62 def test_enroll_context(self): 63 """Test Patreon Enrollment context""" 64 ak_context = PatreonType().get_base_user_properties(source=self.source, info=PATREON_USER) 65 self.assertEqual(ak_context["username"], PATREON_USER["data"]["attributes"]["vanity"]) 66 self.assertEqual(ak_context["email"], PATREON_USER["data"]["attributes"]["email"]) 67 self.assertEqual(ak_context["name"], PATREON_USER["data"]["attributes"]["full_name"])
PATREON_USER =
{'data': {'attributes': {'about': None, 'created': '2017-10-20T21:36:23+00:00', 'discord_id': None, 'email': 'corgi@example.com', 'facebook': None, 'facebook_id': None, 'first_name': 'Corgi', 'full_name': 'Corgi The Dev', 'gender': 0, 'has_password': True, 'image_url': 'https://c8.patreon.com/2/400/0000000', 'is_deleted': False, 'is_email_verified': False, 'is_nuked': False, 'is_suspended': False, 'last_name': 'The Dev', 'social_connections': {'deviantart': None, 'discord': None, 'facebook': None, 'reddit': None, 'spotify': None, 'twitch': None, 'twitter': None, 'youtube': None}, 'thumb_url': 'https://c8.patreon.com/2/100/0000000', 'twitch': None, 'twitter': None, 'url': 'https://www.patreon.com/corgithedev', 'vanity': 'corgithedev', 'youtube': None}, 'id': '0000000', 'relationships': {'pledges': {'data': []}}, 'type': 'user'}, 'links': {'self': 'https://www.patreon.com/api/user/0000000'}}
class
TestTypePatreon(django.test.testcases.TestCase):
53class TestTypePatreon(TestCase): 54 """OAuth Source tests""" 55 56 def setUp(self): 57 self.source = OAuthSource.objects.create( 58 name="test", 59 slug="test", 60 provider_type="Patreon", 61 ) 62 63 def test_enroll_context(self): 64 """Test Patreon Enrollment context""" 65 ak_context = PatreonType().get_base_user_properties(source=self.source, info=PATREON_USER) 66 self.assertEqual(ak_context["username"], PATREON_USER["data"]["attributes"]["vanity"]) 67 self.assertEqual(ak_context["email"], PATREON_USER["data"]["attributes"]["email"]) 68 self.assertEqual(ak_context["name"], PATREON_USER["data"]["attributes"]["full_name"])
OAuth Source tests
def
setUp(self):
56 def setUp(self): 57 self.source = OAuthSource.objects.create( 58 name="test", 59 slug="test", 60 provider_type="Patreon", 61 )
Hook method for setting up the test fixture before exercising it.
def
test_enroll_context(self):
63 def test_enroll_context(self): 64 """Test Patreon Enrollment context""" 65 ak_context = PatreonType().get_base_user_properties(source=self.source, info=PATREON_USER) 66 self.assertEqual(ak_context["username"], PATREON_USER["data"]["attributes"]["vanity"]) 67 self.assertEqual(ak_context["email"], PATREON_USER["data"]["attributes"]["email"]) 68 self.assertEqual(ak_context["name"], PATREON_USER["data"]["attributes"]["full_name"])
Test Patreon Enrollment context