chore: initial commit with existing codebase

This commit is contained in:
2025-11-13 13:08:49 +00:00
commit 18c991181a
11 changed files with 1424 additions and 0 deletions

11
tests/test_cli.py Normal file
View File

@@ -0,0 +1,11 @@
from salt import hash_password, main
def test_main_supports_hash_shortcut() -> None:
assert main(["secret"]) == 0
def test_main_verify_round_trip() -> None:
salt, hashed = hash_password("secret-value")
assert main(["verify", "secret-value", salt, hashed]) == 0
assert main(["verify", "wrong", salt, hashed]) == 1

20
tests/test_hashing.py Normal file
View File

@@ -0,0 +1,20 @@
import re
from salt import hash_password, verify_password
def test_hash_password_round_trip() -> None:
salt, hashed = hash_password("correct horse battery staple")
assert verify_password("correct horse battery staple", salt, hashed)
assert not verify_password("wrong", salt, hashed)
def test_hash_password_returns_base64() -> None:
salt, hashed = hash_password("secret")
base64_pattern = re.compile(r"^[A-Za-z0-9+/]+={0,2}$")
assert base64_pattern.fullmatch(salt)
assert base64_pattern.fullmatch(hashed)
def test_verify_password_handles_invalid_base64() -> None:
assert verify_password("secret", "**invalid**", "???") is False