"""Unit tests for the versioned agent binary store helpers. Covers the pure, context-free helpers: version validation, PE magic and PE file-version parsing. The staging/retention paths that touch the Flask instance directory are exercised through the API tests; here we keep to the logic that needs no app context. The PE version parser walks the resource directory to the outer image's RT_VERSION resource (not the first VS_FIXEDFILEINFO signature in the bytes), because a self-contained single-file .NET exe bundles many framework assemblies that each carry their own version block. Building a full PE with a resource directory inline is impractical here, so the parser's correctness is verified against real agent binaries in the API/integration layer; these unit tests pin the surrounding validators and the malformed-input contract (never raises, returns None). """ from plugins.endpoints.api import agentstore def test_is_valid_version_accepts_dotted_numeric(): assert agentstore.is_valid_version('1') assert agentstore.is_valid_version('1.6.3') assert agentstore.is_valid_version('1.6.3.0') def test_is_valid_version_rejects_bad_input(): assert not agentstore.is_valid_version('') assert not agentstore.is_valid_version('v1.6') assert not agentstore.is_valid_version('1.6.3.0.1') assert not agentstore.is_valid_version('../etc') assert not agentstore.is_valid_version('latest') def test_is_valid_binary_key(): assert agentstore.is_valid_binary_key('agent') assert agentstore.is_valid_binary_key('tray') assert not agentstore.is_valid_binary_key('other') def test_looks_like_pe(): assert agentstore.looks_like_pe(b'MZ\x90\x00') assert not agentstore.looks_like_pe(b'PK\x03\x04') assert not agentstore.looks_like_pe(b'') def test_read_pe_file_version_none_on_non_pe(): assert agentstore.read_pe_file_version(b'not a pe file') is None def test_read_pe_file_version_none_on_truncated_pe(): # MZ header but nothing else valid: must return None, never raise. assert agentstore.read_pe_file_version(b'MZ' + b'\x00' * 200) is None def test_read_pe_file_version_none_on_empty(): assert agentstore.read_pe_file_version(b'') is None