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