Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 8 additions & 11 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down Expand Up @@ -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}")
Expand Down Expand Up @@ -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}")
Expand Down
12 changes: 8 additions & 4 deletions tests/integration/test_user_restricted.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down