diff --git a/external-connector/external_connector/main.py b/external-connector/external_connector/main.py index fb12654..3fca53b 100644 --- a/external-connector/external_connector/main.py +++ b/external-connector/external_connector/main.py @@ -17,7 +17,7 @@ from external_connector.state import SidecarStateStore def build_app(): home = Path(os.getenv("CONNECTOR_HOME", "/var/lib/external-connector")) store = SidecarStateStore(home / "state.json") - provider_name = os.getenv("CONNECTOR_PROVIDER", "fake") + provider_name = os.getenv("CONNECTOR_PROVIDER", "official") if provider_name == "official": provider = CompositeProvider([ _weixin_provider(store), diff --git a/external-connector/tests/test_main.py b/external-connector/tests/test_main.py new file mode 100644 index 0000000..b384af4 --- /dev/null +++ b/external-connector/tests/test_main.py @@ -0,0 +1,24 @@ +from __future__ import annotations + +from external_connector import main + + +def test_build_app_defaults_to_official_provider(monkeypatch, tmp_path) -> None: + monkeypatch.delenv("CONNECTOR_PROVIDER", raising=False) + monkeypatch.setenv("CONNECTOR_HOME", str(tmp_path)) + + app = main.build_app() + health = next(route.endpoint for route in app.routes if route.path == "/health")() + + assert health["providerId"] == "composite" + assert [provider["providerId"] for provider in health["providers"]] == ["weixin_ilink", "feishu_bot"] + + +def test_build_app_allows_explicit_fake_provider(monkeypatch, tmp_path) -> None: + monkeypatch.setenv("CONNECTOR_PROVIDER", "fake") + monkeypatch.setenv("CONNECTOR_HOME", str(tmp_path)) + + app = main.build_app() + health = next(route.endpoint for route in app.routes if route.path == "/health")() + + assert health["providerId"] == "fake"