mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 08:21:39 -06:00
193 lines
6.7 KiB
JavaScript
193 lines
6.7 KiB
JavaScript
const TEST_RESULTS_DIR = "../test-results/server";
|
|
|
|
export const E2E_SUITES = Object.freeze({
|
|
"guard-mechanics": {
|
|
id: "guard-mechanics",
|
|
name: "Guard Mechanics",
|
|
timeout: 30,
|
|
description: "Guard mechanics suite - verifies @Public/@RequirePermission wiring without a real DB",
|
|
vitestTarget: "test/guard-mechanics.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/guard-mechanics-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: false,
|
|
useDedicatedDatabase: false,
|
|
},
|
|
"scanner-scenarios": {
|
|
id: "scanner-scenarios",
|
|
name: "Scanner Scenarios",
|
|
timeout: 45,
|
|
description: "Scanner scenario matrix",
|
|
vitestTarget: "test/scanner-scenarios.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/scanner-scenarios-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"scanner-file-operations": {
|
|
id: "scanner-file-operations",
|
|
name: "Scanner File Operations",
|
|
timeout: 60,
|
|
description: "Scanner file operation matrix",
|
|
vitestTarget: "test/scanner-file-operations.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/scanner-file-operations-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"auth-session-security": {
|
|
id: "auth-session-security",
|
|
name: "Auth Session Security",
|
|
timeout: 50,
|
|
description: "Auth session security suite",
|
|
vitestTarget: "test/auth-session-security.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/auth-session-security-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"auth-recovery-oidc-logout": {
|
|
id: "auth-recovery-oidc-logout",
|
|
name: "Auth Recovery OIDC Logout",
|
|
timeout: 50,
|
|
description: "Auth recovery and OIDC logout suite",
|
|
vitestTarget: "test/auth-recovery-oidc-logout.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/auth-recovery-oidc-logout-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"book-bucket-ingest-finalize": {
|
|
id: "book-bucket-ingest-finalize",
|
|
name: "Book Bucket Ingest Finalize",
|
|
timeout: 45,
|
|
description: "Book Bucket ingest and finalize suite",
|
|
vitestTarget: "test/book-bucket-ingest-finalize.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/book-bucket-ingest-finalize-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"metadata-write": {
|
|
id: "metadata-write",
|
|
name: "Metadata Write",
|
|
timeout: 60,
|
|
description: "Metadata write operations suite",
|
|
vitestTarget: "test/metadata-write.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/metadata-write-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"metadata-lock": {
|
|
id: "metadata-lock",
|
|
name: "Metadata Lock",
|
|
timeout: 60,
|
|
description: "Metadata lock end-to-end suite",
|
|
vitestTarget: "test/metadata-lock.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/metadata-lock-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"migration-booklore": {
|
|
id: "migration-booklore",
|
|
name: "Migration Booklore",
|
|
timeout: 70,
|
|
description: "Booklore migration end-to-end suite",
|
|
vitestTarget: "test/migration-booklore.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/migration-booklore-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"authorization-matrix": {
|
|
id: "authorization-matrix",
|
|
name: "Authorization Matrix",
|
|
timeout: 60,
|
|
description: "Authorization matrix suite",
|
|
vitestTarget: "test/authorization-matrix.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/authorization-matrix-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"book-api-contract": {
|
|
id: "book-api-contract",
|
|
name: "Book API Contract",
|
|
timeout: 60,
|
|
description: "Book API contract suite",
|
|
vitestTarget: "test/book-api-contract.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/book-api-contract-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"app-settings-oidc-contract": {
|
|
id: "app-settings-oidc-contract",
|
|
name: "App Settings OIDC Contract",
|
|
timeout: 60,
|
|
description: "App settings OIDC contract suite",
|
|
vitestTarget: "test/app-settings-oidc-contract.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/app-settings-oidc-contract-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"library-admin-workflows": {
|
|
id: "library-admin-workflows",
|
|
name: "Library Admin Workflows",
|
|
timeout: 60,
|
|
description: "Library admin workflows suite",
|
|
vitestTarget: "test/library-admin-workflows.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/library-admin-workflows-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"reader-format-delivery": {
|
|
id: "reader-format-delivery",
|
|
name: "Reader Format Delivery",
|
|
timeout: 60,
|
|
description: "Reader format delivery suite",
|
|
vitestTarget: "test/reader-format-delivery.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/reader-format-delivery-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"opds-auth-catalog": {
|
|
id: "opds-auth-catalog",
|
|
name: "OPDS Auth Catalog",
|
|
timeout: 45,
|
|
description: "OPDS auth and catalog suite",
|
|
vitestTarget: "test/opds-auth-catalog.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/opds-auth-catalog-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"email-lifecycle": {
|
|
id: "email-lifecycle",
|
|
name: "Email Lifecycle",
|
|
timeout: 45,
|
|
description: "Email lifecycle suite",
|
|
vitestTarget: "test/email-lifecycle.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/email-lifecycle-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"reader-state-isolation": {
|
|
id: "reader-state-isolation",
|
|
name: "Reader State Isolation",
|
|
timeout: 45,
|
|
description: "Reader state isolation suite",
|
|
vitestTarget: "test/reader-state-isolation.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/reader-state-isolation-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
"users-admin-lifecycle": {
|
|
id: "users-admin-lifecycle",
|
|
name: "Users Admin Lifecycle",
|
|
timeout: 50,
|
|
description: "Users admin lifecycle suite",
|
|
vitestTarget: "test/users-admin-lifecycle.e2e-spec.ts",
|
|
junitOutput: `${TEST_RESULTS_DIR}/users-admin-lifecycle-e2e-junit.xml`,
|
|
prepareDedicatedDatabase: true,
|
|
useDedicatedDatabase: true,
|
|
},
|
|
});
|
|
|
|
export function listE2ESuites() {
|
|
return Object.values(E2E_SUITES);
|
|
}
|
|
|
|
export function getE2ESuite(suiteId) {
|
|
return E2E_SUITES[suiteId] ?? null;
|
|
}
|