import unittest from unittest.mock import patch import cf_mail_debug import grok_register_ttk as app class DummyResponse: def __init__(self, payload): self._payload = payload self.text = "" def raise_for_status(self): return None def json(self): return self._payload class CloudflareAdminCreateTests(unittest.TestCase): def setUp(self): self.original_config = app.config.copy() def tearDown(self): app.config = self.original_config def test_app_uses_admin_new_address_with_x_admin_auth(self): app.config.update({ "cloudflare_api_key": "admin-secret", "cloudflare_auth_mode": "x-admin-auth", "cloudflare_path_accounts": "/admin/new_address", "defaultDomains": "vitassk.com", }) captured = {} def fake_post(url, **kwargs): captured["url"] = url captured.update(kwargs) return DummyResponse({"address": "adminuser@vitassk.com", "jwt": "address-jwt"}) with patch.object(app, "generate_username", return_value="adminuser"), \ patch.object(app, "http_post", side_effect=fake_post): address, jwt = app.cloudflare_create_temp_address("https://temp-mail.ikun.day") self.assertEqual(address, "adminuser@vitassk.com") self.assertEqual(jwt, "address-jwt") self.assertEqual(captured["url"], "https://temp-mail.ikun.day/admin/new_address") self.assertEqual(captured["json"], { "name": "adminuser", "domain": "vitassk.com", "enablePrefix": True, }) self.assertEqual(captured["headers"]["Content-Type"], "application/json") self.assertEqual(captured["headers"]["x-admin-auth"], "admin-secret") def test_app_keeps_anonymous_new_address_with_none_auth(self): app.config.update({ "cloudflare_api_key": "", "cloudflare_auth_mode": "none", "cloudflare_path_accounts": "/api/new_address", "defaultDomains": "vitassk.com", }) captured = {} def fake_post(url, **kwargs): captured["url"] = url captured.update(kwargs) return DummyResponse({"address": "anon@vitassk.com", "jwt": "anon-jwt"}) with patch.object(app, "http_post", side_effect=fake_post): address, jwt = app.cloudflare_create_temp_address("https://temp-mail.ikun.day") self.assertEqual(address, "anon@vitassk.com") self.assertEqual(jwt, "anon-jwt") self.assertEqual(captured["url"], "https://temp-mail.ikun.day/api/new_address") self.assertEqual(captured["json"], {"domain": "vitassk.com"}) self.assertEqual(captured["headers"], {"Content-Type": "application/json"}) def test_debug_tool_can_create_address_through_admin_api(self): captured = {} def fake_post(url, **kwargs): captured["url"] = url captured.update(kwargs) return DummyResponse({"address": "debuguser@vitassk.com", "jwt": "debug-jwt"}) with patch.object(cf_mail_debug.requests, "post", side_effect=fake_post): address, jwt = cf_mail_debug.create_address( "https://temp-mail.ikun.day", auth_mode="x-admin-auth", api_key="admin-secret", create_path="/admin/new_address", domain="vitassk.com", name="debuguser", ) self.assertEqual(address, "debuguser@vitassk.com") self.assertEqual(jwt, "debug-jwt") self.assertEqual(captured["url"], "https://temp-mail.ikun.day/admin/new_address") self.assertEqual(captured["json"], { "name": "debuguser", "domain": "vitassk.com", "enablePrefix": True, }) self.assertEqual(captured["headers"]["Content-Type"], "application/json") self.assertEqual(captured["headers"]["x-admin-auth"], "admin-secret") if __name__ == "__main__": unittest.main()