Skip to content
Merged
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
8 changes: 4 additions & 4 deletions src/eligibility_signposting_api/views/eligibility.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from fhir.resources.R4B.operationoutcome import OperationOutcome, OperationOutcomeIssue
from fhir.resources.R4B.requestgroup import RequestGroup
from fhir.resources.R4B.task import Task
from flask import Blueprint, make_response, request
from flask import Blueprint, make_response
from flask.typing import ResponseReturnValue
from wireup import Injected

Expand All @@ -19,9 +19,9 @@
eligibility_blueprint = Blueprint("eligibility", __name__)


@eligibility_blueprint.get("/")
def check_eligibility(eligibility_service: Injected[EligibilityService]) -> ResponseReturnValue:
nhs_number = NHSNumber(request.args.get("nhs_number", ""))
@eligibility_blueprint.get("/", defaults={"nhs_number": ""})
@eligibility_blueprint.get("/<nhs_number>")
def check_eligibility(nhs_number: NHSNumber, eligibility_service: Injected[EligibilityService]) -> ResponseReturnValue:
logger.debug("checking nhs_number %r in %r", nhs_number, eligibility_service, extra={"nhs_number": nhs_number})
try:
eligibility_status = eligibility_service.get_eligibility_status(nhs_number)
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/in_process/test_eligibility_endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def test_nhs_number_given(
nhs_number, date_of_birth, postcode = persisted_person

# When
response = client.get(f"/eligibility/?nhs_number={nhs_number}")
response = client.get(f"/eligibility/{nhs_number}")

# Then
assert_that(
Expand Down
17 changes: 11 additions & 6 deletions tests/integration/lambda/test_app_running_as_lambda.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,18 @@ def test_install_and_call_lambda_flask(
request_payload = {
"version": "2.0",
"routeKey": "GET /",
"rawPath": "/eligibility/",
"rawQueryString": f"nhs_number={nhs_number}",
"rawPath": "/",
"rawQueryString": "",
"headers": {"accept": "application/json", "content-type": "application/json"},
"requestContext": {
"http": {"sourceIp": "192.0.0.1", "method": "GET", "path": "/eligibility/", "protocol": "HTTP/1.1"}
"http": {
"sourceIp": "192.0.0.1",
"method": "GET",
"path": f"/eligibility/{nhs_number}",
"protocol": "HTTP/1.1",
}
},
"queryStringParameters": {"nhs_number": nhs_number},
"queryStringParameters": {},
"body": None,
"isBase64Encoded": False,
}
Expand Down Expand Up @@ -73,7 +78,7 @@ def test_install_and_call_flask_lambda_over_http(
nhs_number, date_of_birth, postcode = persisted_person

# When
response = httpx.get(str(flask_function_url / "eligibility" / "" % {"nhs_number": nhs_number}))
response = httpx.get(str(flask_function_url / "eligibility" / nhs_number))

# Then
assert_that(
Expand All @@ -94,7 +99,7 @@ def test_install_and_call_flask_lambda_with_unknown_nhs_number(
nhs_number = NHSNumber(f"5{faker.random_int(max=999999999):09d}")

# When
response = httpx.get(str(flask_function_url / "eligibility" / "" % {"nhs_number": nhs_number}))
response = httpx.get(str(flask_function_url / "eligibility" / nhs_number))

# Then
assert_that(
Expand Down
4 changes: 2 additions & 2 deletions tests/unit/views/test_eligibility.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def test_nhs_number_given(app: Flask, client: FlaskClient):
# Given
with get_app_container(app).override.service(EligibilityService, new=FakeEligibilityService()):
# When
response = client.get("/eligibility/?nhs_number=12345")
response = client.get("/eligibility/12345")

# Then
assert_that(
Expand Down Expand Up @@ -80,7 +80,7 @@ def test_no_nhs_number_given(app: Flask, client: FlaskClient):
def test_unexpected_error(app: Flask, client: FlaskClient):
# Given
with get_app_container(app).override.service(EligibilityService, new=FakeUnexpectedErrorEligibilityService()):
response = client.get("/eligibility/?nhs_number=12345")
response = client.get("/eligibility/12345")
assert_that(
response,
is_response()
Expand Down
Loading