mirror of
https://github.com/BerriAI/litellm.git
synced 2025-04-24 18:24:20 +00:00
test_update_kwargs_does_not_mutate_defaults_and_merges_metadata
This commit is contained in:
parent
e9d42e3755
commit
351c3ec088
1 changed files with 54 additions and 0 deletions
54
tests/litellm/test_router.py
Normal file
54
tests/litellm/test_router.py
Normal file
|
@ -0,0 +1,54 @@
|
|||
import copy
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
sys.path.insert(
|
||||
0, os.path.abspath("../../..")
|
||||
) # Adds the parent directory to the system path
|
||||
|
||||
|
||||
import litellm
|
||||
|
||||
|
||||
def test_update_kwargs_does_not_mutate_defaults_and_merges_metadata():
|
||||
# initialize a real Router (env‑vars can be empty)
|
||||
router = litellm.Router(
|
||||
model_list=[
|
||||
{
|
||||
"model_name": "gpt-3.5-turbo",
|
||||
"litellm_params": {
|
||||
"model": "azure/chatgpt-v-3",
|
||||
"api_key": os.getenv("AZURE_API_KEY"),
|
||||
"api_version": os.getenv("AZURE_API_VERSION"),
|
||||
"api_base": os.getenv("AZURE_API_BASE"),
|
||||
},
|
||||
}
|
||||
],
|
||||
)
|
||||
|
||||
# override to known defaults for the test
|
||||
router.default_litellm_params = {
|
||||
"foo": "bar",
|
||||
"metadata": {"baz": 123},
|
||||
}
|
||||
original = copy.deepcopy(router.default_litellm_params)
|
||||
kwargs = {}
|
||||
|
||||
# invoke the helper
|
||||
router._update_kwargs_with_default_litellm_params(
|
||||
kwargs=kwargs,
|
||||
metadata_variable_name="litellm_metadata",
|
||||
)
|
||||
|
||||
# 1) router.defaults must be unchanged
|
||||
assert router.default_litellm_params == original
|
||||
|
||||
# 2) non‑metadata keys get merged
|
||||
assert kwargs["foo"] == "bar"
|
||||
|
||||
# 3) metadata lands under "metadata"
|
||||
assert kwargs["litellm_metadata"] == {"baz": 123}
|
Loading…
Add table
Add a link
Reference in a new issue