feat(fc3b): migration 0011 — credential schema aligned with GS wire fields

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-20 18:32:52 -04:00
parent bf828c7b9d
commit e623e97be2
3 changed files with 81 additions and 3 deletions
+32
View File
@@ -0,0 +1,32 @@
import pytest
from sqlalchemy import inspect, text
pytestmark = pytest.mark.integration
@pytest.mark.asyncio
async def test_credential_has_credential_type_not_kind(db):
cols = (await db.run_sync(
lambda sync_session: [c["name"] for c in inspect(sync_session.bind).get_columns("credential")]
))
assert "credential_type" in cols
assert "kind" not in cols
assert "status" not in cols
assert "last_verified" in cols
@pytest.mark.asyncio
async def test_credential_round_trip(db):
from backend.app.models import Credential
db.add(Credential(
platform="patreon",
credential_type="cookies",
encrypted_blob=b"\x00\x01\x02",
))
await db.flush()
row = (await db.execute(
text("SELECT credential_type, last_verified FROM credential WHERE platform='patreon'")
)).one()
assert row.credential_type == "cookies"
assert row.last_verified is None