Skip to content

Commit d05de09

Browse files
committed
release/2025-02-05 Add changelog scenario integration test
1 parent 8841fa3 commit d05de09

File tree

5 files changed

+320
-0
lines changed

5 files changed

+320
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
replace: nhsAsSvcIA
2+
nhsAsSvcIA: urn:nhs:names:services:ers:READ_PRACTITIONER_ROLE_R4_V001
3+
nhsAsSvcIA: urn:nhs:names:services:pds:MCCI_IN010000UK13
4+
nhsAsSvcIA: urn:nhs:names:services:pds:PRPA_IN160000UK30
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from etl.sds.tests.changelog.utils import (
2+
ADD_ACCREDITED_SYSTEM_IN_SAME_PRODUCT_AS_MHS,
3+
ADD_MESSAGE_HANDLING_SYSTEM,
4+
MODIFY_ACCREDITED_SYSTEM_REPLACE_ADDITIONAL_INTERACTIONS_FIELD,
5+
_Scenario,
6+
)
7+
8+
SCENARIO = _Scenario(
9+
file_path=__file__,
10+
extract_input=[
11+
ADD_MESSAGE_HANDLING_SYSTEM,
12+
ADD_ACCREDITED_SYSTEM_IN_SAME_PRODUCT_AS_MHS,
13+
MODIFY_ACCREDITED_SYSTEM_REPLACE_ADDITIONAL_INTERACTIONS_FIELD,
14+
],
15+
)
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
[
2+
{
3+
"change_type": "add",
4+
"nhs_approver_urp": "uniqueidentifier=555050304105,uniqueidentifier=555008548101,uid=555008545108,ou=people, o=nhs",
5+
"nhs_contract_property_template_key": "14",
6+
"nhs_date_approved": "20231030092939",
7+
"nhs_date_dns_approved": "20231030092939",
8+
"nhs_date_requested": "20231030092906",
9+
"nhs_dns_approver": "uniqueidentifier=555050304105,uniqueidentifier=555008548101,uid=555008545108,ou=people, o=nhs",
10+
"nhs_ep_interaction_type": "fhir",
11+
"nhs_id_code": "C3O9X",
12+
"nhs_mhs_ack_requested": null,
13+
"nhs_mhs_actor": null,
14+
"nhs_mhs_cpa_id": "00000a84594b2ef34279",
15+
"nhs_mhs_duplicate_elimination": null,
16+
"nhs_mhs_end_point": "https://test.C3O9X.nhs.uk/",
17+
"nhs_mhs_fqdn": "test.C3O9X.nhs.uk",
18+
"nhs_mhs_in": "READ_PRACTITIONER_ROLE_R4_V001",
19+
"nhs_mhs_ip_address": null,
20+
"nhs_mhs_is_authenticated": "none",
21+
"nhs_mhs_manufacturer_org": "C3O9X",
22+
"nhs_mhs_party_key": "C3O9X-823610",
23+
"nhs_mhs_persist_duration": null,
24+
"nhs_mhs_retries": null,
25+
"nhs_mhs_retry_interval": null,
26+
"nhs_mhs_service_description": null,
27+
"nhs_mhs_sn": "urn:nhs:names:services:ers",
28+
"nhs_mhs_svc_ia": "urn:nhs:names:services:ers:READ_PRACTITIONER_ROLE_R4_V001",
29+
"nhs_mhs_sync_reply_mode": null,
30+
"nhs_product_key": "11929",
31+
"nhs_product_name": null,
32+
"nhs_product_version": null,
33+
"nhs_requestor_urp": "uniqueidentifier=555050304105,uniqueidentifier=555008548101,uid=555008545108,ou=people, o=nhs",
34+
"object_class": "nhsMhs",
35+
"unique_identifier": "00000a84594b2ef34279"
36+
},
37+
{
38+
"change_type": "add",
39+
"nhs_approver_urp": "uniqueIdentifier=102583034545,uniqueIdentifier=352307522545,uid=432776896545,ou=People,o=nhs",
40+
"nhs_as_svc_ia": [
41+
"urn:nhs:names:services:ers:READ_PRACTITIONER_ROLE_R4_V001",
42+
"urn:nhs:names:services:pdsquery:QUQI_IN010000UK14"
43+
],
44+
"nhs_date_approved": "20091016133823",
45+
"nhs_date_requested": "20091016133757",
46+
"nhs_as_client": ["C3O9X"],
47+
"nhs_id_code": "C3O9X",
48+
"nhs_mhs_manufacturer_org": "C3O9X",
49+
"nhs_mhs_party_key": "C3O9X-823610",
50+
"nhs_product_key": "11929",
51+
"nhs_product_name": "TPP SystmOne",
52+
"nhs_product_version": null,
53+
"nhs_requestor_urp": "uniqueIdentifier=203171972540,uniqueIdentifier=352307522545,uid=432776896545,ou=People,o=nhs",
54+
"nhs_temp_uid": "10312",
55+
"object_class": "nhsAs",
56+
"unique_identifier": "000000000001",
57+
"nhs_as_acf": null,
58+
"nhs_as_category_bag": null,
59+
"description": null
60+
},
61+
{
62+
"change_type": "modify",
63+
"object_class": "modify",
64+
"modifications": [
65+
[
66+
"replace",
67+
"nhsassvcia",
68+
[
69+
"urn:nhs:names:services:ers:READ_PRACTITIONER_ROLE_R4_V001",
70+
"urn:nhs:names:services:pds:MCCI_IN010000UK13",
71+
"urn:nhs:names:services:pds:PRPA_IN160000UK30"
72+
]
73+
]
74+
],
75+
"unique_identifier": "000000000001"
76+
}
77+
]
Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
[
2+
{
3+
"id": "C3O9X.fe49c1d5-d9bc-4c2e-8e8d-54d8e2e88250",
4+
"name": "C3O9X (EPR)",
5+
"ods_code": "C3O9X",
6+
"status": "active",
7+
"created_on": "2024-12-11T11:18:53.365591+00:00",
8+
"updated_on": null,
9+
"deleted_on": null,
10+
"keys": [
11+
{
12+
"key_type": "epr_id",
13+
"key_value": "EPR-C3O9X"
14+
}
15+
]
16+
},
17+
{
18+
"id": "P.9AN-PJG",
19+
"product_team_id": "C3O9X.fe49c1d5-d9bc-4c2e-8e8d-54d8e2e88250",
20+
"name": "00000a84594b2ef34279",
21+
"ods_code": "C3O9X",
22+
"status": "active",
23+
"created_on": "2024-12-11T11:18:53.407960+00:00",
24+
"updated_on": "2024-12-11T11:18:53.408432+00:00",
25+
"deleted_on": null,
26+
"keys": [
27+
{
28+
"key_type": "party_key",
29+
"key_value": "C3O9X-823610"
30+
}
31+
]
32+
},
33+
{
34+
"id": "fe15bd58-6897-4566-9a87-aab781fd96b5",
35+
"name": "C3O9X-823610/000000000001 - Accredited System",
36+
"status": "active",
37+
"product_id": "P.9AN-PJG",
38+
"product_team_id": "C3O9X.fe49c1d5-d9bc-4c2e-8e8d-54d8e2e88250",
39+
"ods_code": "C3O9X",
40+
"environment": "prod",
41+
"created_on": "2024-12-11T11:18:53.532840+00:00",
42+
"updated_on": "2024-12-11T11:18:53.534066+00:00",
43+
"deleted_on": null,
44+
"keys": [
45+
{
46+
"key_type": "accredited_system_id",
47+
"key_value": "000000000001"
48+
}
49+
],
50+
"tags": [
51+
{
52+
"nhs_id_code": "C3O9X",
53+
"nhs_as_svc_ia": "urn:nhs:names:services:ers:READ_PRACTITIONER_ROLE_R4_V001"
54+
},
55+
{
56+
"nhs_id_code": "C3O9X",
57+
"nhs_as_svc_ia": "urn:nhs:names:services:ers:READ_PRACTITIONER_ROLE_R4_V001",
58+
"nhs_mhs_party_key": "C3O9X-823610"
59+
},
60+
{
61+
"nhs_id_code": "C3O9X",
62+
"nhs_as_svc_ia": "urn:nhs:names:services:pds:MCCI_IN010000UK13"
63+
},
64+
{
65+
"nhs_id_code": "C3O9X",
66+
"nhs_as_svc_ia": "urn:nhs:names:services:pds:MCCI_IN010000UK13",
67+
"nhs_mhs_party_key": "C3O9X-823610"
68+
},
69+
{
70+
"nhs_id_code": "C3O9X",
71+
"nhs_as_svc_ia": "urn:nhs:names:services:pds:PRPA_IN160000UK30"
72+
},
73+
{
74+
"nhs_id_code": "C3O9X",
75+
"nhs_as_svc_ia": "urn:nhs:names:services:pds:PRPA_IN160000UK30",
76+
"nhs_mhs_party_key": "C3O9X-823610"
77+
}
78+
],
79+
"questionnaire_responses": {
80+
"spine_as/1": [
81+
{
82+
"id": "07dacf01-359a-4276-9dd2-e11ecb07076a",
83+
"questionnaire_name": "spine_as",
84+
"questionnaire_version": "1",
85+
"data": {
86+
"Client ODS Codes": ["C3O9X"],
87+
"MHS Party Key": "C3O9X-823610",
88+
"ASID": "000000000001",
89+
"ODS Code": "C3O9X",
90+
"Temp UID": "10312",
91+
"Product Key": "11929",
92+
"Product Name": "TPP SystmOne",
93+
"Product Version": null,
94+
"Date Requested": "20091016133757",
95+
"Date Approved": "20091016133823",
96+
"Approver URP": "uniqueIdentifier=102583034545,uniqueIdentifier=352307522545,uid=432776896545,ou=People,o=nhs",
97+
"Requestor URP": "uniqueIdentifier=203171972540,uniqueIdentifier=352307522545,uid=432776896545,ou=People,o=nhs",
98+
"MHS Manufacturer Organisation": "C3O9X"
99+
},
100+
"created_on": "2024-12-11T11:18:53.456536+00:00"
101+
}
102+
]
103+
},
104+
"device_reference_data": {
105+
"390fc252-02a2-494e-b6fb-16717eec7168": ["*.Interaction ID"],
106+
"68cd98db-5d8d-45dc-ba9a-09e892535d83": ["*.Interaction ID"]
107+
}
108+
},
109+
{
110+
"id": "fe15bd58-6897-4566-9a87-aab781fd96b5",
111+
"name": "C3O9X-823610 - Message Handling System",
112+
"status": "active",
113+
"environment": "prod",
114+
"product_id": "P.9AN-PJG",
115+
"product_team_id": "C3O9X.fe49c1d5-d9bc-4c2e-8e8d-54d8e2e88250",
116+
"ods_code": "C3O9X",
117+
"created_on": "2024-12-11T11:18:53.532840+00:00",
118+
"updated_on": "2024-12-11T11:18:53.534066+00:00",
119+
"deleted_on": null,
120+
"keys": [
121+
{
122+
"key_type": "cpa_id",
123+
"key_value": "00000a84594b2ef34279"
124+
}
125+
],
126+
"tags": [],
127+
"questionnaire_responses": {
128+
"spine_mhs/1": [
129+
{
130+
"id": "07dacf01-359a-4276-9dd2-e11ecb07076a",
131+
"questionnaire_name": "spine_mhs",
132+
"questionnaire_version": "1",
133+
"data": {
134+
"Managing Organization": "C3O9X",
135+
"Address": "https://test.C3O9X.nhs.uk/",
136+
"DNS Approver": "uniqueidentifier=555050304105,uniqueidentifier=555008548101,uid=555008545108,ou=people, o=nhs",
137+
"MHS Party Key": "C3O9X-823610",
138+
"Date Approved": "20231030092939",
139+
"Approver URP": "uniqueidentifier=555050304105,uniqueidentifier=555008548101,uid=555008545108,ou=people, o=nhs",
140+
"Date DNS Approved": "20231030092939",
141+
"Requestor URP": "uniqueidentifier=555050304105,uniqueidentifier=555008548101,uid=555008545108,ou=people, o=nhs",
142+
"Date Requested": "20231030092906",
143+
"MHS Manufacturer Organisation": "C3O9X",
144+
"MHS FQDN": "test.C3O9X.nhs.uk"
145+
},
146+
"created_on": "2024-12-11T11:18:53.456536+00:00"
147+
}
148+
]
149+
},
150+
"device_reference_data": {
151+
"68cd98db-5d8d-45dc-ba9a-09e892535d83": ["*"]
152+
}
153+
},
154+
{
155+
"id": "390fc252-02a2-494e-b6fb-16717eec7168",
156+
"name": "C3O9X-823610 - MHS Message Sets",
157+
"status": "active",
158+
"environment": "prod",
159+
"product_id": "P.9AN-PJG",
160+
"product_team_id": "C3O9X.fe49c1d5-d9bc-4c2e-8e8d-54d8e2e88250",
161+
"ods_code": "C3O9X",
162+
"questionnaire_responses": {
163+
"spine_mhs_message_sets/1": [
164+
{
165+
"id": "2071f8ac-a020-4bf3-b413-c205004bfb08",
166+
"questionnaire_name": "spine_mhs_message_sets",
167+
"questionnaire_version": "1",
168+
"data": {
169+
"Interaction ID": "urn:nhs:names:services:ers:READ_PRACTITIONER_ROLE_R4_V001",
170+
"MHS SN": "urn:nhs:names:services:ers",
171+
"MHS IN": "READ_PRACTITIONER_ROLE_R4_V001",
172+
"Contract Property Template Key": "14",
173+
"Interaction Type": "fhir",
174+
"Product Key": "11929",
175+
"MHS Is Authenticated": "none",
176+
"MHS CPA ID": "00000a84594b2ef34279",
177+
"Unique Identifier": "00000a84594b2ef34279"
178+
},
179+
"created_on": "2024-12-11T11:18:53.409854+00:00"
180+
}
181+
]
182+
},
183+
"created_on": "2024-12-11T11:18:53.452472+00:00",
184+
"updated_on": "2024-12-11T11:18:53.452853+00:00",
185+
"deleted_on": null
186+
},
187+
{
188+
"id": "68cd98db-5d8d-45dc-ba9a-09e892535d83",
189+
"name": "C3O9X-823610 - AS Additional Interactions",
190+
"status": "active",
191+
"product_id": "P.9AN-PJG",
192+
"product_team_id": "C3O9X.fe49c1d5-d9bc-4c2e-8e8d-54d8e2e88250",
193+
"ods_code": "C3O9X",
194+
"environment": "prod",
195+
"questionnaire_responses": {
196+
"spine_as_additional_interactions/1": [
197+
{
198+
"id": "2071f8ac-a020-4bf3-b413-c205004bfb08",
199+
"questionnaire_name": "spine_as_additional_interactions",
200+
"questionnaire_version": "1",
201+
"data": {
202+
"Interaction ID": "urn:nhs:names:services:pds:MCCI_IN010000UK13"
203+
},
204+
"created_on": "2024-12-11T11:18:53.409854+00:00"
205+
},
206+
{
207+
"id": "2071f8ac-a020-4bf3-b413-c205004bfb08",
208+
"questionnaire_name": "spine_as_additional_interactions",
209+
"questionnaire_version": "1",
210+
"data": {
211+
"Interaction ID": "urn:nhs:names:services:pds:PRPA_IN160000UK30"
212+
},
213+
"created_on": "2024-12-11T11:18:53.409854+00:00"
214+
}
215+
]
216+
},
217+
"created_on": "2024-12-11T11:18:53.452472+00:00",
218+
"updated_on": "2024-12-11T11:18:53.452853+00:00",
219+
"deleted_on": null
220+
}
221+
]

src/etl/sds/tests/changelog/utils.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,9 @@ def read_all(
223223
MODIFY_ACCREDITED_SYSTEM_REPLACE_INTERACTIONS_FIELD = create_modify_ldif(
224224
"replace/nhs_as_svc_ia.ldif", device_type="accredited_system"
225225
)
226+
MODIFY_ACCREDITED_SYSTEM_REPLACE_ADDITIONAL_INTERACTIONS_FIELD = create_modify_ldif(
227+
"replace/nhs_as_svc_ia.Another.ldif", device_type="accredited_system"
228+
)
226229
MODIFY_ACCREDITED_SYSTEM_REPLACE_DEVICE_LIST_FIELD = create_modify_ldif(
227230
"replace/nhs_as_client.ldif", device_type="accredited_system"
228231
)

0 commit comments

Comments
 (0)