Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
328626a
VED-981 Add base infrastructure for the MNS Publisher feature (#1191)
dlzhry2nhs Feb 12, 2026
605eb2f
VED-981 (Part 2) Add DLQ, redrive policy, and encryption to queues (#…
dlzhry2nhs Feb 16, 2026
7dff1b2
VED-982: Create POST MNS Notification (#1211)
Akol125 Mar 6, 2026
0be8254
VED-000: Refactor Api_clients Authentication (#1278)
amarauzoma Mar 13, 2026
295a1d5
Modify mns publisher infra to account properly for test queue (#1288)
dlzhry2nhs Mar 13, 2026
b49dfe4
remove default apigee env (#1297)
Akol125 Mar 16, 2026
44eef2a
added tests and refactored calculate age for vaccination from bday (#…
avshetty1980 Mar 16, 2026
c101aea
initial commit
FimranNHS Mar 16, 2026
85f7fbc
VED-982: Consolidate MNS Staging and Master (#1300)
Akol125 Mar 17, 2026
ab211a7
updating tests and fix formatting issue
FimranNHS Mar 17, 2026
52fbb5c
Merge remote-tracking branch 'origin/staging/VED-16-mns-vacc-event-no…
FimranNHS Mar 17, 2026
e969ecb
Merge branch 'master' into feature/VED-1098
Akol125 Mar 17, 2026
adf74c5
updated e2e ymal with aws account id variable to pass to tests
FimranNHS Mar 17, 2026
5791cbf
final test update
FimranNHS Mar 17, 2026
cc7aafb
Merge branch 'master' into feature/VED-1098
Akol125 Mar 17, 2026
2ff4ab1
updated the message read time
FimranNHS Mar 17, 2026
32191c8
Merge branch 'feature/VED-1098' of https://github.com/NHSDigital/immu…
FimranNHS Mar 17, 2026
9b39295
update
FimranNHS Mar 17, 2026
2dd7c92
add try catch in purge all queues
FimranNHS Mar 18, 2026
f9e374e
update nhs number from testdata file
FimranNHS Mar 18, 2026
ea23d19
Merge branch 'master' into feature/VED-1098
FimranNHS Mar 18, 2026
4d73173
fix broken tests
FimranNHS Mar 18, 2026
d3e906a
Merge branch 'feature/VED-1098' of https://github.com/NHSDigital/immu…
FimranNHS Mar 18, 2026
690dafa
fix broken tests
FimranNHS Mar 18, 2026
27447c1
fix broken tests
FimranNHS Mar 18, 2026
eaa4202
removed unnecessary dead letter validation
FimranNHS Mar 18, 2026
8dc4be7
Merge branch 'master' into feature/VED-1098
FimranNHS Mar 18, 2026
f9e48bc
Merge branch 'master' into feature/VED-1098
Akol125 Mar 20, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/run-e2e-automation-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ jobs:
SONAR_client_Secret: ${{ secrets.SONAR_client_Secret }}
MEDICUS_client_Id: ${{ secrets.MEDICUS_client_Id }}
MEDICUS_client_Secret: ${{ secrets.MEDICUS_client_Secret }}
aws_token_refresh: "False"
aws_account_id: ${{ vars.AWS_ACCOUNT_ID }}
TEST_PATH: ${{ inputs.service_under_test == 'batch' && 'features/batchTests' || inputs.service_under_test == 'fhir_api' && 'features/APITests' || 'features' }}
TEST_FILTER: ${{ inputs.suite_to_run == 'proxy_smoke' && 'Status_feature' || inputs.suite_to_run }}
run: poetry run pytest "$TEST_PATH" -m "$TEST_FILTER" --junitxml=output/test-results.xml --alluredir=output/allure-results
Expand Down
Empty file.
60 changes: 42 additions & 18 deletions tests/e2e_automation/features/APITests/create.feature
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,27 @@ Feature: Create the immunization event for a patient
And The X-Request-ID and X-Correlation-ID keys in header will populate correctly
And The imms event table will be populated with the correct data for 'created' event
And The delta table will be populated with the correct data for created event
And MNS event will be triggered with correct data for created event

Examples:
| Patient | vaccine_type | Supplier |
| Random | COVID | Postman_Auth |
| Random | RSV | RAVS |
| Random | FLU | MAVIS |
| Random | MMR | Postman_Auth |
| Random | MENACWY | TPP |
| Random | 3IN1 | TPP |
| Random | MMRV | EMIS |
| Random | PERTUSSIS | EMIS |
| Random | SHINGLES | EMIS |
| Random | PNEUMOCOCCAL | EMIS |
| Random | 4IN1 | TPP |
| Random | 6IN1 | EMIS |
| Random | HIB | TPP |
| Random | MENB | TPP |
| Random | ROTAVIRUS | MEDICUS |
| Random | HEPB | EMIS |
| Random | BCG | MEDICUS |
| Patient | vaccine_type | Supplier |
| Random | COVID | Postman_Auth |
| Random | RSV | RAVS |
| Random | FLU | MAVIS |
| Random | MMR | Postman_Auth |
| Random | MENACWY | TPP |
| Random | 3IN1 | TPP |
| Random | MMRV | EMIS |
| Random | PERTUSSIS | EMIS |
| Random | SHINGLES | EMIS |
| Random | PNEUMOCOCCAL | EMIS |
| Random | 4IN1 | TPP |
| Random | 6IN1 | EMIS |
| Random | HIB | TPP |
| Mod11_NHS | MENB | TPP |
| Invalid_NHS | ROTAVIRUS | MEDICUS |
| Random | HEPB | EMIS |
| Random | BCG | MEDICUS |

@Delete_cleanUp
Scenario Outline: Verify that the POST Create API request with minimal dataset for different vaccine types
Expand All @@ -42,6 +43,7 @@ Feature: Create the immunization event for a patient
And The X-Request-ID and X-Correlation-ID keys in header will populate correctly
And The imms event table will be populated with the correct data for 'created' event
And The delta table will be populated with the correct data for created event
And MNS event will be triggered with correct data for created event

Examples:
| Patient | vaccine_type | Supplier |
Expand Down Expand Up @@ -70,6 +72,7 @@ Feature: Create the immunization event for a patient
Then The request will be successful with the status code '201'
And The location key and Etag in header will contain the Immunization Id and version
And The terms are mapped to the respective text fields in imms delta table
And MNS event will be triggered with correct data for created event

@Delete_cleanUp @vaccine_type_BCG @patient_id_Random @supplier_name_EMIS
Scenario: Verify that VACCINATION_PROCEDURE_TERM, VACCINE_PRODUCT_TERM fields are mapped to first instance of coding.display fields in imms delta table
Expand All @@ -78,6 +81,7 @@ Feature: Create the immunization event for a patient
Then The request will be successful with the status code '201'
And The location key and Etag in header will contain the Immunization Id and version
And The terms are mapped to first instance of coding.display fields in imms delta table
And MNS event will be triggered with correct data for created event

@Delete_cleanUp @vaccine_type_HEPB @patient_id_Random @supplier_name_MEDICUS
Scenario: Verify that VACCINATION_PROCEDURE_TERM, VACCINE_PRODUCT_TERM, SITE_OF_VACCINATION_TERM, ROUTE_OF_VACCINATION_TERM fields are mapped to correct instance of coding.display fields in imms delta table
Expand All @@ -86,6 +90,7 @@ Feature: Create the immunization event for a patient
Then The request will be successful with the status code '201'
And The location key and Etag in header will contain the Immunization Id and version
And The terms are mapped to correct instance of coding.display fields in imms delta table
And MNS event will be triggered with correct data for created event

@smoke
@Delete_cleanUp @vaccine_type_PERTUSSIS @patient_id_Random @supplier_name_EMIS
Expand All @@ -95,6 +100,7 @@ Feature: Create the immunization event for a patient
Then The request will be successful with the status code '201'
And The location key and Etag in header will contain the Immunization Id and version
And The terms are mapped to correct coding.display fields in imms delta table
And MNS event will be triggered with correct data for created event

@smoke
@Delete_cleanUp @vaccine_type_HIB @patient_id_Random @supplier_name_TPP
Expand All @@ -104,6 +110,7 @@ Feature: Create the immunization event for a patient
Then The request will be successful with the status code '201'
And The location key and Etag in header will contain the Immunization Id and version
And The terms are blank in imms delta table
And MNS event will be triggered with correct data for created event

@smoke
Scenario Outline: Verify that the POST Create API for different supplier fails on access denied
Expand All @@ -127,6 +134,7 @@ Feature: Create the immunization event for a patient
And The X-Request-ID and X-Correlation-ID keys in header will populate correctly
And The imms event table will be populated with the correct data for 'created' event
And The delta table will be populated with the correct data for created event
And MNS event will be triggered with correct data for created event

@smoke
@supplier_name_Postman_Auth @vaccine_type_RSV @patient_id_Random
Expand All @@ -135,6 +143,7 @@ Feature: Create the immunization event for a patient
When Trigger the post create request
Then The request will be unsuccessful with the status code '400'
And The Response JSONs should contain correct error message for '<error_type>'
And MNS event will not be triggered for the event
Examples:
| doseNumberPositiveInt | error_type |
| -1 | doseNumberPositiveInt_PositiveInteger |
Expand All @@ -148,6 +157,7 @@ Feature: Create the immunization event for a patient
When Trigger the post create request
Then The request will be successful with the status code '201'
And The location key and Etag in header will contain the Immunization Id and version
And MNS event will be triggered with correct data for created event


@supplier_name_Postman_Auth @vaccine_type_RSV @patient_id_Random
Expand Down Expand Up @@ -278,6 +288,20 @@ Feature: Create the immunization event for a patient
And The X-Request-ID and X-Correlation-ID keys in header will populate correctly
And The imms event table will be populated with the correct data for 'created' event
And The delta table will be populated with the correct data for created event
And MNS event will be triggered with correct data for created event
When Trigger another post create request with same unique_id and unique_id_uri
Then The request will be unsuccessful with the status code '422'
And The Response JSONs should contain correct error message for 'duplicate'
And MNS event will not be triggered for the event

@smoke
@Delete_cleanUp @supplier_name_TPP @vaccine_type_BCG @patient_id_Random
Scenario: Verify that the POST Create API will create MNS event when patient is less then 1 year old
Given Valid json payload is created where patient age is less then an year
When Trigger the post create request
Then The request will be successful with the status code '201'
And The location key and Etag in header will contain the Immunization Id and version
And The X-Request-ID and X-Correlation-ID keys in header will populate correctly
And The imms event table will be populated with the correct data for 'created' event
And The delta table will be populated with the correct data for created event
And MNS event will be triggered with correct data for created event
14 changes: 7 additions & 7 deletions tests/e2e_automation/features/APITests/search.feature
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Feature: Search the immunization of a patient
And The occurrenceDateTime of the immunization events should be within the Date From and Date To range
Examples:
| NHSNumber | vaccine_type | DateFrom | DateTo |
| 9728403348 | FLU | 2023-01-01 | 2023-06-04 |
| 9461267665 | FLU | 2023-01-01 | 2023-06-04 |

# Negative Scenarios
@supplier_name_Postman_Auth
Expand Down Expand Up @@ -86,7 +86,7 @@ Feature: Search the immunization of a patient
And The Search Response JSONs should contain correct error message for invalid include
Examples:
| NHSNumber | vaccine_type | include |
| 9728403348 | COVID | abc |
| 9461267665 | COVID | abc |

@smoke
@supplier_name_Postman_Auth
Expand All @@ -99,10 +99,10 @@ Feature: Search the immunization of a patient
And The Search Response JSONs should contain correct error message for invalid Date From, Date To and include
Examples:
| NHSNumber | vaccine_type | DateFrom | DateTo | include |
| 9728403348 | COVID | 999-06-01 | 999-06-01 | abc |
| 9728403348 | COVID | 2025-13-01 | 2025-12-01 | abc |
| 9728403348 | COVID | 2025-05-12 | 2025-05-12 | abc |
| 9728403348 | COVID | 999-06-01 | 999-06-01 | Immunization:patient |
| 9461267665 | COVID | 999-06-01 | 999-06-01 | abc |
| 9461267665 | COVID | 2025-13-01 | 2025-12-01 | abc |
| 9461267665 | COVID | 2025-05-12 | 2025-05-12 | abc |
| 9461267665 | COVID | 999-06-01 | 999-06-01 | Immunization:patient |

@smoke
@supplier_name_Postman_Auth
Expand Down Expand Up @@ -318,7 +318,7 @@ Feature: Search the immunization of a patient
@smoke
@Delete_cleanUp @supplier_name_TPP
Scenario: Verify that immunization events retrieved by target-disease search are within Date From and Date To range
Given Valid vaccination record is created for '9728403348' and Disease Type 'SHINGLES' with recorded date as '2023-01-15'
Given Valid vaccination record is created for '9727805493' and Disease Type 'SHINGLES' with recorded date as '2023-01-15'
When Send a search request with GET method using target-disease and Date From and Date To for Immunization event created
Then The request will be successful with the status code '200'
And The occurrenceDateTime of the immunization events should be within the Date From and Date To range
Expand Down
Loading
Loading