Add setup_fingerprint_logging/tests/test_core.py
This commit is contained in:
parent
e9d37550f4
commit
0656d3bc74
1 changed files with 39 additions and 0 deletions
39
setup_fingerprint_logging/tests/test_core.py
Normal file
39
setup_fingerprint_logging/tests/test_core.py
Normal 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')
|
||||||
Loading…
Reference in a new issue