mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-06-15 07:14:08 +00:00
31 lines
837 B
Python
31 lines
837 B
Python
import json
|
|
|
|
import pytest
|
|
|
|
from nanobot.config.loader import load_config
|
|
|
|
|
|
def test_load_config_missing_file_uses_defaults(tmp_path) -> None:
|
|
config = load_config(tmp_path / "missing.json")
|
|
|
|
assert config.agents.defaults.model
|
|
|
|
|
|
def test_load_config_invalid_json_fails_fast(tmp_path) -> None:
|
|
config_path = tmp_path / "config.json"
|
|
config_path.write_text("{broken json", encoding="utf-8")
|
|
|
|
with pytest.raises(ValueError, match="Failed to load config"):
|
|
load_config(config_path)
|
|
|
|
|
|
def test_load_config_invalid_schema_fails_fast(tmp_path) -> None:
|
|
config_path = tmp_path / "config.json"
|
|
config_path.write_text(
|
|
json.dumps({"tools": {"exec": {"timeout": -1}}}),
|
|
encoding="utf-8",
|
|
)
|
|
|
|
with pytest.raises(ValueError, match="Failed to load config"):
|
|
load_config(config_path)
|