import importlib.util import unittest from pathlib import Path ROOT = Path(__file__).resolve().parents[2] SMOKE = ROOT / "scripts" / "authenticated-product-smoke.py" def load_smoke_module(): spec = importlib.util.spec_from_file_location("authenticated_product_smoke", SMOKE) module = importlib.util.module_from_spec(spec) assert spec.loader is not None spec.loader.exec_module(module) return module class AuthenticatedProductSmokeTests(unittest.TestCase): def test_operation_payload_uses_internal_upstream(self) -> None: smoke = load_smoke_module() payload = smoke.build_operation_payload( name="internal_health_smoke_123", upstream_base_url="http://admin-api:3001", ) self.assertEqual(payload["protocol"], "rest") self.assertEqual(payload["target"]["method"], "GET") self.assertEqual(payload["target"]["base_url"], "http://admin-api:3001") self.assertEqual(payload["target"]["path_template"], "/health") self.assertNotIn("open-meteo", str(payload).lower()) self.assertNotIn("frankfurter", str(payload).lower()) def test_public_mcp_url_keeps_proxy_prefix(self) -> None: smoke = load_smoke_module() self.assertEqual( smoke.agent_mcp_url("https://crank.example.com/", "default", "health-smoke"), "https://crank.example.com/mcp/v1/default/health-smoke", ) def test_tool_call_payload_targets_health_tool(self) -> None: smoke = load_smoke_module() payload = smoke.tools_call_payload("internal_health_smoke", {"probe": "ok"}) self.assertEqual(payload["jsonrpc"], "2.0") self.assertEqual(payload["method"], "tools/call") self.assertEqual(payload["params"]["name"], "internal_health_smoke") self.assertEqual(payload["params"]["arguments"], {"probe": "ok"}) if __name__ == "__main__": unittest.main()