mirror of
https://github.com/sstent/go-garth.git
synced 2026-01-26 17:11:42 +00:00
working auth and activity list
This commit is contained in:
44
garth/tests/test_cli.py
Normal file
44
garth/tests/test_cli.py
Normal file
@@ -0,0 +1,44 @@
|
||||
import builtins
|
||||
import getpass
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
from garth.cli import main
|
||||
|
||||
|
||||
def test_help_flag(monkeypatch, capsys):
|
||||
# -h should print help and exit with code 0
|
||||
monkeypatch.setattr(sys, "argv", ["garth", "-h"])
|
||||
with pytest.raises(SystemExit) as excinfo:
|
||||
main()
|
||||
assert excinfo.value.code == 0
|
||||
out, err = capsys.readouterr()
|
||||
assert "usage:" in out.lower()
|
||||
|
||||
|
||||
def test_no_args_prints_help(monkeypatch, capsys):
|
||||
# No args should print help and not exit
|
||||
monkeypatch.setattr(sys, "argv", ["garth"])
|
||||
main()
|
||||
out, err = capsys.readouterr()
|
||||
assert "usage:" in out.lower()
|
||||
|
||||
|
||||
@pytest.mark.vcr
|
||||
def test_login_command(monkeypatch, capsys):
|
||||
def mock_input(prompt):
|
||||
match prompt:
|
||||
case "Email: ":
|
||||
return "user@example.com"
|
||||
case "MFA code: ":
|
||||
code = "023226"
|
||||
return code
|
||||
|
||||
monkeypatch.setattr(sys, "argv", ["garth", "login"])
|
||||
monkeypatch.setattr(builtins, "input", mock_input)
|
||||
monkeypatch.setattr(getpass, "getpass", lambda _: "correct_password")
|
||||
main()
|
||||
out, err = capsys.readouterr()
|
||||
assert out
|
||||
assert not err
|
||||
Reference in New Issue
Block a user