Ctrl K
ComunidadGuías…

server/tests/test_config_defaults.py

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
from bumblehive_server.config_defaults import apply_config_defaults


def test_apply_config_defaults_fills_only_effective_non_empty_values() -> None:
    source = {
        "provider": {"model": "test-model"},
        "generation": {
            "max_completion_tokens": None,
            "temperature": None,
        },
        "runtime": {
            "context_window_tokens": None,
            "max_tool_result_chars": 1234,
            "max_iterations": None,
        },
        "mcp_servers": [
            {
                "name": "docs",
                "url": "https://example.test/mcp",
            }
        ],
    }

    resolved = apply_config_defaults(source)

    assert resolved["provider"]["type"] == "openai_chat_completions"
    assert resolved["generation"] == {
        "max_completion_tokens": 16_384,
        "temperature": None,
    }
    assert resolved["runtime"] == {
        "context_window_tokens": 200_000,
        "max_tool_result_chars": 1234,
        "max_iterations": 300,
    }
    assert resolved["mcp_servers"] == source["mcp_servers"]
    assert source["generation"]["max_completion_tokens"] is None


def test_apply_config_defaults_preserves_user_values() -> None:
    resolved = apply_config_defaults(
        {
            "provider": {"type": "custom"},
            "generation": {"max_completion_tokens": 4096},
            "runtime": {
                "context_window_tokens": 32_000,
                "max_tool_result_chars": 5000,
                "max_iterations": 12,
            },
        }
    )

    assert resolved["provider"]["type"] == "custom"
    assert resolved["generation"]["max_completion_tokens"] == 4096
    assert resolved["runtime"]["context_window_tokens"] == 32_000
    assert resolved["runtime"]["max_tool_result_chars"] == 5000
    assert resolved["runtime"]["max_iterations"] == 12