move registry into own files
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
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"}
|
||||
Reference in New Issue
Block a user