feat: add algorithm interface and registry
This commit is contained in:
23
tests/test_algorithms.py
Normal file
23
tests/test_algorithms.py
Normal file
@@ -0,0 +1,23 @@
|
||||
import pytest
|
||||
|
||||
from algorithms import Algorithm, get_algorithm
|
||||
|
||||
|
||||
def test_algorithm_has_required_methods():
|
||||
"""Verify Algorithm protocol defines required methods."""
|
||||
algo = get_algorithm("pbkdf2")
|
||||
assert hasattr(algo, "hash")
|
||||
assert hasattr(algo, "verify")
|
||||
assert hasattr(algo, "identifier")
|
||||
|
||||
|
||||
def test_get_algorithm_returns_pbkdf2():
|
||||
"""Verify default algorithm is PBKDF2."""
|
||||
algo = get_algorithm("pbkdf2")
|
||||
assert algo.identifier == "pbkdf2"
|
||||
|
||||
|
||||
def test_get_algorithm_unknown_raises_error():
|
||||
"""Verify unknown algorithm raises ValueError."""
|
||||
with pytest.raises(ValueError, match="Unknown algorithm"):
|
||||
get_algorithm("unknown")
|
||||
Reference in New Issue
Block a user