Test with MemoryRepository
Evidence status: Boundary reviewed, not executed in the current Golden Path. No claim of behavior parity with SQLite or another database provider is made here.
Problem
Exercise generated Rust business APIs quickly without provisioning a database.
MemoryRepository is appropriate for generated API, request-policy, basic
business behavior, and no-database test loops. It is not evidence for SQL,
schema, transaction, locking, collation, or provider concurrency behavior.
Test Boundary
Use the runtime assembly APIs emitted or documented by the generated workspace
to register MemoryRepository. Exact registration differs by runtime version;
inspect the generated example or runtime source rather than guessing a method.
Test:
- generated request compilation and method names;
- filters and projections supported by memory execution;
- business behavior on loaded entities;
- required
comment,purpose, and audit intent; - deterministic test fixtures;
- basic relation behavior supported by the memory runtime.
Keep a Provider Test Layer
Run separate integration tests against every production provider for:
- schema creation/migration behavior;
- SQL compilation and data types;
- graph transaction rollback;
- optimistic locking and concurrency;
- database constraints;
- text ordering, time zones, null behavior, and numeric precision;
- connection pools, timeouts, and retries.
Verification
The test suite should make the distinction visible, for example with separate
memory and provider test groups. A passing memory suite must not allow the
provider suite to be skipped in release CI.