mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-09 07:48:57 +00:00
Add PIN protection to settings
This commit is contained in:
@@ -17,13 +17,26 @@ def test_config_defaults_and_round_trip():
|
||||
enc_mgr = EncryptionManager(key, Path(tmpdir))
|
||||
cfg_mgr = ConfigManager(enc_mgr, Path(tmpdir))
|
||||
|
||||
cfg = cfg_mgr.load_config()
|
||||
cfg = cfg_mgr.load_config(require_pin=False)
|
||||
assert cfg["relays"] == list(DEFAULT_RELAYS)
|
||||
assert cfg["pin_hash"] == ""
|
||||
|
||||
cfg_mgr.set_pin("1234")
|
||||
cfg_mgr.set_relays(["wss://example.com"])
|
||||
cfg_mgr.set_relays(["wss://example.com"], require_pin=False)
|
||||
|
||||
cfg2 = cfg_mgr.load_config()
|
||||
cfg2 = cfg_mgr.load_config(require_pin=False)
|
||||
assert cfg2["relays"] == ["wss://example.com"]
|
||||
assert bcrypt.checkpw(b"1234", cfg2["pin_hash"].encode())
|
||||
|
||||
|
||||
def test_pin_verification_and_change():
|
||||
with TemporaryDirectory() as tmpdir:
|
||||
key = Fernet.generate_key()
|
||||
enc_mgr = EncryptionManager(key, Path(tmpdir))
|
||||
cfg_mgr = ConfigManager(enc_mgr, Path(tmpdir))
|
||||
|
||||
cfg_mgr.set_pin("1234")
|
||||
assert cfg_mgr.verify_pin("1234")
|
||||
assert not cfg_mgr.verify_pin("0000")
|
||||
assert cfg_mgr.change_pin("1234", "5678")
|
||||
assert cfg_mgr.verify_pin("5678")
|
||||
|
Reference in New Issue
Block a user