Skip to content

Commit 5d228e9

Browse files
committed
NPA-4689 Apply Refactoring to Unit Tests
1 parent 0eb6eb7 commit 5d228e9

16 files changed

+491
-669
lines changed

sandbox/api/constants.py

Lines changed: 22 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010

1111
# Common examples
1212
INTERNAL_SERVER_ERROR_EXAMPLE = "./api/examples/errors/internal-server-error.yaml"
13-
BAD_REQUEST_INCLUDE_PARAM_INVALID = (
14-
"./api/examples/errors/invalid-include-parameter.yaml"
15-
)
13+
BAD_REQUEST_INCLUDE_PARAM_INVALID = "./api/examples/errors/invalid-include-parameter.yaml"
1614
INVALIDATED_RESOURCE = "./api/examples/errors/invalidated-resource.yaml"
1715
MISSING_IDENTIFIER = "./api/examples/errors/missing-identifier.yaml"
1816
INVALID_IDENTIFIER = "./api/examples/errors/invalid-identifier.yaml"
@@ -28,9 +26,7 @@
2826
GET_CONSENT__FILTERED_RELATIONSHIPS_STATUS_PROPOSED_ACTIVE = (
2927
f"{GET_CONSENT__DIRECTORY}filtered-relationships-status-proposed-active.yaml"
3028
)
31-
GET_CONSENT__MULTIPLE_RELATIONSHIPS = (
32-
f"{GET_CONSENT__DIRECTORY}multiple-relationships.yaml"
33-
)
29+
GET_CONSENT__MULTIPLE_RELATIONSHIPS = f"{GET_CONSENT__DIRECTORY}multiple-relationships.yaml"
3430
GET_CONSENT__MULTIPLE_RELATIONSHIPS_INCLUDE_BOTH = (
3531
f"{GET_CONSENT__DIRECTORY}multiple-relationships-include-performer-patient.yaml"
3632
)
@@ -41,71 +37,43 @@
4137
f"{GET_CONSENT__DIRECTORY}multiple-relationships-include-performer.yaml"
4238
)
4339
GET_CONSENT__NO_RELATIONSHIPS = f"{GET_CONSENT__DIRECTORY}no-relationships.yaml"
44-
GET_CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP = (
45-
f"{GET_CONSENT__DIRECTORY}single-consenting-adult-relationship.yaml"
40+
GET_CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP = f"{GET_CONSENT__DIRECTORY}single-consenting-adult-relationship.yaml"
41+
GET_CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_BOTH = (
42+
f"{GET_CONSENT__DIRECTORY}single-consenting-adult-relationship-include-performer-patient.yaml"
4643
)
47-
GET_CONSENT__SINGLE_CONSENTING_ADULT_RELATIONSHIP_INCLUDE_BOTH = f"{GET_CONSENT__DIRECTORY}single-consenting-adult-relationship-include-performer-patient.yaml"
48-
GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP = (
49-
f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship.yaml"
50-
)
51-
GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH = f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-include-performer-patient.yaml"
52-
GET_CONSENT__STATUS_PARAM_INVALID = (
53-
f"{GET_CONSENT__DIRECTORY}errors/invalid-status-parameter.yaml"
44+
GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP = f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship.yaml"
45+
GET_CONSENT__SINGLE_MOTHER_CHILD_RELATIONSHIP_INCLUDE_BOTH = (
46+
f"{GET_CONSENT__DIRECTORY}single-mother-child-relationship-include-performer-patient.yaml"
5447
)
48+
GET_CONSENT__STATUS_PARAM_INVALID = f"{GET_CONSENT__DIRECTORY}errors/invalid-status-parameter.yaml"
5549

5650
# POST Consent
5751
POST_CONSENT__DIRECTORY = "./api/examples/POST_Consent/"
5852
POST_CONSENT__SUCCESS = f"{POST_CONSENT__DIRECTORY}success.yaml"
59-
POST_CONSENT__DUPLICATE_RELATIONSHIP_ERROR = (
60-
f"{POST_CONSENT__DIRECTORY}errors/duplicate_relationship_error.yaml"
61-
)
62-
POST_CONSENT__PERFORMER_IDENTIFIER_ERROR = (
63-
f"{POST_CONSENT__DIRECTORY}errors/invalid_performer_identifier_error.yaml"
64-
)
53+
POST_CONSENT__DUPLICATE_RELATIONSHIP_ERROR = f"{POST_CONSENT__DIRECTORY}errors/duplicate_relationship_error.yaml"
54+
POST_CONSENT__PERFORMER_IDENTIFIER_ERROR = f"{POST_CONSENT__DIRECTORY}errors/invalid_performer_identifier_error.yaml"
6555

6656
# PATCH Consent
6757
PATCH_CONSENT__DIRECTORY = "./api/examples/PATCH_Consent/"
6858
PATCH_CONSENT__SUCCESS = f"{PATCH_CONSENT__DIRECTORY}success.yaml"
69-
PATCH_CONSENT__INVALID_PATCH_FORMAT = (
70-
f"{PATCH_CONSENT__DIRECTORY}errors/invalid_patch_format.yaml"
71-
)
59+
PATCH_CONSENT__INVALID_PATCH_FORMAT = f"{PATCH_CONSENT__DIRECTORY}errors/invalid_patch_format.yaml"
7260
PATCH_CONSENT__INVALID_PATH = f"{PATCH_CONSENT__DIRECTORY}errors/invalid_path.yaml"
73-
PATCH_CONSENT__INVALID_STATUS_CODE = (
74-
f"{PATCH_CONSENT__DIRECTORY}errors/invalid_status_code.yaml"
75-
)
76-
PATCH_CONSENT__RESOURCE_NOT_FOUND = (
77-
f"{PATCH_CONSENT__DIRECTORY}errors/resource_not_found.yaml"
78-
)
79-
PATCH_CONSENT__INVALID_STATE_TRANSITION = (
80-
f"{PATCH_CONSENT__DIRECTORY}errors/invalid_state_transition.yaml"
81-
)
61+
PATCH_CONSENT__INVALID_STATUS_CODE = f"{PATCH_CONSENT__DIRECTORY}errors/invalid_status_code.yaml"
62+
PATCH_CONSENT__RESOURCE_NOT_FOUND = f"{PATCH_CONSENT__DIRECTORY}errors/resource_not_found.yaml"
63+
PATCH_CONSENT__INVALID_STATE_TRANSITION = f"{PATCH_CONSENT__DIRECTORY}errors/invalid_state_transition.yaml"
8264

8365
QR_DIRECTORY = "./api/examples/POST_QuestionnaireResponse/"
8466
QUESTIONNAIRE_RESPONSE__SUCCESS = f"{QR_DIRECTORY}success.yaml"
8567

8668
RELATED_DIRECTORY = "./api/examples/GET_RelatedPerson/"
87-
RELATED__ERROR_IDENTIFIER_MISSING = (
88-
f"{RELATED_DIRECTORY}errors/invalid-identifier-missing.yaml"
89-
)
90-
RELATED__ERROR_IDENTIFIER_SYSTEM = (
91-
f"{RELATED_DIRECTORY}errors/invalid-identifier-system.yaml"
92-
)
69+
RELATED__ERROR_IDENTIFIER_MISSING = f"{RELATED_DIRECTORY}errors/invalid-identifier-missing.yaml"
70+
RELATED__ERROR_IDENTIFIER_SYSTEM = f"{RELATED_DIRECTORY}errors/invalid-identifier-system.yaml"
9371
RELATED__ERROR_IDENTIFIER = f"{RELATED_DIRECTORY}errors/invalid-identifier.yaml"
9472
RELATED__EMPTY_RESPONSE = f"{RELATED_DIRECTORY}empty_response.yaml"
9573
RELATED__LIST_RELATIONSHIP = f"{RELATED_DIRECTORY}list_relationship_9000000017.yaml"
96-
RELATED__LIST_RELATIONSHIP_WITH_INCLUDE = (
97-
f"{RELATED_DIRECTORY}list_relationship_9000000017_include.yaml"
98-
)
99-
RELATED__VERIFY_RELATIONSHIP_09 = (
100-
f"{RELATED_DIRECTORY}verify_relationship_9000000009.yaml"
101-
)
102-
RELATED__VERIFY_RELATIONSHIP_09_WITH_INCLUDE = (
103-
f"{RELATED_DIRECTORY}verify_relationship_9000000009_include.yaml"
104-
)
105-
RELATED__VERIFY_RELATIONSHIP_25 = (
106-
f"{RELATED_DIRECTORY}verify_relationship_9000000025.yaml"
107-
)
108-
RELATED__VERIFY_RELATIONSHIP_25_WITH_INCLUDE = (
109-
f"{RELATED_DIRECTORY}verify_relationship_9000000025_include.yaml"
110-
)
74+
RELATED__LIST_RELATIONSHIP_WITH_INCLUDE = f"{RELATED_DIRECTORY}list_relationship_9000000017_include.yaml"
75+
RELATED__VERIFY_RELATIONSHIP_09 = f"{RELATED_DIRECTORY}verify_relationship_9000000009.yaml"
76+
RELATED__VERIFY_RELATIONSHIP_09_WITH_INCLUDE = f"{RELATED_DIRECTORY}verify_relationship_9000000009_include.yaml"
77+
RELATED__VERIFY_RELATIONSHIP_25 = f"{RELATED_DIRECTORY}verify_relationship_9000000025.yaml"
78+
RELATED__VERIFY_RELATIONSHIP_25_WITH_INCLUDE = f"{RELATED_DIRECTORY}verify_relationship_9000000025_include.yaml"
11179
RELATED__EMPTY_RESPONSE = f"{RELATED_DIRECTORY}empty_response_9000000033.yaml"

sandbox/api/get_consent.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
INVALIDATED_RESOURCE,
2121
)
2222
from .utils import (
23-
check_for_consent_errors,
23+
check_for_get_consent_errors,
2424
check_for_consent_filtering,
2525
check_for_consent_include_params,
2626
generate_response_from_example,
@@ -39,7 +39,7 @@ def get_consent_response() -> Union[dict, tuple]:
3939
"""
4040
try:
4141
# Check Headers
42-
if errors := check_for_consent_errors(request):
42+
if errors := check_for_get_consent_errors(request):
4343
return errors
4444

4545
performer_identifier = remove_system(request.args.get("performer:identifier"))

sandbox/api/patch_consent.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,31 +44,23 @@ def patch_consent_response(identifier: str) -> Union[dict, tuple]:
4444

4545
elif identifier == "3a2679eb":
4646
# Invalid patch format
47-
return generate_response_from_example(
48-
PATCH_CONSENT__INVALID_PATCH_FORMAT, 400
49-
)
47+
return generate_response_from_example(PATCH_CONSENT__INVALID_PATCH_FORMAT, 400)
5048

5149
elif identifier == "94df7c8f":
5250
# Invalid path
5351
return generate_response_from_example(PATCH_CONSENT__INVALID_PATH, 400)
5452

5553
elif identifier == "2a7b736d":
5654
# Invalid status code
57-
return generate_response_from_example(
58-
PATCH_CONSENT__INVALID_STATUS_CODE, 422
59-
)
55+
return generate_response_from_example(PATCH_CONSENT__INVALID_STATUS_CODE, 422)
6056

6157
elif identifier == "6fb4361b":
6258
# Invalid state transition
63-
return generate_response_from_example(
64-
PATCH_CONSENT__INVALID_STATE_TRANSITION, 422
65-
)
59+
return generate_response_from_example(PATCH_CONSENT__INVALID_STATE_TRANSITION, 422)
6660

6761
else:
6862
# Resource not found
69-
return generate_response_from_example(
70-
PATCH_CONSENT__RESOURCE_NOT_FOUND, 404
71-
)
63+
return generate_response_from_example(PATCH_CONSENT__RESOURCE_NOT_FOUND, 404)
7264

7365
except Exception:
7466
# Handle any general error

sandbox/api/post_consent.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@
1111
)
1212
from .utils import generate_response_from_example
1313

14-
CONSENT_APP_BASE_PATH = (
15-
"https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent"
16-
)
14+
CONSENT_APP_BASE_PATH = "https://sandbox.api.service.nhs.uk/validated-relationships/FHIR/R4/Consent"
1715
basicConfig(level=INFO, format="%(asctime)s - %(message)s")
1816
logger = getLogger(__name__)
1917

@@ -35,20 +33,14 @@ def post_consent_response() -> Union[dict, tuple]:
3533
# Successful adult-adult proxy creation
3634
if patient_identifier == "9000000009" or patient_identifier == "9000000017":
3735
header = {"location": f"{CONSENT_APP_BASE_PATH}/{patient_identifier}"}
38-
response = generate_response_from_example(
39-
POST_CONSENT__SUCCESS, 201, headers=header
40-
)
36+
response = generate_response_from_example(POST_CONSENT__SUCCESS, 201, headers=header)
4137

4238
# Duplicate relationship
4339
elif patient_identifier == "9000000049":
44-
response = generate_response_from_example(
45-
POST_CONSENT__DUPLICATE_RELATIONSHIP_ERROR, 409
46-
)
40+
response = generate_response_from_example(POST_CONSENT__DUPLICATE_RELATIONSHIP_ERROR, 409)
4741
# Invalid performer NHS number
4842
elif patient_identifier == "9000000000":
49-
response = generate_response_from_example(
50-
POST_CONSENT__PERFORMER_IDENTIFIER_ERROR, 422
51-
)
43+
response = generate_response_from_example(POST_CONSENT__PERFORMER_IDENTIFIER_ERROR, 422)
5244
else:
5345
# Out of scope errors
5446
raise ValueError("Invalid Request")

sandbox/api/tests/conftest.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22

33
from ..app import app
44

5-
FHIR_PATH = "/FHIR/R4"
6-
RELATED_PERSON_API_ENDPOINT = f"{FHIR_PATH}/RelatedPerson"
7-
QUESTIONNAIRE_RESPONSE_API_ENDPOINT = f"{FHIR_PATH}/QuestionnaireResponse"
8-
CONSENT_API_ENDPOINT = f"{FHIR_PATH}/Consent"
9-
105

116
@pytest.fixture()
127
def client() -> object:

0 commit comments

Comments
 (0)