Files
SQLmem/tests/test_registry.py

46 lines
1.2 KiB
Python

import sqlite3
import pytest
from sqlmem.registry import ColumnRegistry
@pytest.fixture
def registry():
conn = sqlite3.connect(":memory:")
return ColumnRegistry(conn)
def test_empty_registry(registry):
assert registry.get_columns("users") == set()
def test_update_and_get(registry):
registry.update("users", ["name", "email"])
assert registry.get_columns("users") == {"name", "email"}
def test_update_accumulates(registry):
registry.update("users", ["name", "email"])
registry.update("users", ["email", "status"])
assert registry.get_columns("users") == {"name", "email", "status"}
def test_needs_refetch_missing(registry):
registry.update("users", ["name"])
missing = registry.needs_refetch("users", ["name", "email"])
assert missing == ["email"]
def test_needs_refetch_none_missing(registry):
registry.update("users", ["name", "email"])
missing = registry.needs_refetch("users", ["name"])
assert missing == []
def test_independent_tables(registry):
registry.update("users", ["name"])
registry.update("orders", ["total"])
assert registry.get_columns("users") == {"name"}
assert registry.get_columns("orders") == {"total"}