@@ -330,9 +330,28 @@ def _replace_container_entity_references(
330330 atlas_context : dict [str , Any ],
331331 ) -> None :
332332 atlas_tenant_id = str (atlas_context .get ("atlas_tenant_id" ) or "" ).strip ()
333+ atlas_order_euid = str (
334+ atlas_context .get ("atlas_order_euid" ) or atlas_context .get ("order_euid" ) or ""
335+ ).strip ()
336+ atlas_order_test_euid = str (
337+ atlas_context .get ("atlas_order_test_euid" )
338+ or atlas_context .get ("order_test_euid" )
339+ or ""
340+ ).strip ()
333341 atlas_trf_euid = str (atlas_context .get ("atlas_trf_euid" ) or "" ).strip ()
334342 atlas_test_euid = str (atlas_context .get ("atlas_test_euid" ) or "" ).strip ()
335343 atlas_test_euids : list [str ] = []
344+ atlas_order_test_euids : list [str ] = []
345+ seen_order_tests : set [str ] = set ()
346+ if atlas_order_test_euid :
347+ seen_order_tests .add (atlas_order_test_euid )
348+ atlas_order_test_euids .append (atlas_order_test_euid )
349+ for value in list (atlas_context .get ("atlas_order_test_euids" ) or []):
350+ clean_value = str (value or "" ).strip ()
351+ if not clean_value or clean_value in seen_order_tests :
352+ continue
353+ seen_order_tests .add (clean_value )
354+ atlas_order_test_euids .append (clean_value )
336355 seen_tests : set [str ] = set ()
337356 if atlas_test_euid :
338357 seen_tests .add (atlas_test_euid )
@@ -345,6 +364,14 @@ def _replace_container_entity_references(
345364 atlas_test_euids .append (clean_value )
346365 fulfillment_items = list (atlas_context .get ("fulfillment_items" ) or [])
347366 for fulfillment_item in fulfillment_items :
367+ candidate_order_test = str (
368+ fulfillment_item .get ("atlas_order_test_euid" )
369+ or fulfillment_item .get ("order_test_euid" )
370+ or ""
371+ ).strip ()
372+ if candidate_order_test and candidate_order_test not in seen_order_tests :
373+ seen_order_tests .add (candidate_order_test )
374+ atlas_order_test_euids .append (candidate_order_test )
348375 candidate = str (fulfillment_item .get ("atlas_test_euid" ) or "" ).strip ()
349376 if not candidate or candidate in seen_tests :
350377 continue
@@ -359,6 +386,54 @@ def _replace_container_entity_references(
359386 (self .ORGANIZATION_SITE_REFERENCE_TYPE , "atlas_organization_site_euid" ),
360387 )
361388 created_payloads : list [dict [str , Any ]] = []
389+ self ._delete_reference_type (instance , reference_type = "order_test_euid" )
390+ self ._delete_reference_type (instance , reference_type = "order_euid" )
391+ if atlas_tenant_id and atlas_order_euid :
392+ properties = {
393+ "provider" : "atlas" ,
394+ "reference_type" : "order_euid" ,
395+ "reference_value" : atlas_order_euid ,
396+ "foreign_reference" : atlas_order_euid ,
397+ "atlas_tenant_id" : atlas_tenant_id ,
398+ "order_euid" : atlas_order_euid ,
399+ "atlas_order_euid" : atlas_order_euid ,
400+ "validation" : {},
401+ }
402+ created_payloads .append (properties )
403+ ref_obj = self .bobj .create_instance_by_code (
404+ self .EXTERNAL_REFERENCE_TEMPLATE_CODE ,
405+ {"json_addl" : {"properties" : properties }},
406+ )
407+ self .bobj .create_generic_instance_lineage_by_euids (
408+ instance .euid ,
409+ ref_obj .euid ,
410+ relationship_type = self .EXTERNAL_REFERENCE_RELATIONSHIP ,
411+ )
412+ if atlas_tenant_id :
413+ for reference_value in atlas_order_test_euids :
414+ properties = {
415+ "provider" : "atlas" ,
416+ "reference_type" : "order_test_euid" ,
417+ "reference_value" : reference_value ,
418+ "foreign_reference" : reference_value ,
419+ "atlas_tenant_id" : atlas_tenant_id ,
420+ "order_test_euid" : reference_value ,
421+ "atlas_order_test_euid" : reference_value ,
422+ "validation" : {},
423+ }
424+ if atlas_order_euid :
425+ properties ["order_euid" ] = atlas_order_euid
426+ properties ["atlas_order_euid" ] = atlas_order_euid
427+ created_payloads .append (properties )
428+ ref_obj = self .bobj .create_instance_by_code (
429+ self .EXTERNAL_REFERENCE_TEMPLATE_CODE ,
430+ {"json_addl" : {"properties" : properties }},
431+ )
432+ self .bobj .create_generic_instance_lineage_by_euids (
433+ instance .euid ,
434+ ref_obj .euid ,
435+ relationship_type = self .EXTERNAL_REFERENCE_RELATIONSHIP ,
436+ )
362437 self ._delete_reference_type (instance , reference_type = self .TEST_REFERENCE_TYPE )
363438 if atlas_tenant_id :
364439 for reference_value in atlas_test_euids :
0 commit comments