Files
api/tests
Barcode Betty 471f96b654
CI / lint (pull_request) Successful in 6s
CI / typecheck (pull_request) Failing after 28s
CI / test (pull_request) Failing after 1m7s
CI / build-and-push (pull_request) Has been skipped
Fix SQLite timestamp, UUID, and User.id binding in test fixtures
Builds on the partial bd6b137 fix (which only stripped server_default
expressions) by also:

- Add _StringUUID TypeDecorator: lets Text/String/UUID columns accept
  uuid.UUID values on bind (SQLite has no native UUID type) and returns
  uuid.UUID on read so existing test assertions like
  isinstance(store.id, uuid.UUID) still pass.

- Replace UUID column types with _StringUUID before create_all so
  CREATE TABLE uses CHAR(36) instead of the native UUID type that
  SQLite can't bind.

- Extend before_insert listener to also set Text PK columns (User.id)
  and func.now()-stripped columns (ingested_at) to Python-side defaults
  so INSERTs without explicit values succeed under SQLite.

- Switch _create_test_user_and_session to use 32-char hex user/session
  ids so they match the format bound by the TypeDecorator on FK reads.

- Simplify test_encrypted_json.py to use the shared engine/session
  fixtures from conftest instead of duplicating its own broken engine.

Tests passing: tests/test_models.py (14), tests/test_encrypted_json.py (6).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 03:37:40 +00:00
..