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