Files
mimic-big/backend/tests/unit/test_password.py

32 lines
869 B
Python
Raw Permalink Normal View History

"""Local-auth bcrypt helpers."""
from __future__ import annotations
import pytest
from mimic.auth.password import check_password, hash_password
def test_hash_then_check_succeeds() -> None:
hashed = hash_password("Sup3rSecret!", rounds=4)
assert check_password("Sup3rSecret!", hashed) is True
def test_check_rejects_wrong_password() -> None:
hashed = hash_password("right", rounds=4)
assert check_password("wrong", hashed) is False
def test_empty_password_raises() -> None:
with pytest.raises(ValueError, match="must not be empty"):
hash_password("")
def test_check_missing_hash_returns_false() -> None:
assert check_password("anything", None) is False
assert check_password("anything", "") is False
def test_check_invalid_hash_returns_false() -> None:
assert check_password("anything", "not-a-bcrypt-hash") is False