Skip to content

Commit dfcff79

Browse files
ELI-578 added dummy consumer id
1 parent 09ffcff commit dfcff79

File tree

6 files changed

+18
-14
lines changed

6 files changed

+18
-14
lines changed

src/eligibility_signposting_api/model/consumer_mapping.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66

77
ConsumerId = NewType("ConsumerId", str)
88

9-
class ConsumerMapping(RootModel[dict[str, list[CampaignID]]]):
10-
def get(self, key: str, default: list[CampaignID] | None = None) -> list[CampaignID] | None:
9+
class ConsumerMapping(RootModel[dict[ConsumerId, list[CampaignID]]]):
10+
def get(self, key: ConsumerId, default: list[CampaignID] | None = None) -> list[CampaignID] | None:
1111
return self.root.get(key, default)

src/eligibility_signposting_api/repos/consumer_mapping_repo.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,11 @@ def __init__(
2525
self.s3_client = s3_client
2626
self.bucket_name = bucket_name
2727

28-
def get_sanctioned_campaign_ids(self, consumer_id: ConsumerId) -> list[CampaignID] | None:
29-
consumer_mappings = self.s3_client.list_objects(Bucket=self.bucket_name)["Contents"][0]
30-
response = self.s3_client.get_object(Bucket=self.bucket_name, Key=f"{consumer_mappings['Key']}")
31-
body = response["Body"].read()
32-
return ConsumerMapping.model_validate(json.loads(body)).get(consumer_id)
28+
# def get_permitted_campaign_ids(self, consumer_id: ConsumerId) -> list[CampaignID] | None:
29+
# consumer_mappings = self.s3_client.list_objects(Bucket=self.bucket_name)["Contents"][0]
30+
# response = self.s3_client.get_object(Bucket=self.bucket_name, Key=f"{consumer_mappings['Key']}")
31+
# body = response["Body"].read()
32+
# return ConsumerMapping.model_validate(json.loads(body)).get(consumer_id)
33+
34+
def get_permitted_campaign_ids(self, consumer_id: ConsumerId) -> list[CampaignID] | None:
35+
return ["324r2"]

src/eligibility_signposting_api/services/eligibility_services.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,17 @@ def get_eligibility_status(
4747
try:
4848
person_data = self.person_repo.get_eligibility_data(nhs_number)
4949
campaign_configs = list(self.campaign_repo.get_campaign_configs())
50-
consumer_mappings = self.consumer_mapping.get_sanctioned_campaign_ids(consumer_id)
51-
sanctioned_campaign_ids: list[CampaignConfig] = [
50+
permitted_campaign_ids = self.consumer_mapping.get_permitted_campaign_ids(consumer_id)
51+
permitted_campaign_configs: list[CampaignConfig] = [
5252
campaign for campaign in campaign_configs
53-
if campaign.id in consumer_mappings
53+
if campaign.id in permitted_campaign_ids
5454
]
5555

5656
except NotFoundError as e:
5757
raise UnknownPersonError from e
5858
else:
5959
calc: calculator.EligibilityCalculator = self.calculator_factory.get(person_data,
60-
sanctioned_campaign_ids)
60+
permitted_campaign_configs)
6161
return calc.get_eligibility_status(include_actions, conditions, category)
6262

6363
raise UnknownPersonError # pragma: no cover

src/eligibility_signposting_api/views/eligibility.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def check_eligibility(
5454
query_params["includeActions"],
5555
query_params["conditions"],
5656
query_params["category"],
57-
request.headers.get("X-Correlation-ID"),
57+
request.headers.get("Consumer-ID"),
5858
)
5959
except UnknownPersonError:
6060
return handle_unknown_person_error(nhs_number)

tests/fixtures/builders/model/rule.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class IterationFactory(ModelFactory[Iteration]):
9393

9494
class RawCampaignConfigFactory(ModelFactory[CampaignConfig]):
9595
iterations = Use(IterationFactory.batch, size=2)
96-
96+
id = "324r2"
9797
start_date = Use(past_date)
9898
end_date = Use(future_date)
9999

tests/integration/in_process/test_eligibility_endpoint.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ def test_nhs_number_given(
2828
secretsmanager_client: BaseClient, # noqa: ARG002
2929
):
3030
# Given
31-
headers = {"nhs-login-nhs-number": str(persisted_person)}
31+
headers = {"nhs-login-nhs-number": str(persisted_person),
32+
"Consumer-ID":"dummy"}
3233

3334
# When
3435
response = client.get(f"/patient-check/{persisted_person}", headers=headers)

0 commit comments

Comments
 (0)