working auth and activity list

This commit is contained in:
2025-09-07 06:38:39 -07:00
parent 5b1c1e61c4
commit 75d7e63edd
120 changed files with 25171 additions and 0 deletions

44
garth/tests/test_cli.py Normal file
View 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