You've already forked adk-python
mirror of
https://github.com/encounter/adk-python.git
synced 2026-03-30 10:57:20 -07:00
fix(cli): ignore session_db_kwargs for sqlite session services
Close issue #4317 Co-authored-by: Liang Wu <wuliang@google.com> PiperOrigin-RevId: 864979145
This commit is contained in:
committed by
Copybara-Service
parent
706a6dda81
commit
ce07cd8144
@@ -250,9 +250,16 @@ def _register_builtin_services(registry: ServiceRegistry) -> None:
|
||||
return memory_session_factory("memory://", **kwargs)
|
||||
elif db_path.startswith("/"):
|
||||
db_path = db_path[1:]
|
||||
kwargs_copy = kwargs.copy()
|
||||
kwargs_copy.pop("agents_dir", None)
|
||||
return SqliteSessionService(db_path=db_path, **kwargs_copy)
|
||||
|
||||
# SqliteSessionService only accepts db_path, warn if extra kwargs provided
|
||||
ignored_kwargs = {k: v for k, v in kwargs.items() if k != "agents_dir"}
|
||||
if ignored_kwargs:
|
||||
logger.warning(
|
||||
"SqliteSessionService does not support additional kwargs. "
|
||||
"The following parameters will be ignored: %s",
|
||||
list(ignored_kwargs.keys()),
|
||||
)
|
||||
return SqliteSessionService(db_path=db_path)
|
||||
|
||||
registry.register_session_service("memory", memory_session_factory)
|
||||
registry.register_session_service("agentengine", agentengine_session_factory)
|
||||
|
||||
@@ -63,13 +63,25 @@ def test_create_session_service_sqlite(registry, mock_services):
|
||||
mock_services["sqlite_session"].assert_called_once_with(db_path="test.db")
|
||||
|
||||
|
||||
def test_create_session_service_sqlite_with_kwargs(registry, mock_services):
|
||||
registry.create_session_service(
|
||||
"sqlite:///test.db", pool_size=10, agents_dir="foo"
|
||||
)
|
||||
mock_services["sqlite_session"].assert_called_once_with(
|
||||
db_path="test.db", pool_size=10
|
||||
def test_create_session_service_sqlite_ignores_unsupported_kwargs(
|
||||
registry, mock_services, caplog
|
||||
):
|
||||
"""Test that SqliteSessionService ignores unsupported kwargs and logs warning."""
|
||||
import logging
|
||||
|
||||
with caplog.at_level(logging.WARNING):
|
||||
registry.create_session_service(
|
||||
"sqlite:///test.db", pool_size=10, agents_dir="foo"
|
||||
)
|
||||
|
||||
# SqliteSessionService should only receive db_path, not pool_size
|
||||
mock_services["sqlite_session"].assert_called_once_with(db_path="test.db")
|
||||
|
||||
# Verify warning was logged about ignored kwargs
|
||||
assert (
|
||||
"SqliteSessionService does not support additional kwargs" in caplog.text
|
||||
)
|
||||
assert "pool_size" in caplog.text
|
||||
|
||||
|
||||
def test_create_session_service_postgresql(registry, mock_services):
|
||||
|
||||
Reference in New Issue
Block a user