Skip to content

Commit 7f24088

Browse files
authored
changing capabilities and scope for smart config (#1324)
* changing capabilities and scope for smart config * added smart config test
1 parent fe14fcd commit 7f24088

File tree

2 files changed

+43
-8
lines changed

2 files changed

+43
-8
lines changed

apps/wellknown/views/openid.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,19 @@
1616
"patient/Patient.read",
1717
"patient/ExplanationOfBenefit.read",
1818
"patient/Coverage.read",
19-
"patient/Patient.r",
20-
"patient/ExplanationOfBenefit.r",
21-
"patient/Coverage.r",
22-
"patient/Patient.s",
23-
"patient/ExplanationOfBenefit.s",
24-
"patient/Coverage.s",
2519
"patient/Patient.rs",
2620
"patient/ExplanationOfBenefit.rs",
2721
"patient/Coverage.rs",
2822
]
2923
CODE_CHALLENGE_METHODS_SUPPORTED = ["S256"]
3024
CAPABILITIES = [
3125
"client-confidential-symmetric",
32-
"client-confidential-asymmetric",
3326
"context-standalone-patient",
3427
"launch-standalone",
3528
"permission-offline",
3629
"permission-patient",
3730
"permission-v1",
31+
"permission-v2",
3832
"authorize-post"
3933
]
4034

hhs_oauth_server/tests.py

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
"""
88

99
from django.test import TestCase
10-
10+
from django.test.client import Client
11+
from django.urls import reverse
12+
import json
1113
from apps.logging.sensitive_logging_filters import mask_mbi
1214

1315

@@ -314,3 +316,42 @@ def test_mbi_match(self):
314316
self.assertNotIn('***MBI***', masked_mbi_lowercase_text)
315317
self.assertIn(mbi_value, masked_uppercase_text)
316318
self.assertIn(mbi_value.lower(), masked_mbi_lowercase_text)
319+
320+
321+
class SmartConfigurationTestCase(TestCase):
322+
323+
def setUp(self):
324+
self.client = Client()
325+
self.smart_url = reverse('smart_configuration')
326+
327+
def test_valid_smart_config_response(self):
328+
CAPABILITIES = [
329+
"client-confidential-symmetric",
330+
"context-standalone-patient",
331+
"launch-standalone",
332+
"permission-offline",
333+
"permission-patient",
334+
"permission-v1",
335+
"permission-v2",
336+
"authorize-post"
337+
]
338+
339+
SCOPES_SUPPORTED = [
340+
"openid",
341+
"profile",
342+
"launch/patient",
343+
"patient/Patient.read",
344+
"patient/ExplanationOfBenefit.read",
345+
"patient/Coverage.read",
346+
"patient/Patient.rs",
347+
"patient/ExplanationOfBenefit.rs",
348+
"patient/Coverage.rs",
349+
]
350+
response = self.client.get(self.smart_url)
351+
response_json = response.json()
352+
response_content = response.content
353+
response_content = str(response_content, encoding='utf8')
354+
self.assertEqual(response.status_code, 200)
355+
self.assertEqual(type(json.loads(response_content)), type({}))
356+
self.assertCountEqual(response_json['capabilities'], CAPABILITIES)
357+
self.assertCountEqual(response_json['scopes_supported'], SCOPES_SUPPORTED)

0 commit comments

Comments
 (0)