Skip to content

Commit 06e1738

Browse files
adds EUOAllowlistRequired to test product
1 parent 49e5f98 commit 06e1738

File tree

2 files changed

+42
-35
lines changed

2 files changed

+42
-35
lines changed

tests/conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,7 @@ async def _make_product(product_scopes):
251251
product_name = f"apim-auto-{uuid4()}"
252252
attributes = [
253253
{"name": "access", "value": "public"},
254+
{"name": "EUOAllowlistRequired", "value": "false"},
254255
{"name": "ratelimit", "value": "10ps"},
255256
]
256257
body = {

tests/integration/test_headers.py

Lines changed: 41 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@
2525

2626
_SPECIALTY_REF_DATA_URL = "/FHIR/STU3/CodeSystem/SPECIALTY"
2727
_SEARCH_HEALTHCARE_SERVICE_R4_URL = "/FHIR/R4/HealthcareService"
28+
_APIM_APP_FLOW_VARS = (
29+
'{"ers": {"allowListodsCode": [ ' + app_restricted_ods_code + "]}}"
30+
)
2831

2932

3033
@pytest.mark.integration_test
@@ -34,44 +37,47 @@ class TestHeaders:
3437
async def test_headers_on_echo_target(
3538
self, authenticate_user, service_url, user: Actor, asid
3639
):
37-
access_code = await authenticate_user(user)
40+
with update_user_restricted_app_attr("apim-app-flow-vars", _APIM_APP_FLOW_VARS):
41+
access_code = await authenticate_user(user)
3842

39-
client_request_headers = {
40-
_HEADER_ECHO: "", # enable echo target
41-
_HEADER_AUTHORIZATION: "Bearer " + access_code,
42-
_HEADER_REQUEST_ID: "DUMMY-VALUE",
43-
RenamedHeader.REFERRAL_ID.original: _EXPECTED_REFERRAL_ID,
44-
RenamedHeader.CORRELATION_ID.original: _EXPECTED_CORRELATION_ID,
45-
RenamedHeader.BUSINESS_FUNCTION.original: user.business_function,
46-
RenamedHeader.ODS_CODE.original: user.org_code,
47-
RenamedHeader.FILENAME.original: _EXPECTED_FILENAME,
48-
RenamedHeader.COMM_RULE_ORG.original: _EXPECTED_COMM_RULE_ORG,
49-
RenamedHeader.OBO_USER_ID.original: _EXPECTED_OBO_USER_ID,
50-
}
43+
print(f"new attribute apim-app-flow-vars: {_APIM_APP_FLOW_VARS}")
5144

52-
# Make the API call
53-
response = requests.get(service_url, headers=client_request_headers)
45+
client_request_headers = {
46+
_HEADER_ECHO: "", # enable echo target
47+
_HEADER_AUTHORIZATION: "Bearer " + access_code,
48+
_HEADER_REQUEST_ID: "DUMMY-VALUE",
49+
RenamedHeader.REFERRAL_ID.original: _EXPECTED_REFERRAL_ID,
50+
RenamedHeader.CORRELATION_ID.original: _EXPECTED_CORRELATION_ID,
51+
RenamedHeader.BUSINESS_FUNCTION.original: user.business_function,
52+
RenamedHeader.ODS_CODE.original: user.org_code,
53+
RenamedHeader.FILENAME.original: _EXPECTED_FILENAME,
54+
RenamedHeader.COMM_RULE_ORG.original: _EXPECTED_COMM_RULE_ORG,
55+
RenamedHeader.OBO_USER_ID.original: _EXPECTED_OBO_USER_ID,
56+
}
5457

55-
expected_aal = (
56-
"3"
57-
if user.authentication_assurance_level == UserAuthenticationLevel.AAL3
58-
else "2"
59-
)
60-
expected_amr = (
61-
"[N3_SMARTCARD]"
62-
if user.authentication_assurance_level == UserAuthenticationLevel.AAL3
63-
else "[TOTP]"
64-
)
58+
# Make the API call
59+
response = requests.get(service_url, headers=client_request_headers)
6560

66-
self.assert_ok_echo_response(
67-
response,
68-
service_url,
69-
user,
70-
asid,
71-
_EXPECTED_FILENAME,
72-
expected_aal,
73-
expected_amr,
74-
)
61+
expected_aal = (
62+
"3"
63+
if user.authentication_assurance_level == UserAuthenticationLevel.AAL3
64+
else "2"
65+
)
66+
expected_amr = (
67+
"[N3_SMARTCARD]"
68+
if user.authentication_assurance_level == UserAuthenticationLevel.AAL3
69+
else "[TOTP]"
70+
)
71+
72+
self.assert_ok_echo_response(
73+
response,
74+
service_url,
75+
user,
76+
asid,
77+
_EXPECTED_FILENAME,
78+
expected_aal,
79+
expected_amr,
80+
)
7581

7682
@pytest.mark.asyncio
7783
@pytest.mark.parametrize(
@@ -475,7 +481,7 @@ def test_unknown_access_code(
475481
assert renamed_header.renamed not in client_response_headers
476482

477483
@pytest.mark.asyncio
478-
@pytest.mark.parametrize("service_name", [(None)])
484+
@pytest.mark.parametrize("service_name", [None])
479485
async def test_access_code_not_supported(
480486
self, referring_clinician, authenticate_user, service_url
481487
):

0 commit comments

Comments
 (0)