mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-09 15:58:48 +00:00
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
import builtins
|
|
from itertools import cycle
|
|
|
|
import pytest
|
|
import logging
|
|
|
|
from utils import password_prompt
|
|
|
|
|
|
def test_prompt_new_password(monkeypatch):
|
|
responses = cycle(["goodpass", "goodpass"])
|
|
monkeypatch.setattr(password_prompt, "masked_input", lambda prompt: next(responses))
|
|
result = password_prompt.prompt_new_password()
|
|
assert result == "goodpass"
|
|
|
|
|
|
def test_prompt_new_password_retry(monkeypatch, caplog):
|
|
seq = iter(["pass1", "pass2", "passgood", "passgood"])
|
|
monkeypatch.setattr(password_prompt, "masked_input", lambda prompt: next(seq))
|
|
caplog.set_level(logging.WARNING)
|
|
result = password_prompt.prompt_new_password()
|
|
assert "User entered a password shorter" in caplog.text
|
|
assert result == "passgood"
|
|
|
|
|
|
def test_prompt_existing_password(monkeypatch):
|
|
monkeypatch.setattr(password_prompt, "masked_input", lambda prompt: "mypassword")
|
|
assert password_prompt.prompt_existing_password() == "mypassword"
|
|
|
|
|
|
def test_confirm_action_yes_no(monkeypatch):
|
|
monkeypatch.setattr(builtins, "input", lambda _: "Y")
|
|
assert password_prompt.confirm_action()
|
|
monkeypatch.setattr(builtins, "input", lambda _: "n")
|
|
assert not password_prompt.confirm_action()
|