diff --git a/python/Makefile b/python/Makefile index fc49fb4d33..4d40e89234 100644 --- a/python/Makefile +++ b/python/Makefile @@ -19,7 +19,7 @@ lint: .PHONY: test test: update generate-test-certs - uv run pytest ./packages/**/tests/ + uv run pytest ./packages/**/tests/ ./samples/adk/basic/tests/ .PHONY: build build: update format diff --git a/python/samples/adk/basic/Dockerfile b/python/samples/adk/basic/Dockerfile index 37ca0c275d..42f04dd3d4 100644 --- a/python/samples/adk/basic/Dockerfile +++ b/python/samples/adk/basic/Dockerfile @@ -13,4 +13,4 @@ COPY uv.lock uv.lock RUN uv sync --locked --refresh -CMD ["basic"] \ No newline at end of file +CMD ["kagent-adk", "run", "basic", "--working-dir", "/app", "--host", "0.0.0.0"] \ No newline at end of file diff --git a/python/samples/adk/basic/tests/test_cli.py b/python/samples/adk/basic/tests/test_cli.py new file mode 100644 index 0000000000..e6be71f9f5 --- /dev/null +++ b/python/samples/adk/basic/tests/test_cli.py @@ -0,0 +1,20 @@ +"""Regression test for the basic ADK sample runtime command.""" + +from pathlib import Path + +from kagent.adk import cli + + +def test_run_loads_basic_sample_and_passes_app_to_uvicorn(monkeypatch): + monkeypatch.setenv("KAGENT_API_URL", "http://localhost:8083") + monkeypatch.setenv("KAGENT_GATEWAY_URL", "http://localhost:8083") + monkeypatch.setenv("KAGENT_NAME", "basic") + monkeypatch.setenv("KAGENT_NAMESPACE", "default") + monkeypatch.chdir(Path(__file__).parent.parent) + monkeypatch.syspath_prepend(str(Path.cwd())) + captured = {} + monkeypatch.setattr(cli.uvicorn, "run", lambda app, **kwargs: captured.update(app=app, kwargs=kwargs)) + + cli.run("basic", working_dir=".", host="0.0.0.0", local=True) + + assert captured["kwargs"] == {"host": "0.0.0.0", "port": 8080, "workers": 1, "log_level": "info"}