Persist generic object references

This commit is contained in:
Lyncoln
2026-09-19 20:22:18 -04:00
parent d5caee8b8b
commit dc6505d165
3 changed files with 295 additions and 9 deletions
+21 -2
View File
@@ -203,7 +203,7 @@ class AppliedStatePersistenceTests(unittest.TestCase):
class SchemaMigrationTests(unittest.TestCase):
def test_version_one_database_is_migrated_to_version_two(self):
def test_version_one_database_is_migrated_to_version_three(self):
with tempfile.TemporaryDirectory() as directory:
path = Path(directory) / "state.sqlite3"
connection = sqlite3.connect(path)
@@ -230,10 +230,29 @@ class SchemaMigrationTests(unittest.TestCase):
"""
)
}
reference_columns = {
table: {
row[1]
for row in store.connection.execute(
f"PRAGMA table_info({table})"
)
}
for table in (
"observations",
"desired_state",
"applied_state",
)
}
self.assertEqual(version, 2)
self.assertEqual(version, 3)
self.assertIn("desired_state", tables)
self.assertIn("applied_state", tables)
self.assertTrue(
all(
"references_json" in columns
for columns in reference_columns.values()
)
)
if __name__ == "__main__":