Initial commit
This commit is contained in:
36
tests/test_catalog_cache.py
Normal file
36
tests/test_catalog_cache.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from applepy import catalog_cache
|
||||
|
||||
|
||||
def test_load_loobins_entries_filters() -> None:
|
||||
rows = catalog_cache.load_loobins_entries(
|
||||
[
|
||||
{"name": "curl", "paths": ["/usr/bin/curl"], "short_description": "x"},
|
||||
{"bad": 1},
|
||||
{"name": "", "paths": []},
|
||||
]
|
||||
)
|
||||
assert len(rows) == 1
|
||||
assert rows[0]["name"] == "curl"
|
||||
|
||||
|
||||
def test_iter_gtfo_modern_api_shape() -> None:
|
||||
data = {
|
||||
"functions": {},
|
||||
"contexts": {},
|
||||
"executables": {
|
||||
"7z": {"functions": {"Shell": {}}},
|
||||
"apt": {"alias": "apt-get"},
|
||||
},
|
||||
}
|
||||
out = catalog_cache.iter_gtfo_binaries(data)
|
||||
assert out == [("7z", {"functions": {"Shell": {}}})]
|
||||
|
||||
|
||||
def test_fetch_json_offline_uses_stale(tmp_path, monkeypatch) -> None:
|
||||
monkeypatch.setattr(catalog_cache, "_cache_dir", lambda: tmp_path)
|
||||
url = "https://example.test/x.json"
|
||||
p = catalog_cache._cache_path(url)
|
||||
p.write_text("[1]", encoding="utf-8")
|
||||
parsed, status = catalog_cache.fetch_json_url(url, offline=True, max_age_hours=0)
|
||||
assert parsed == [1]
|
||||
assert "offline" in status
|
||||
Reference in New Issue
Block a user