1
0
Fork 0
megacode/tests/test_registration.py

47 lines
1.4 KiB
Python

import json
from registration import load_google_accounts, _is_on_kilo
import registration as reg
def test_load_google_accounts(tmp_path, monkeypatch):
mail_file = tmp_path / "mail.json"
accounts = [
{"email": "a@example.com", "password": "pass1"},
{"email": "b@example.com", "password": "pass2"},
]
mail_file.write_text(json.dumps(accounts))
monkeypatch.setattr(reg, "MAIL_JSON", mail_file)
result = load_google_accounts()
assert len(result) == 2
assert result[0]["email"] == "a@example.com"
def test_load_missing_file(tmp_path, monkeypatch):
monkeypatch.setattr(reg, "MAIL_JSON", tmp_path / "nope.json")
assert load_google_accounts() == []
def test_load_invalid_json(tmp_path, monkeypatch):
f = tmp_path / "mail.json"
f.write_text("not json")
monkeypatch.setattr(reg, "MAIL_JSON", f)
assert load_google_accounts() == []
def test_is_on_kilo():
assert _is_on_kilo("https://app.kilo.ai/profile") is True
assert _is_on_kilo("https://kilo.ai/") is True
assert (
_is_on_kilo("https://accounts.google.com/?redirect=https://app.kilo.ai")
is False
)
assert _is_on_kilo("https://example.com/kilo.ai") is False
def test_load_not_array(tmp_path, monkeypatch):
f = tmp_path / "mail.json"
f.write_text('{"email": "a@b.com"}')
monkeypatch.setattr(reg, "MAIL_JSON", f)
assert load_google_accounts() == []