Coverage for test_checks.py: 100%
16 statements
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-23 11:16 -0600
« prev ^ index » next coverage.py v7.6.9, created at 2024-12-23 11:16 -0600
1from plain.auth import get_user_model
2from plain.oauth.models import OAuthConnection
5def test_oauth_provider_keys_check_pass(db, settings):
6 settings.OAUTH_LOGIN_PROVIDERS = {
7 "google": {
8 "client_id": "test_client_id",
9 "client_secret": "test_client_secret",
10 },
11 "foo": {
12 "client_id": "test_client_id",
13 "client_secret": "test_client_secret",
14 },
15 }
17 user = get_user_model().objects.create(
18 username="test_user", email="test@example.com"
19 )
21 OAuthConnection.objects.create(
22 user=user,
23 provider_key="google",
24 provider_user_id="test_provider_user_id",
25 access_token="test",
26 )
28 errors = OAuthConnection.check(databases=["default"])
29 assert len(errors) == 0
32def test_oauth_provider_keys_check_fail(db, settings):
33 settings.OAUTH_LOGIN_PROVIDERS = {
34 "google": {
35 "client_id": "test_client_id",
36 "client_secret": "test_client_secret",
37 },
38 "foo": {
39 "client_id": "test_client_id",
40 "client_secret": "test_client_secret",
41 },
42 }
44 user = get_user_model().objects.create(
45 username="test_user", email="test@example.com"
46 )
48 OAuthConnection.objects.create(
49 user=user,
50 provider_key="google",
51 provider_user_id="test_provider_user_id",
52 access_token="test",
53 )
54 OAuthConnection.objects.create(
55 user=user,
56 provider_key="bar",
57 provider_user_id="test_provider_user_id",
58 access_token="test",
59 )
61 errors = OAuthConnection.check(databases=["default"])
62 assert len(errors) == 1
63 assert (
64 errors[0].msg
65 == "The following OAuth providers are in the database but not in the settings: bar"
66 )