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