#2676: Update nmne tests

This commit is contained in:
Nick Todd
2024-07-05 14:09:39 +01:00
parent 589ea2fed4
commit 18ae3acf37
2 changed files with 9 additions and 8 deletions

View File

@@ -1,7 +1,6 @@
# © Crown-owned copyright 2024, Defence Science and Technology Laboratory UK # © Crown-owned copyright 2024, Defence Science and Technology Laboratory UK
from __future__ import annotations from __future__ import annotations
from dataclasses import asdict
import re import re
import secrets import secrets
from abc import ABC, abstractmethod from abc import ABC, abstractmethod

View File

@@ -1,12 +1,14 @@
# © Crown-owned copyright 2024, Defence Science and Technology Laboratory UK # © Crown-owned copyright 2024, Defence Science and Technology Laboratory UK
from primaite.game.agent.observations.nic_observations import NICObservation from primaite.game.agent.observations.nic_observations import NICObservation
from primaite.simulator.network.container import Network
from primaite.simulator.network.hardware.nodes.host.host_node import NIC
from primaite.simulator.network.hardware.nodes.host.server import Server from primaite.simulator.network.hardware.nodes.host.server import Server
from primaite.simulator.network.nmne import set_nmne_config from primaite.simulator.network.nmne import store_nmne_config
from primaite.simulator.sim_container import Simulation from primaite.simulator.sim_container import Simulation
from primaite.simulator.system.applications.database_client import DatabaseClient, DatabaseClientConnection from primaite.simulator.system.applications.database_client import DatabaseClient, DatabaseClientConnection
def test_capture_nmne(uc2_network): def test_capture_nmne(uc2_network: Network):
""" """
Conducts a test to verify that Malicious Network Events (MNEs) are correctly captured. Conducts a test to verify that Malicious Network Events (MNEs) are correctly captured.
@@ -33,7 +35,7 @@ def test_capture_nmne(uc2_network):
} }
# Apply the NMNE configuration settings # Apply the NMNE configuration settings
set_nmne_config(nmne_config) NIC.nmne_config = store_nmne_config(nmne_config)
# Assert that initially, there are no captured MNEs on both web and database servers # Assert that initially, there are no captured MNEs on both web and database servers
assert web_server_nic.nmne == {} assert web_server_nic.nmne == {}
@@ -82,7 +84,7 @@ def test_capture_nmne(uc2_network):
assert db_server_nic.nmne == {"direction": {"inbound": {"keywords": {"*": 3}}}} assert db_server_nic.nmne == {"direction": {"inbound": {"keywords": {"*": 3}}}}
def test_describe_state_nmne(uc2_network): def test_describe_state_nmne(uc2_network: Network):
""" """
Conducts a test to verify that Malicious Network Events (MNEs) are correctly represented in the nic state. Conducts a test to verify that Malicious Network Events (MNEs) are correctly represented in the nic state.
@@ -110,7 +112,7 @@ def test_describe_state_nmne(uc2_network):
} }
# Apply the NMNE configuration settings # Apply the NMNE configuration settings
set_nmne_config(nmne_config) NIC.nmne_config = store_nmne_config(nmne_config)
# Assert that initially, there are no captured MNEs on both web and database servers # Assert that initially, there are no captured MNEs on both web and database servers
web_server_nic_state = web_server_nic.describe_state() web_server_nic_state = web_server_nic.describe_state()
@@ -190,7 +192,7 @@ def test_describe_state_nmne(uc2_network):
assert db_server_nic_state["nmne"] == {"direction": {"inbound": {"keywords": {"*": 4}}}} assert db_server_nic_state["nmne"] == {"direction": {"inbound": {"keywords": {"*": 4}}}}
def test_capture_nmne_observations(uc2_network): def test_capture_nmne_observations(uc2_network: Network):
""" """
Tests the NICObservation class's functionality within a simulated network environment. Tests the NICObservation class's functionality within a simulated network environment.
@@ -219,7 +221,7 @@ def test_capture_nmne_observations(uc2_network):
} }
# Apply the NMNE configuration settings # Apply the NMNE configuration settings
set_nmne_config(nmne_config) NIC.nmne_config = store_nmne_config(nmne_config)
# Define observations for the NICs of the database and web servers # Define observations for the NICs of the database and web servers
db_server_nic_obs = NICObservation(where=["network", "nodes", "database_server", "NICs", 1], include_nmne=True) db_server_nic_obs = NICObservation(where=["network", "nodes", "database_server", "NICs", 1], include_nmne=True)