diff --git a/tests/conftest.py b/tests/conftest.py index b452f4c2e..98db87f4d 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") @@ -135,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": "false"}], ) print(f"product created: {productName}") @@ -288,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}") 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,