mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-16 03:42:20 +02:00
Squash Odysseus development history
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
"""Regression: 2FA must fail closed when enabled but the secret is missing."""
|
||||
import json
|
||||
|
||||
from core.auth import AuthManager
|
||||
|
||||
|
||||
def test_totp_fails_closed_when_enabled_but_secret_missing(tmp_path):
|
||||
auth_path = tmp_path / "auth.json"
|
||||
auth_path.write_text(json.dumps({"users": {
|
||||
"alice": {"password_hash": "x", "totp_enabled": True}, # no totp_secret
|
||||
}}))
|
||||
mgr = AuthManager(str(auth_path))
|
||||
# Previously returned True, bypassing the second factor entirely.
|
||||
assert mgr.totp_verify("alice", "123456") is False
|
||||
|
||||
|
||||
def test_totp_passes_when_2fa_disabled(tmp_path):
|
||||
auth_path = tmp_path / "auth.json"
|
||||
auth_path.write_text(json.dumps({"users": {"bob": {"password_hash": "x"}}}))
|
||||
mgr = AuthManager(str(auth_path))
|
||||
assert mgr.totp_verify("bob", "000000") is True
|
||||
Reference in New Issue
Block a user