25 lines
884 B
Python
25 lines
884 B
Python
from photoflow.core import Store
|
|
|
|
|
|
def test_connect_creates_schema_and_version(tmp_path):
|
|
db = str(tmp_path / "t.db")
|
|
s = Store(db).connect()
|
|
assert s.get_meta("schema_version") == "1"
|
|
# tables exist
|
|
names = {r["name"] for r in s.conn.execute(
|
|
"SELECT name FROM sqlite_master WHERE type='table'")}
|
|
assert {"assets", "tags", "asset_tags", "clusters",
|
|
"cluster_members", "writeback_log", "meta"} <= names
|
|
s.close()
|
|
|
|
|
|
def test_meta_roundtrip_and_default(tmp_path):
|
|
s = Store(str(tmp_path / "t.db")).connect()
|
|
assert s.get_meta("missing") is None
|
|
assert s.get_meta("missing", "x") == "x"
|
|
s.set_meta("last_ingest_at", "2026-06-27T00:00:00Z")
|
|
assert s.get_meta("last_ingest_at") == "2026-06-27T00:00:00Z"
|
|
s.set_meta("last_ingest_at", "newer") # upsert
|
|
assert s.get_meta("last_ingest_at") == "newer"
|
|
s.close()
|