import pytest from loader import load from schema import DEFAULTS, known def test_defaults_applied(): assert load({})["port"] == 8080 def test_override(): assert load({"port": 9000})["port"] == 9000 def test_unknown_key_rejected(): with pytest.raises(KeyError): load({"prot": 9000}) def test_timeout_default_exists(): assert known("timeout") assert load({})["timeout"] == 30 def test_defaults_not_mutated(): load({"port": 1}) assert DEFAULTS["port"] == 8080