pub fn conformance(module: Box<dyn Module>)Expand description
Runs the shared conformance suite against one module, once per
dialect available in the environment (issue #20 — SQLite always,
Postgres when FZ_TEST_POSTGRES_URL names a server):
- mounts under
/v1/<name>and/__healthlists it with its version; - a request under the module prefix is answered (no harness-level
crash — module-specific routes are covered by the module’s own
tests via
crate::request); - migrations apply from scratch twice on fresh databases (idempotence);
- no undeclared port access:
Ports::view_forhides every port the module did not declare; - two concurrent requests keep their own request ids (ADR 0007);
- a well-known router, when provided, serves at the root under
/.well-knownand never under/v1(issue #46); - every table the module owns has a personal-data declaration, so a
table cannot be added to
tables()and left outside export and erasure (issue #244); - every table the module’s migrations create is in
tables(), so a table cannot come into being outside all three lists at once — and, the other way round, every tabletables()names is one the scan actually found, so check 8 cannot pass by seeing nothing (issue #272).
§Panics
Panics with a message naming the failed check and the dialect.