test(federation): M2 integration tests (FED-M2-09) #499

Merged
jason.woltje merged 2 commits from feat/federation-m2-integration into main 2026-04-22 05:08:25 +00:00
Showing only changes of commit 08bea8fba0 - Show all commits

View File

@@ -7,7 +7,7 @@
* docker compose -f docker-compose.federated.yml --profile federated up -d * docker compose -f docker-compose.federated.yml --profile federated up -d
* *
* Run DB-only tests (no Step-CA): * Run DB-only tests (no Step-CA):
* FEDERATED_INTEGRATION=1 pnpm --filter @mosaicstack/gateway test \ * FEDERATED_INTEGRATION=1 BETTER_AUTH_SECRET=test-secret pnpm --filter @mosaicstack/gateway test \
* src/__tests__/integration/federation-m2.integration.test.ts * src/__tests__/integration/federation-m2.integration.test.ts
* *
* Run all tests including Step-CA-dependent ones: * Run all tests including Step-CA-dependent ones:
@@ -127,6 +127,8 @@ describe.skipIf(!run)('federation M2 — DB-only tests', () => {
const createdUserIds: string[] = []; const createdUserIds: string[] = [];
beforeAll(async () => { beforeAll(async () => {
process.env['BETTER_AUTH_SECRET'] ??= 'test-integration-sealing-key-not-for-prod';
handle = createDb(PG_URL); handle = createDb(PG_URL);
db = handle.db; db = handle.db;
@@ -140,25 +142,26 @@ describe.skipIf(!run)('federation M2 — DB-only tests', () => {
await db await db
.delete(federationEnrollmentTokens) .delete(federationEnrollmentTokens)
.where(inArray(federationEnrollmentTokens.grantId, createdGrantIds)) .where(inArray(federationEnrollmentTokens.grantId, createdGrantIds))
.catch(() => {}); .catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
await db await db
.delete(federationGrants) .delete(federationGrants)
.where(inArray(federationGrants.id, createdGrantIds)) .where(inArray(federationGrants.id, createdGrantIds))
.catch(() => {}); .catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
} }
if (db && createdPeerIds.length > 0) { if (db && createdPeerIds.length > 0) {
await db await db
.delete(federationPeers) .delete(federationPeers)
.where(inArray(federationPeers.id, createdPeerIds)) .where(inArray(federationPeers.id, createdPeerIds))
.catch(() => {}); .catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
} }
if (db && createdUserIds.length > 0) { if (db && createdUserIds.length > 0) {
await db await db
.delete(schema.users) .delete(schema.users)
.where(inArray(schema.users.id, createdUserIds)) .where(inArray(schema.users.id, createdUserIds))
.catch(() => {}); .catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
} }
if (handle) await handle.close().catch(() => {}); if (handle)
await handle.close().catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
}); });
// ------------------------------------------------------------------------- // -------------------------------------------------------------------------
@@ -363,25 +366,26 @@ describe.skipIf(!stepCaRun)('federation M2 — Step-CA tests', () => {
await db await db
.delete(federationEnrollmentTokens) .delete(federationEnrollmentTokens)
.where(inArray(federationEnrollmentTokens.grantId, createdGrantIds)) .where(inArray(federationEnrollmentTokens.grantId, createdGrantIds))
.catch(() => {}); .catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
await db await db
.delete(federationGrants) .delete(federationGrants)
.where(inArray(federationGrants.id, createdGrantIds)) .where(inArray(federationGrants.id, createdGrantIds))
.catch(() => {}); .catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
} }
if (db && createdPeerIds.length > 0) { if (db && createdPeerIds.length > 0) {
await db await db
.delete(federationPeers) .delete(federationPeers)
.where(inArray(federationPeers.id, createdPeerIds)) .where(inArray(federationPeers.id, createdPeerIds))
.catch(() => {}); .catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
} }
if (db && createdUserIds.length > 0) { if (db && createdUserIds.length > 0) {
await db await db
.delete(schema.users) .delete(schema.users)
.where(inArray(schema.users.id, createdUserIds)) .where(inArray(schema.users.id, createdUserIds))
.catch(() => {}); .catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
} }
if (handle) await handle.close().catch(() => {}); if (handle)
await handle.close().catch((e: unknown) => console.error('[federation-m2-test cleanup]', e));
}); });
/** Generate a P-256 key pair and PKCS#10 CSR, returning the CSR as PEM. */ /** Generate a P-256 key pair and PKCS#10 CSR, returning the CSR as PEM. */