diff --git a/monkey/common/configuration/__init__.py b/monkey/common/configuration/__init__.py index c22370603..9b5cdfb64 100644 --- a/monkey/common/configuration/__init__.py +++ b/monkey/common/configuration/__init__.py @@ -9,4 +9,6 @@ from .agent_configuration import ( ExploiterConfigurationSchema, ExploitationConfiguration, ExploitationConfigurationSchema, + TCPScanConfiguration, + TCPScanConfigurationSchema, ) diff --git a/monkey/common/configuration/agent_configuration.py b/monkey/common/configuration/agent_configuration.py index 7d1f64b4c..42f7dfcac 100644 --- a/monkey/common/configuration/agent_configuration.py +++ b/monkey/common/configuration/agent_configuration.py @@ -105,3 +105,12 @@ class ICMPScanConfiguration: class TCPScanConfiguration: timeout_ms: int ports: List[int] + + +class TCPScanConfigurationSchema(Schema): + timeout_ms = fields.Int() + ports = fields.List(fields.Int()) + + @post_load + def make_tcp_scan_configuration(self, data, **kwargs): + return TCPScanConfiguration(**data) diff --git a/monkey/tests/unit_tests/common/test_agent_configuration.py b/monkey/tests/unit_tests/common/test_agent_configuration.py index cee26fe5b..ad4e52790 100644 --- a/monkey/tests/unit_tests/common/test_agent_configuration.py +++ b/monkey/tests/unit_tests/common/test_agent_configuration.py @@ -6,6 +6,7 @@ from common.configuration import ( ExploitationOptionsConfigurationSchema, ExploiterConfigurationSchema, PluginConfigurationSchema, + TCPScanConfigurationSchema, ) @@ -95,3 +96,14 @@ def test_exploitation_configuration(): assert isinstance(config, ExploitationConfiguration) assert config_dict == exploitation_config + + +def test_tcp_scan_configuration_schema(): + timeout_ms = 2525 + ports = [8080, 443] + schema = TCPScanConfigurationSchema() + + config = schema.load({"timeout_ms": timeout_ms, "ports": ports}) + + assert config.timeout_ms == timeout_ms + assert config.ports == ports diff --git a/vulture_allowlist.py b/vulture_allowlist.py index bff9d7991..c38586f72 100644 --- a/vulture_allowlist.py +++ b/vulture_allowlist.py @@ -190,6 +190,7 @@ make_plugin_configuration # unused method (monkey/common/configuration/agent_co make_custom_pba_configuration # unused method (monkey/common/configuration/agent_configuration.py:34) make_exploitation_options_configuration # unused method (monkey/common/configuration/agent_configuration.py:58) make_exploiter_configuration # unused method (monkey/common/configuration/agent_configuration.py:62) +make_tcp_scan_configuration # unused method (monkey/common/configuration/agent_configuration.py:114) LINUX # unused variable (monkey/common/operating_systems.py:5) WINDOWS # unused variable (monkey/common/operating_systems.py:6)