Files
agent-call/tests/test_deploy_agent_call.py

40 lines
1.3 KiB
Python

from __future__ import annotations
import sqlite3
import tempfile
import unittest
from pathlib import Path
from agent_call.core import Store
from deploy.backup_sqlite import copy_database
from deploy.check_mock_config import check
from deploy.migrate import migrate
class AgentCallDeploymentTests(unittest.TestCase):
def test_mock_profile_and_sqlite_backup_restore(self) -> None:
self.assertEqual(check("docs/contracts/mock-profile.json"), [])
with tempfile.TemporaryDirectory() as directory:
source = Path(directory) / "source.sqlite3"
backup = Path(directory) / "backup.sqlite3"
store = Store(source)
with store.tx() as con:
con.execute(
"INSERT INTO tenants(tenant_id, tenant_key, created_at) VALUES(?,?,?)",
("t", "k", "now"),
)
copy_database(str(source), str(backup))
connection = sqlite3.connect(backup)
try:
row = connection.execute(
"SELECT tenant_key FROM tenants WHERE tenant_id='t'"
).fetchone()
finally:
connection.close()
self.assertEqual(row[0], "k")
self.assertEqual(migrate(str(source)), 0)
if __name__ == "__main__":
unittest.main()