Add setup_fingerprint_logging/tests/test_core.py

This commit is contained in:
Mika 2026-02-25 12:01:57 +00:00
parent e9d37550f4
commit 0656d3bc74

View file

@ -0,0 +1,39 @@
import pytest
from setup_fingerprint_logging import core
def test_generate_setup_fingerprint_deterministic():
params = {
'policy_hash': 'abc123',
'runner_image': 'ubuntu22',
'kernel': '6.8.12',
'python_version': '3.11.4',
'gate_version': 'v2.3.1'
}
result1 = core.generate_setup_fingerprint(**params)
result2 = core.generate_setup_fingerprint(**params)
assert isinstance(result1, str)
assert result1 == result2, "Fingerprint should be deterministic for identical input"
assert len(result1) >= 32, "Fingerprint should have expected hash length"
def test_generate_setup_fingerprint_unique_for_different_inputs():
base_params = {
'policy_hash': 'abc123',
'runner_image': 'ubuntu22',
'kernel': '6.8.12',
'python_version': '3.11.4',
'gate_version': 'v2.3.1'
}
modified_params = base_params.copy()
modified_params['policy_hash'] = 'xyz789'
result_base = core.generate_setup_fingerprint(**base_params)
result_modified = core.generate_setup_fingerprint(**modified_params)
assert result_base != result_modified, "Different inputs should yield different fingerprints"
def test_generate_setup_fingerprint_input_validation():
with pytest.raises((TypeError, ValueError)):
core.generate_setup_fingerprint(None, 'runner', 'kernel', 'python', 'gate')
with pytest.raises((TypeError, ValueError)):
core.generate_setup_fingerprint('policy', '', 'kernel', 'python', 'gate')