From efe1c368b8b49a2c6b3bf2193a5b89eb5426eba3 Mon Sep 17 00:00:00 2001 From: stuppie Date: Fri, 13 Mar 2026 13:31:22 -0600 Subject: ToolRunCommand + options models to handle cmd line args for all network tools --- test_utils/managers/network/conftest.py | 38 +++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 11 deletions(-) (limited to 'test_utils') diff --git a/test_utils/managers/network/conftest.py b/test_utils/managers/network/conftest.py index f6a4078..979dd63 100644 --- a/test_utils/managers/network/conftest.py +++ b/test_utils/managers/network/conftest.py @@ -7,13 +7,18 @@ import pytest from generalresearch.managers.network.label import IPLabelManager from generalresearch.managers.network.tool_run import ToolRunManager from generalresearch.models.network.definitions import IPProtocol -from generalresearch.models.network.mtr.command import build_mtr_command from generalresearch.models.network.mtr.parser import parse_mtr_output from generalresearch.models.network.nmap.parser import parse_nmap_xml -from generalresearch.models.network.rdns.command import build_rdns_command from generalresearch.models.network.rdns.parser import parse_rdns_output from generalresearch.models.network.tool_run import NmapRun, Status, RDNSRun, MTRRun -from generalresearch.models.network.tool_run_command import ToolRunCommand +from generalresearch.models.network.tool_run_command import ( + MTRRunCommand, + MTRRunCommandOptions, + RDNSRunCommand, + NmapRunCommand, + NmapRunCommandOptions, + RDNSRunCommandOptions, +) @pytest.fixture(scope="session") @@ -51,15 +56,21 @@ def nmap_result(nmap_raw_output): @pytest.fixture(scope="session") def nmap_run(nmap_result, scan_group_id): r = nmap_result + config = NmapRunCommand( + command="nmap", + options=NmapRunCommandOptions( + ip=r.target_ip, ports="22-1000,11000,1100,3389,61232", top_ports=None + ), + ) return NmapRun( tool_version=r.version, status=Status.SUCCESS, ip=r.target_ip, started_at=r.started_at, finished_at=r.finished_at, - raw_command=r.command_line, + raw_command=config.to_command_str(), scan_group_id=scan_group_id, - config=ToolRunCommand(command="nmap"), + config=config, parsed=r, ) @@ -79,15 +90,16 @@ def rdns_run(rdns_result, scan_group_id): r = rdns_result ip = "45.33.32.156" utc_now = datetime.now(tz=timezone.utc) + config = RDNSRunCommand(command="dig", options=RDNSRunCommandOptions(ip=ip)) return RDNSRun( tool_version="1.2.3", status=Status.SUCCESS, ip=ip, started_at=utc_now, finished_at=utc_now + timedelta(seconds=1), - raw_command=build_rdns_command(ip=ip), + raw_command=config.to_command_str(), scan_group_id=scan_group_id, - config=ToolRunCommand(command="dig"), + config=config, parsed=r, ) @@ -109,6 +121,12 @@ def mtr_result(mtr_raw_output): def mtr_run(mtr_result, scan_group_id): r = mtr_result utc_now = datetime.now(tz=timezone.utc) + config = MTRRunCommand( + command="mtr", + options=MTRRunCommandOptions( + ip=r.destination, protocol=IPProtocol.TCP, port=443 + ), + ) return MTRRun( tool_version="1.2.3", @@ -116,11 +134,9 @@ def mtr_run(mtr_result, scan_group_id): ip=r.destination, started_at=utc_now, finished_at=utc_now + timedelta(seconds=1), - raw_command=build_mtr_command( - ip=r.destination, protocol=IPProtocol.TCP, port=443 - ), + raw_command=config.to_command_str(), scan_group_id=scan_group_id, - config=ToolRunCommand(command="mtr"), + config=config, parsed=r, facility_id=1, source_ip="1.2.3.4", -- cgit v1.2.3