@@ -57,6 +57,9 @@ class DownUSS(TestScenario):
5757 scenario_execution_max_extents : Volume4D | None = None
5858 """Actual bounding extent of the flight intents created by the USS qualifier acting as a virtual USS during the scenario execution."""
5959
60+ estimated_max_extents : Volume4D | None = None
61+ """Estimated bounding extent of the flight intents created by the USS qualifier acting as a virtual USS during the scenario execution."""
62+
6063 tested_uss : FlightPlannerClient
6164 dss_resource : DSSInstanceResource
6265 dss : DSSInstance
@@ -136,15 +139,15 @@ def run(self, context: ExecutionContext):
136139 self .end_test_scenario ()
137140
138141 def _setup (self ):
139- estimated_max_extents = estimate_scenario_execution_max_extents (
142+ self . estimated_max_extents = estimate_scenario_execution_max_extents (
140143 self .time_context , self .flight_intents_templates
141144 )
142145
143146 self .begin_test_step ("Resolve USS ID of virtual USS" )
144147 with self .check ("Successful dummy query" , [self .dss .participant_id ]) as check :
145148 try :
146149 _ , dummy_query = self .dss .find_op_intent (
147- estimated_max_extents .to_f3548v21 ()
150+ self . estimated_max_extents .to_f3548v21 ()
148151 )
149152 self .record_query (dummy_query )
150153 except QueryError as e :
@@ -174,7 +177,7 @@ def _setup(self):
174177 validate_clear_area (
175178 self ,
176179 self .dss ,
177- [estimated_max_extents ],
180+ [self . estimated_max_extents ],
178181 ignore_self = False ,
179182 )
180183 self .end_test_step ()
@@ -299,38 +302,39 @@ def _clear_op_intents(self):
299302 with self .check (
300303 "Successful operational intents cleanup" , [self .dss .participant_id ]
301304 ) as check :
302- if self .scenario_execution_max_extents is None :
303- return
304-
305- try :
306- oi_refs , find_query = self .dss .find_op_intent (
307- self .scenario_execution_max_extents .to_f3548v21 ()
308- )
309- self .record_query (find_query )
310- except QueryError as e :
311- self .record_queries (e .queries )
312- find_query = e .queries [0 ]
313- check .record_failed (
314- summary = f"Failed to query operational intent references from DSS in { self .scenario_execution_max_extents } for cleanup" ,
315- details = f"DSS responded code { find_query .status_code } ; { e } " ,
316- query_timestamps = [find_query .request .timestamp ],
317- )
318-
319- for oi_ref in oi_refs :
320- if oi_ref .manager == self .uss_qualifier_sub :
321- try :
322- del_oi , _ , del_query = self .dss .delete_op_intent (
323- oi_ref .id , oi_ref .ovn
324- )
325- self .record_query (del_query )
326- except QueryError as e :
327- self .record_queries (e .queries )
328- del_query = e .queries [0 ]
329- check .record_failed (
330- summary = f"Failed to delete op intent { oi_ref .id } from DSS" ,
331- details = f"DSS responded code { del_query .status_code } ; { e } " ,
332- query_timestamps = [del_query .request .timestamp ],
333- )
305+ for area in [
306+ self .estimated_max_extents ,
307+ self .scenario_execution_max_extents ,
308+ ]:
309+ if area is None :
310+ continue
311+
312+ try :
313+ oi_refs , find_query = self .dss .find_op_intent (area .to_f3548v21 ())
314+ self .record_query (find_query )
315+ except QueryError as e :
316+ self .record_queries (e .queries )
317+ find_query = e .queries [0 ]
318+ check .record_failed (
319+ summary = f"Failed to query operational intent references from DSS in { area } for cleanup" ,
320+ details = f"DSS responded code { find_query .status_code } ; { e } " ,
321+ query_timestamps = [find_query .request .timestamp ],
322+ )
323+ continue
324+
325+ for oi_ref in oi_refs :
326+ if oi_ref .manager == self .uss_qualifier_sub and (ovn := oi_ref .ovn ):
327+ try :
328+ _ , _ , del_query = self .dss .delete_op_intent (oi_ref .id , ovn )
329+ self .record_query (del_query )
330+ except QueryError as e :
331+ self .record_queries (e .queries )
332+ del_query = e .queries [0 ]
333+ check .record_failed (
334+ summary = f"Failed to delete op intent { oi_ref .id } from DSS" ,
335+ details = f"DSS responded code { del_query .status_code } ; { e } " ,
336+ query_timestamps = [del_query .request .timestamp ],
337+ )
334338
335339 def cleanup (self ):
336340 self .begin_cleanup ()
0 commit comments