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() == []