mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-13 08:52:02 +00:00
refactor(alerts): remove unused config batch reader
This commit is contained in:
parent
31301fa991
commit
fba509fe6c
2 changed files with 15 additions and 28 deletions
|
|
@ -83,18 +83,6 @@ class ConfigRepository:
|
|||
param_value = _decoded_json(param_value)
|
||||
return ConfigParam(param_name=param_name, param_value=param_value)
|
||||
|
||||
async def get_params(self, param_names: Sequence[str]) -> tuple[ConfigParam, ...]:
|
||||
if not param_names:
|
||||
return ()
|
||||
records: Final = await self._config_table.find_many(where={"param_name": {"in": tuple(param_names)}})
|
||||
return tuple(
|
||||
ConfigParam(
|
||||
record.param_name,
|
||||
_decoded_json(record.param_value) if isinstance(record.param_value, str) else record.param_value,
|
||||
)
|
||||
for record in records
|
||||
)
|
||||
|
||||
async def set_param(self, param_name: str, param_value: object) -> ConfigParam:
|
||||
"""Set a config parameter in the database."""
|
||||
value_json: Final = json.dumps(param_value) if not isinstance(param_value, str) else param_value
|
||||
|
|
|
|||
|
|
@ -8,20 +8,19 @@ from litellm.repositories.config_repository import ConfigRepository
|
|||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_batch_reads_decode_legacy_json_and_current_objects_from_writer() -> None:
|
||||
find_many: Final = AsyncMock(
|
||||
return_value=(
|
||||
SimpleNamespace(param_name="first", param_value='{"status":"resolved"}'),
|
||||
SimpleNamespace(param_name="second", param_value={"status": "dismissed"}),
|
||||
)
|
||||
)
|
||||
prisma: Final = SimpleNamespace(writer_db=SimpleNamespace(litellm_config=SimpleNamespace(find_many=find_many)))
|
||||
@pytest.mark.parametrize(
|
||||
("stored", "expected"),
|
||||
(
|
||||
('{"status":"resolved"}', {"status": "resolved"}),
|
||||
({"status": "dismissed"}, {"status": "dismissed"}),
|
||||
(None, None),
|
||||
),
|
||||
)
|
||||
async def test_reads_decode_legacy_json_and_current_objects_from_writer(stored: object, expected: object) -> None:
|
||||
record: Final = None if stored is None else SimpleNamespace(param_name="status", param_value=stored)
|
||||
find_unique: Final = AsyncMock(return_value=record)
|
||||
prisma: Final = SimpleNamespace(writer_db=SimpleNamespace(litellm_config=SimpleNamespace(find_unique=find_unique)))
|
||||
repository: Final = ConfigRepository(prisma, use_writer=True)
|
||||
rows: Final = await repository.get_params(("first", "second", "absent"))
|
||||
assert {row.param_name: row.param_value for row in rows} == {
|
||||
"first": {"status": "resolved"},
|
||||
"second": {"status": "dismissed"},
|
||||
}
|
||||
find_many.assert_awaited_once_with(where={"param_name": {"in": ("first", "second", "absent")}})
|
||||
assert await repository.get_params(()) == ()
|
||||
assert find_many.await_count == 1
|
||||
row: Final = await repository.get_param("status")
|
||||
assert (row.param_value if row is not None else None) == expected
|
||||
find_unique.assert_awaited_once_with(where={"param_name": "status"})
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue