2623 fix issues with tests and revert request show method

This commit is contained in:
Marek Wolan
2024-07-11 17:44:31 +01:00
parent 3af22ac2ed
commit e759ae5990
3 changed files with 9 additions and 8 deletions

View File

@@ -165,7 +165,7 @@ class RequestManager(BaseModel):
self.request_types.pop(name)
def get_request_types_recursively(self, _parent_valid: bool = True) -> List[Tuple[RequestFormat, bool]]:
def get_request_types_recursively(self) -> List[RequestFormat]:
"""
Recursively generate request tree for this component.
@@ -178,18 +178,17 @@ class RequestManager(BaseModel):
"""
requests = []
for req_name, req in self.request_types.items():
valid = req.validator([], {}) and _parent_valid # if parent is invalid, all children are invalid
if isinstance(req.func, RequestManager):
sub_requests = req.func.get_request_types_recursively(valid) # recurse
sub_requests = [([req_name] + a, valid) for a, valid in sub_requests] # prepend parent request to leaf
sub_requests = req.func.get_request_types_recursively() # recurse
sub_requests = [([req_name] + a) for a in sub_requests] # prepend parent request to leaf
requests.extend(sub_requests)
else: # leaf node found
requests.append(([req_name], valid))
requests.append(req_name)
return requests
def show(self) -> None:
"""Display all currently available requests and whether they are valid."""
table = PrettyTable(["request", "valid"])
table = PrettyTable(["request"])
table.align = "l"
table.add_rows(self.get_request_types_recursively())
print(table)

View File

@@ -646,6 +646,8 @@ simulation:
dns_server: 192.168.1.10
services:
- type: DatabaseService
options:
backup_server_ip: 192.168.1.16
- type: server
hostname: backup_server

View File

@@ -70,8 +70,8 @@ class TestPrimaiteEnvironment:
assert len(env.agents) == 2
defender_1 = env.agents["defender_1"]
defender_2 = env.agents["defender_2"]
assert (num_actions_1 := len(defender_1.action_manager.action_map)) == 74
assert (num_actions_2 := len(defender_2.action_manager.action_map)) == 74
assert (num_actions_1 := len(defender_1.action_manager.action_map)) == 78
assert (num_actions_2 := len(defender_2.action_manager.action_map)) == 78
# ensure we can run all valid actions without error
for act_1 in range(num_actions_1):