Skip to content

Commit 2bf530a

Browse files
committed
[uss_qualifier/astm] Make cleanup phase in down_uss use estimated extents as well
1 parent 780073c commit 2bf530a

File tree

2 files changed

+39
-51
lines changed

2 files changed

+39
-51
lines changed

.basedpyright/baseline.json

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19468,22 +19468,6 @@
1946819468
"endColumn": 21,
1946919469
"lineCount": 1
1947019470
}
19471-
},
19472-
{
19473-
"code": "reportPossiblyUnboundVariable",
19474-
"range": {
19475-
"startColumn": 26,
19476-
"endColumn": 33,
19477-
"lineCount": 1
19478-
}
19479-
},
19480-
{
19481-
"code": "reportArgumentType",
19482-
"range": {
19483-
"startColumn": 39,
19484-
"endColumn": 49,
19485-
"lineCount": 1
19486-
}
1948719471
}
1948819472
],
1948919473
"./monitoring/uss_qualifier/scenarios/astm/utm/off_nominal_planning/down_uss_equal_priority_not_permitted.py": [

monitoring/uss_qualifier/scenarios/astm/utm/off_nominal_planning/down_uss.py

Lines changed: 39 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)