File tree Expand file tree Collapse file tree
dl_api_lib_testing/dl_api_lib_testing/connector
dl_api_lib/dl_api_lib/app/control_api/resources Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -350,8 +350,18 @@ def generate_dataset_location(cls, body: dict) -> EntryLocation:
350350
351351 @classmethod
352352 def replace_conn_ids (cls , data : dict , conn_id_mapping : dict ) -> None :
353- for sources in data ["dataset" ]["sources" ]:
354- sources ["connection_id" ] = conn_id_mapping [sources ["connection_id" ]]
353+ for source in data ["dataset" ]["sources" ]:
354+ assert isinstance (source , dict )
355+ fake_conn_id = source ["connection_id" ]
356+ if fake_conn_id not in conn_id_mapping :
357+ LOGGER .info (
358+ 'Can not find "%s" in conn id mapping for source with id %s, going to replace it with a fake connection' ,
359+ fake_conn_id ,
360+ source .get ("id" ),
361+ )
362+ source ["connection_id" ] = "0000000000000" # TODO which ID should we use here?
363+ else :
364+ source ["connection_id" ] = conn_id_mapping [fake_conn_id ]
355365
356366 @put_to_request_context (endpoint_code = "DatasetImport" )
357367 @schematic_request (
Original file line number Diff line number Diff line change @@ -126,6 +126,16 @@ def test_export_import_dataset(
126126 "data" : {"workbook_id" : None , "dataset" : export_resp .json ["dataset" ]},
127127 }
128128 import_resp = control_api .import_dataset (data = import_data , bi_headers = bi_headers )
129- assert import_resp .status_code == 200 , import_resp .json ["dataset" ] != export_resp .json ["dataset" ]
129+ assert import_resp .status_code == 200 , f"{ import_resp .json } != { export_resp .json } "
130+
131+ control_api .delete_dataset (dataset_id = import_resp .json ["id" ])
132+
133+ # test import without a connection
134+ import_data : dict = {
135+ "id_mapping" : {}, # empty
136+ "data" : {"workbook_id" : None , "dataset" : export_resp .json ["dataset" ]},
137+ }
138+ import_resp = control_api .import_dataset (data = import_data , bi_headers = bi_headers )
139+ assert import_resp .status_code == 200 , f"{ import_resp .json } != { export_resp .json } "
130140
131141 control_api .delete_dataset (dataset_id = import_resp .json ["id" ])
You can’t perform that action at this time.
0 commit comments