test: prove module database access with PostgreSQL

Add a real installed-module fixture (core/tests/fixtures/module-database-integration/db-facade)
with its own manifest, Drizzle schema, drizzle-kit-generated migration, and permissioned HTTP
routes, then exercise it end to end in a new apps/api PostgreSQL integration suite: explicit
migration application before the module runtime starts (never auto-created), start/stop/HTTP
handlers sharing one ModuleDatabase facade by reference, authorized read/mutation/transaction
commit and rollback against real PostgreSQL, denied/rejected-origin/OPTIONS/HEAD requests never
reaching the module or its table, and both a module-caught and an uncaught real database failure
sanitizing exactly as pass 1 established. Registered alongside the existing suites in
vitest.migrations.integration.config.ts; no production code, schema, or migration changed.
This commit is contained in:
ekklesia
2026-07-25 21:26:15 -05:00
parent 0e308eb9ad
commit d1b9efd4d2
10 changed files with 1044 additions and 0 deletions
@@ -0,0 +1,14 @@
import { moduleTableName } from "@ekklesia/contracts";
import { pgTableCreator, text, uuid } from "drizzle-orm/pg-core";
const moduleTable = pgTableCreator((localName) => moduleTableName("db-facade", localName));
export const records = moduleTable("records", {
id: uuid("id").primaryKey(),
value: text("value").notNull(),
});
export default {
moduleId: "db-facade",
tables: { records },
};