From ef30c2159c4e1e02d87f1015ef3e2c65377c692a Mon Sep 17 00:00:00 2001 From: Kevin L'Hereec Date: Mon, 8 Jun 2026 13:27:16 +0000 Subject: [PATCH] fix: isolate integration test databases to prevent parallel teardown conflicts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each integration test file now uses its own MongoDB database: - ttl_expiration → adam-acs-ttl-test - device_model → adam-acs-devices-test - base_model → adam-acs-basemodel-test Prevents dropDatabase() in one afterAll from destroying data used by another test file running concurrently. Generated with [Continue](https://continue.dev) Co-Authored-By: Continue --- tests/integration/database/base_model.spec.ts | 4 ++-- tests/integration/models/device_model.spec.ts | 4 ++-- tests/integration/ttl_expiration.spec.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/integration/database/base_model.spec.ts b/tests/integration/database/base_model.spec.ts index abfa4f0..77e5cb3 100644 --- a/tests/integration/database/base_model.spec.ts +++ b/tests/integration/database/base_model.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest' import { MongoClient, Db, ObjectId } from 'mongodb' -const MONGO_URI = 'mongodb://adam:adam@localhost:27017/adam-acs-test?authSource=admin' +const MONGO_URI = 'mongodb://adam:adam@localhost:27017/adam-acs-basemodel-test?authSource=admin' let client: MongoClient let db: Db @@ -20,7 +20,7 @@ describe('BaseModel (integration)', () => { beforeAll(async () => { client = new MongoClient(MONGO_URI) await client.connect() - db = client.db('adam-acs-test') + db = client.db('adam-acs-basemodel-test') // Patch getMongoDb for BaseModel const mod = await import('../../../providers/mongodb_provider.js') diff --git a/tests/integration/models/device_model.spec.ts b/tests/integration/models/device_model.spec.ts index 6c6d305..1e9c727 100644 --- a/tests/integration/models/device_model.spec.ts +++ b/tests/integration/models/device_model.spec.ts @@ -2,7 +2,7 @@ import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest' import { MongoClient, Db } from 'mongodb' import { DeviceId } from '../../../app/domain/device/device_id.js' -const MONGO_URI = 'mongodb://adam:adam@localhost:27017/adam-acs-test?authSource=admin' +const MONGO_URI = 'mongodb://adam:adam@localhost:27017/adam-acs-devices-test?authSource=admin' let client: MongoClient let db: Db let skip = false @@ -12,7 +12,7 @@ describe('Device Model (integration)', () => { try { client = new MongoClient(MONGO_URI, { serverSelectionTimeoutMS: 2000 }) await client.connect() - db = client.db('adam-acs-test') + db = client.db('adam-acs-devices-test') } catch { skip = true } diff --git a/tests/integration/ttl_expiration.spec.ts b/tests/integration/ttl_expiration.spec.ts index 59819e9..d5b994b 100644 --- a/tests/integration/ttl_expiration.spec.ts +++ b/tests/integration/ttl_expiration.spec.ts @@ -1,7 +1,7 @@ import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest' import { MongoClient, Db } from 'mongodb' -const MONGO_URI = 'mongodb://adam:adam@localhost:27017/adam-acs-test?authSource=admin' +const MONGO_URI = 'mongodb://adam:adam@localhost:27017/adam-acs-ttl-test?authSource=admin' const COLLECTION_NAME = 'cwmp_exchanges' let client: MongoClient @@ -13,7 +13,7 @@ describe('TTL expiration integration test', () => { try { client = new MongoClient(MONGO_URI, { serverSelectionTimeoutMS: 2000 }) await client.connect() - db = client.db('adam-acs-test') + db = client.db('adam-acs-ttl-test') // Ensure the collection exists before creating the index const collections = await db.listCollections({ name: COLLECTION_NAME }).toArray()