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