From 90a2fdb5d3a420e95ba3cfd85a6d50adee5f1d6d Mon Sep 17 00:00:00 2001 From: EdwardWills-nhs Date: Thu, 23 Apr 2026 09:22:28 +0000 Subject: [PATCH 1/4] Testing pipelines From 67f7512b442d091dfd48911aa82598ca61af366f Mon Sep 17 00:00:00 2001 From: EdwardWills-nhs Date: Thu, 23 Apr 2026 09:39:50 +0000 Subject: [PATCH 2/4] [RAA-6713]-[GC]-[Flipped EUOAllowListRequired to true]-[EW] --- tests/conftest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index b452f4c2e..b4def5cfa 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -135,7 +135,7 @@ async def user_restricted_product(client, make_product): "urn:nhsd:apim:user-nhs-id:aal3:e-referrals-service-api", "urn:nhsd:apim:user-nhs-id:aal2:e-referrals-service-api", ], - additional_attributes=[{"name": "EUOAllowlistRequired", "value": "false"}], + additional_attributes=[{"name": "EUOAllowlistRequired", "value": "true"}], ) print(f"product created: {productName}") From 98ed19a636517164819946fb19f5ea2861333cbb Mon Sep 17 00:00:00 2001 From: EdwardWills-nhs Date: Thu, 23 Apr 2026 11:22:38 +0000 Subject: [PATCH 3/4] [RAA-6713]-[GC]-[Flipped EUOAllowListRequired to true]-[EW] --- tests/conftest.py | 7 +++---- tests/integration/test_user_restricted.py | 12 ++++++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index b4def5cfa..765fcc364 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -80,10 +80,9 @@ def asid(is_mocked_environment): ) -@pytest.fixture(scope="session") -def apim_app_flow_vars(allowListodsCode=None): - if allowListodsCode is not None: - return {"ers": {"allowListodsCode": allowListodsCode}} +@pytest.fixture +def apim_app_flow_vars(request): + return getattr(request, "param", None) @pytest.fixture(scope="session") diff --git a/tests/integration/test_user_restricted.py b/tests/integration/test_user_restricted.py index 8d4af58ec..de5f81bc2 100644 --- a/tests/integration/test_user_restricted.py +++ b/tests/integration/test_user_restricted.py @@ -32,12 +32,13 @@ class TestUserRestricted: @pytest.mark.asyncio @pytest.mark.parametrize( - "endpoint_url, is_fhir_4, user, apim_app_flow_vars ", + "endpoint_url, is_fhir_4, user, apim_app_flow_vars", [ ("", False, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ("/FHIR/R4/", True, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ("/FHIR/STU3/", False, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ], + indirect=["apim_app_flow_vars"], ) async def test_user_restricted_valid_ods_code( self, @@ -76,12 +77,13 @@ async def test_user_restricted_valid_ods_code( @pytest.mark.asyncio @pytest.mark.parametrize( - "endpoint_url, is_fhir_4, user ,apim_app_flow_vars", + "endpoint_url, is_fhir_4, user, apim_app_flow_vars", [ ("", False, Actor.RC_DEV, ["invalid_code"]), ("/FHIR/R4/", True, Actor.RC_DEV, ["invalid_code"]), ("/FHIR/STU3/", False, Actor.RC_DEV, ["invalid_code"]), ], + indirect=["apim_app_flow_vars"], ) async def test_user_restricted_invalid_ods_code( self, @@ -145,12 +147,13 @@ async def test_user_restricted_invalid_ods_code( @pytest.mark.asyncio @pytest.mark.parametrize( - "endpoint_url, is_fhir_4, user ,apim_app_flow_vars", + "endpoint_url, is_fhir_4, user, apim_app_flow_vars", [ ("", False, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ("/FHIR/R4/", True, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ("/FHIR/STU3/", False, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ], + indirect=["apim_app_flow_vars"], ) async def test_user_restricted_missing_ods_header( self, @@ -215,12 +218,13 @@ async def test_user_restricted_missing_ods_header( @pytest.mark.asyncio @pytest.mark.parametrize( - "endpoint_url, is_fhir_4, user ,apim_app_flow_vars", + "endpoint_url, is_fhir_4, user, apim_app_flow_vars", [ ("", False, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ("/FHIR/R4/", True, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ("/FHIR/STU3/", False, Actor.RC_DEV, [Actor.RC_DEV.org_code]), ], + indirect=["apim_app_flow_vars"], ) async def test_user_restricted_missing_ods_code( self, From ad46b1f01fcfb7870847924921403537cdbe84cb Mon Sep 17 00:00:00 2001 From: EdwardWills-nhs Date: Thu, 23 Apr 2026 12:55:43 +0000 Subject: [PATCH 4/4] [RAA-6713]-[GC]-[Flipped EUOAllowListRequired to true]-[EW] --- tests/conftest.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index 765fcc364..98db87f4d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -134,7 +134,6 @@ async def user_restricted_product(client, make_product): "urn:nhsd:apim:user-nhs-id:aal3:e-referrals-service-api", "urn:nhsd:apim:user-nhs-id:aal2:e-referrals-service-api", ], - additional_attributes=[{"name": "EUOAllowlistRequired", "value": "true"}], ) print(f"product created: {productName}") @@ -287,14 +286,13 @@ async def user_restricted_app( client, make_app, user_restricted_product, asid, apim_app_flow_vars ): # Setup + app_attrs = {"asid": asid} if apim_app_flow_vars is not None: odslist = json.dumps({"ers": {"allowListodsCode": apim_app_flow_vars}}) - app = await make_app( - user_restricted_product, - {"asid": asid, "apim-app-flow-vars": odslist}, - ) - else: - app = await make_app(user_restricted_product, {"asid": asid}) + app_attrs["apim-app-flow-vars"] = odslist + app_attrs["EUOAllowlistRequired"] = "true" + + app = await make_app(user_restricted_product, app_attrs) appName = app["name"] print(f"App created: {appName}")