Skip to content

Commit db45b36

Browse files
NRL-2100 Attempting to get 1DSync tests more realistic and working in public mode pls part 2
1 parent da8fc02 commit db45b36

3 files changed

Lines changed: 40 additions & 17 deletions

File tree

tests/smoke/conftest.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ def consumer_client_v1(
6868
environment_config: EnvironmentConfig, smoke_test_parameters: SmokeTestParameters
6969
) -> ConsumerTestClient:
7070
config = environment_config.to_client_config(smoke_test_parameters)
71-
config.connection_metadata.ods_code = "SMOKETESTV1"
7271
if environment_config.connect_mode == ConnectMode.INTERNAL:
7372
config.connection_metadata.ods_code = smoke_test_parameters.v1_ods_code
7473
config.custom_headers["NHSD-End-User-Organisation-ODS"] = (

tests/smoke/scenarios/1dsync_upsert_delete.py

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import pytest
22

3-
from nrlf.core.constants import PERMISSION_ALLOW_ALL_POINTER_TYPES
4-
from tests.smoke.environment import ConnectMode, EnvironmentConfig, SmokeTestParameters
3+
from nrlf.core.constants import PERMISSION_ALLOW_ALL_POINTER_TYPES, V2Headers
4+
from tests.smoke.environment import EnvironmentConfig, SmokeTestParameters
55
from tests.smoke.setup import build_document_reference
6-
from tests.utilities.api_clients import ProducerTestClient
6+
from tests.utilities.api_clients import ConnectionMetadata, ProducerTestClient
7+
8+
v2_1dsync_app_id = "SMOKETEST_1DSYNC_V1"
79

810

911
@pytest.fixture
@@ -12,12 +14,24 @@ def producer_client_1dsync(
1214
) -> ProducerTestClient:
1315
client_config = environment_config.to_client_config(smoke_test_parameters)
1416

15-
if environment_config.connect_mode == ConnectMode.INTERNAL:
16-
client_config.connection_metadata["nrl.permissions"] = [
17-
PERMISSION_ALLOW_ALL_POINTER_TYPES
18-
]
19-
client_config.connection_metadata["nrl.app-id"] = "SMOKETEST1DSYNC"
17+
if environment_config.connect_mode == "internal":
18+
connection_metadata = ConnectionMetadata.model_validate(
19+
{
20+
"nrl.permissions": [PERMISSION_ALLOW_ALL_POINTER_TYPES],
21+
"nrl.app-id": v2_1dsync_app_id,
22+
"nrl.ods-code": smoke_test_parameters.ods_code,
23+
"client_rp_details": {
24+
"developer.app.name": smoke_test_parameters.apigee_app_name,
25+
"developer.app.id": smoke_test_parameters.apigee_app_id,
26+
},
27+
}
28+
)
29+
client_config.connection_metadata = connection_metadata
30+
client_config.custom_headers[V2Headers.X_PROXYGEN_APP_NRL_APP_ID] = (
31+
v2_1dsync_app_id
32+
)
2033
else:
34+
# can't use app-level perms here without setting up another apigee app, use ODS instead
2135
client_config.custom_headers["NHSD-End-User-Organisation-ODS"] = (
2236
"SMOKETEST1DSYNC"
2337
)
@@ -33,7 +47,9 @@ def test_smoke_1dsync_upsert_delete(
3347
"""
3448
Smoke test scenario for 1dsync upsert and delete behaviour
3549
"""
36-
test_ods_code = smoke_test_parameters.ods_code
50+
test_ods_code = producer_client_1dsync.config.custom_headers.get(
51+
"NHSD-End-User-Organisation-ODS"
52+
)
3753
test_docref = build_document_reference(
3854
nhs_number=test_nhs_numbers[0], custodian=test_ods_code
3955
)

tests/smoke/scenarios/1dsync_upsert_delete_v1.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import pytest
22

33
from nrlf.core.constants import PERMISSION_ALLOW_ALL_POINTER_TYPES, V2Headers
4-
from tests.smoke.environment import ConnectMode, EnvironmentConfig, SmokeTestParameters
4+
from tests.smoke.environment import EnvironmentConfig, SmokeTestParameters
55
from tests.smoke.setup import build_document_reference
6-
from tests.utilities.api_clients import ProducerTestClient
6+
from tests.utilities.api_clients import ConnectionMetadata, ProducerTestClient
77

88
v1_1dsync_app_id = "SMOKETEST_1DSYNC_V1"
99

@@ -14,11 +14,19 @@ def producer_client_1dsync_v1(
1414
) -> ProducerTestClient:
1515
client_config = environment_config.to_client_config(smoke_test_parameters)
1616

17-
if environment_config.connect_mode == ConnectMode.INTERNAL:
18-
client_config.connection_metadata["nrl.permissions"] = [
19-
PERMISSION_ALLOW_ALL_POINTER_TYPES
20-
]
21-
client_config.connection_metadata["nrl.app-id"] = v1_1dsync_app_id
17+
if environment_config.connect_mode == "internal":
18+
connection_metadata = ConnectionMetadata.model_validate(
19+
{
20+
"nrl.permissions": [PERMISSION_ALLOW_ALL_POINTER_TYPES],
21+
"nrl.app-id": v1_1dsync_app_id,
22+
"nrl.ods-code": smoke_test_parameters.ods_code,
23+
"client_rp_details": {
24+
"developer.app.name": smoke_test_parameters.apigee_app_name,
25+
"developer.app.id": smoke_test_parameters.apigee_app_id,
26+
},
27+
}
28+
)
29+
client_config.connection_metadata = connection_metadata
2230
client_config.custom_headers[V2Headers.X_PROXYGEN_APP_NRL_APP_ID] = (
2331
v1_1dsync_app_id
2432
)

0 commit comments

Comments
 (0)