Files
browser-cli/tests/test_registry.py
T

31 lines
1.1 KiB
Python

import json
from browser_cli.registry import load_registry, save_registry, update_registry
def test_load_registry_tolerates_trailing_garbage_from_old_non_atomic_writes(tmp_path):
registry = tmp_path / "registry.json"
registry.write_text('{"main": "/tmp/.browser_cli/main.sock"}"}', encoding="utf-8")
assert load_registry(registry) == {"main": "/tmp/.browser_cli/main.sock"}
def test_update_registry_repairs_corrupted_registry_and_preserves_entries(tmp_path):
registry = tmp_path / "registry.json"
registry.write_text('{"main": "/tmp/.browser_cli/main.sock"}"}', encoding="utf-8")
update_registry("work", "/tmp/.browser_cli/work.sock", registry)
assert json.loads(registry.read_text(encoding="utf-8")) == {
"main": "/tmp/.browser_cli/main.sock",
"work": "/tmp/.browser_cli/work.sock",
}
def test_save_registry_writes_valid_json_atomically(tmp_path):
registry = tmp_path / "registry.json"
save_registry({"main": "/tmp/main.sock"}, registry)
assert json.loads(registry.read_text(encoding="utf-8")) == {"main": "/tmp/main.sock"}