1010from nrlf .core .dynamodb .repository import DocumentPointer
1111from nrlf .core .logger import logger
1212from nrlf .tests .data import load_document_reference
13+ from scripts .are_resources_shared_for_stack import uses_shared_resources
1314
1415logger .setLevel ("ERROR" )
1516
@@ -56,20 +57,31 @@ def _generate_records(patient_count: int, documents_per_type: int, ods_code: str
5657 yield _generate_record (nhs_number , pointer_type , ods_code )
5758
5859
60+ def _get_pointers_table_name (stack_name : str ):
61+ if uses_shared_resources (stack_name ):
62+ env = stack_name .split ("-" )[0 ]
63+ pointers_table_name = f"nhsd-nrlf--{ env } -pointers-table"
64+ else :
65+ pointers_table_name = f"nhsd-nrlf--{ stack_name } -pointers-table"
66+ return pointers_table_name
67+
68+
5969def setup (
60- env : str ,
70+ stack_name : str ,
6171 patient_count : int = 100 ,
6272 documents_per_type : int = 10 ,
6373 ods_code : str = "Y05868" ,
6474 out : str = "tests/performance/reference-data.json" ,
6575 output_full_pointers : bool = False ,
6676):
67- print (f"Creating Test Data in environment '{ env } '" )
77+ pointers_table_name = _get_pointers_table_name (stack_name )
78+
79+ print (f"Creating Test Data for stack '{ stack_name } ' in '{ pointers_table_name } '" )
6880
6981 print (f"Patient Count: { patient_count } " )
7082 print (f"Documents Per Type: { documents_per_type } " )
7183
72- table = DYNAMODB .Table (f"nhsd-nrlf-- { env } -pointers-table" )
84+ table = DYNAMODB .Table (pointers_table_name )
7385 documents = {}
7486 nhs_numbers = set ()
7587
@@ -95,7 +107,7 @@ def setup(
95107 print (f"Output written to { output_path } " )
96108
97109
98- def cleanup (env : str , input : str = "tests/performance/reference-data.json" ):
110+ def cleanup (stack_name : str , input : str = "tests/performance/reference-data.json" ):
99111 input_path = pathlib .Path (input )
100112 data = json .loads (input_path .read_text ())
101113
@@ -104,8 +116,12 @@ def cleanup(env: str, input: str = "tests/performance/reference-data.json"):
104116 else :
105117 pointer_ids = data ["pointer_ids" ]
106118
107- print (f"Cleaning up { len (pointer_ids )} document pointers in environment '{ env } '" )
108- table = DYNAMODB .Table (f"nhsd-nrlf--{ env } -pointers-table" )
119+ pointers_table_name = _get_pointers_table_name (stack_name )
120+
121+ print (
122+ f"Cleaning up { len (pointer_ids )} document pointers for stack '{ stack_name } ' in '{ pointers_table_name } '"
123+ )
124+ table = DYNAMODB .Table (pointers_table_name )
109125 with table .batch_writer () as batch :
110126 for id in pointer_ids :
111127 ods_code , document_id = id .split ("-" , maxsplit = 1 )
0 commit comments