Skip to main content

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.

References​