#2357 - Allowed the config to not have nodes, links and agents and still be parsed
This commit is contained in:
31
tests/assets/configs/no_nodes_links_agents_network.yaml
Normal file
31
tests/assets/configs/no_nodes_links_agents_network.yaml
Normal file
@@ -0,0 +1,31 @@
|
||||
training_config:
|
||||
rl_framework: SB3
|
||||
rl_algorithm: PPO
|
||||
seed: 333
|
||||
n_learn_episodes: 1
|
||||
n_eval_episodes: 5
|
||||
max_steps_per_episode: 128
|
||||
deterministic_eval: false
|
||||
n_agents: 1
|
||||
agent_references:
|
||||
- defender
|
||||
|
||||
io_settings:
|
||||
save_checkpoints: true
|
||||
checkpoint_interval: 5
|
||||
save_step_metadata: false
|
||||
save_pcap_logs: true
|
||||
save_sys_logs: true
|
||||
|
||||
|
||||
game:
|
||||
max_episode_length: 256
|
||||
ports:
|
||||
- ARP
|
||||
- DNS
|
||||
- HTTP
|
||||
- POSTGRES_SERVER
|
||||
protocols:
|
||||
- ICMP
|
||||
- TCP
|
||||
- UDP
|
||||
@@ -0,0 +1,19 @@
|
||||
import yaml
|
||||
|
||||
from primaite.game.game import PrimaiteGame
|
||||
from tests import TEST_ASSETS_ROOT
|
||||
|
||||
CONFIG_FILE = TEST_ASSETS_ROOT / "configs" / "no_nodes_links_agents_network.yaml"
|
||||
|
||||
|
||||
def test_no_nodes_links_agents_config():
|
||||
"""Tests PrimaiteGame can be created from config file where there are no nodes, links, agents in the config file."""
|
||||
with open(CONFIG_FILE, "r") as f:
|
||||
cfg = yaml.safe_load(f)
|
||||
|
||||
game = PrimaiteGame.from_config(cfg)
|
||||
|
||||
network = game.simulation.network
|
||||
|
||||
assert len(network.nodes) == 0
|
||||
assert len(network.links) == 0
|
||||
Reference in New Issue
Block a user