Skip to content

Commit 2d99e01

Browse files
committed
fix: avoid ApiServer scope shadowing in web reload
1 parent 3329ced commit 2d99e01

2 files changed

Lines changed: 25 additions & 4 deletions

File tree

src/google/adk/cli/fast_api.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -526,12 +526,8 @@ def get_fast_api_app(
526526
"DevServer not found, falling back to ApiServer. "
527527
"Dev-only endpoints will not be available."
528528
)
529-
from .api_server import ApiServer
530-
531529
ServerClass = ApiServer
532530
else:
533-
from .api_server import ApiServer
534-
535531
ServerClass = ApiServer
536532

537533
adk_web_server = ServerClass(

tests/unittests/cli/test_fast_api.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,31 @@ def _create_test_client(
540540
return TestClient(app)
541541

542542

543+
def test_web_reload_agents_uses_module_api_server_import(
544+
mock_session_service,
545+
mock_artifact_service,
546+
mock_memory_service,
547+
mock_agent_loader,
548+
mock_eval_sets_manager,
549+
mock_eval_set_results_manager,
550+
):
551+
"""Regression test for web reload mode with DevServer available."""
552+
with patch("google.adk.cli.api_server.Observer") as mock_observer_class:
553+
_create_test_client(
554+
mock_session_service,
555+
mock_artifact_service,
556+
mock_memory_service,
557+
mock_agent_loader,
558+
mock_eval_sets_manager,
559+
mock_eval_set_results_manager,
560+
reload_agents=True,
561+
)
562+
563+
observer = mock_observer_class.return_value
564+
observer.schedule.assert_called_once()
565+
observer.start.assert_called_once()
566+
567+
543568
def test_agent_with_bigquery_analytics_plugin(
544569
tmp_path,
545570
mock_session_service,

0 commit comments

Comments
 (0)