Files
ssh-jumphost/tests/test_passwords_totp.py
2026-08-19 22:33:19 +02:00

29 lines
842 B
Python

from app.security.passwords import hash_password, verify_password
from app.security.totp import (
decrypt_totp_secret,
encrypt_totp_secret,
generate_totp_secret,
verify_totp_code,
)
import pyotp
def test_password_hash_roundtrip():
h = hash_password("Sup3rSecret!Passphrase")
assert verify_password(h, "Sup3rSecret!Passphrase")
assert not verify_password(h, "wrong-password")
def test_totp_secret_encryption_roundtrip():
secret = generate_totp_secret()
enc = encrypt_totp_secret(secret)
assert enc != secret.encode()
assert decrypt_totp_secret(enc) == secret
def test_totp_verification():
secret = generate_totp_secret()
code = pyotp.TOTP(secret).now()
assert verify_totp_code(secret, code)
assert not verify_totp_code(secret, "000000") or pyotp.TOTP(secret).now() == "000000"