From b968d8594c5482f04e26bfcd1e7288fe9bec899c Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Wed, 13 Mar 2024 14:44:12 -0400 Subject: [PATCH] ci: proper mongodb memory server configuration (#5318) * ci: mongo memory server instance * test: use proper mongo memory opts * chore: rollback mongodb-memory-server dep * chore: more mongodb-memory-server --- package.json | 3 +- packages/db-mongodb/package.json | 2 +- pnpm-lock.yaml | 97 +++++++++++--------------------- test/startMemoryDB.ts | 10 ++-- 4 files changed, 41 insertions(+), 71 deletions(-) diff --git a/package.json b/package.json index 380afd8fbf..1e64c5089c 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,7 @@ "lexical": "0.13.1", "lint-staged": "^14.0.1", "minimist": "1.2.8", - "mongodb-memory-server": "^9", + "mongodb-memory-server": "8.13.0", "next": "14.1.2", "node-mocks-http": "^1.14.1", "nodemon": "3.0.3", @@ -174,6 +174,7 @@ "dotenv": "$dotenv", "drizzle-orm": "$drizzle-orm", "graphql": "^16.8.1", + "mongodb-memory-server": "$mongodb-memory-server", "react": "$react", "react-dom": "$react-dom", "typescript": "$typescript" diff --git a/packages/db-mongodb/package.json b/packages/db-mongodb/package.json index 9113471a71..17ff7e3014 100644 --- a/packages/db-mongodb/package.json +++ b/packages/db-mongodb/package.json @@ -35,7 +35,7 @@ "@payloadcms/eslint-config": "workspace:*", "@types/mongoose-aggregate-paginate-v2": "1.0.9", "mongodb": "4.17.1", - "mongodb-memory-server": "^9", + "mongodb-memory-server": "8.13.0", "payload": "workspace:*" }, "peerDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b899875647..bcb735bda9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ overrides: dotenv: 8.6.0 drizzle-orm: 0.29.4 graphql: ^16.8.1 + mongodb-memory-server: 8.13.0 react: ^18.2.0 react-dom: ^18.2.0 typescript: 5.2.2 @@ -187,8 +188,8 @@ importers: specifier: 1.2.8 version: 1.2.8 mongodb-memory-server: - specifier: ^9 - version: 9.1.6 + specifier: 8.13.0 + version: 8.13.0 next: specifier: 14.1.2 version: 14.1.2(@babel/core@7.24.0)(react-dom@18.2.0)(react@18.2.0) @@ -384,8 +385,8 @@ importers: specifier: 4.17.1 version: 4.17.1 mongodb-memory-server: - specifier: ^9 - version: 9.1.6 + specifier: 8.13.0 + version: 8.13.0 payload: specifier: workspace:* version: link:../payload @@ -7054,8 +7055,8 @@ packages: tslib: 2.6.2 dev: true - /async-mutex@0.4.1: - resolution: {integrity: sha512-WfoBo4E/TbCX1G95XTjbWTE3X2XLG0m1Xbv2cwOtuPdyH9CZvnaA5nCt1ucjaKEgW2A5IF71hxrRhr83Je5xjA==} + /async-mutex@0.3.2: + resolution: {integrity: sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==} dependencies: tslib: 2.6.2 dev: true @@ -7119,7 +7120,7 @@ packages: /axios@1.4.0: resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} dependencies: - follow-redirects: 1.15.5(debug@4.3.4) + follow-redirects: 1.15.5 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -7401,11 +7402,6 @@ packages: dependencies: buffer: 5.7.1 - /bson@5.5.1: - resolution: {integrity: sha512-ix0EwukN2EpC0SRWIj/7B5+A6uQMQy6KMREI9qQqvgpkV2frH63T0UDVd1SYedL6dNCmDBYB3QtXi4ISk9YT+g==} - engines: {node: '>=14.20.1'} - dev: true - /buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true @@ -10106,7 +10102,7 @@ packages: tabbable: 5.3.3 dev: false - /follow-redirects@1.15.5(debug@4.3.4): + /follow-redirects@1.15.5: resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} engines: {node: '>=4.0'} peerDependencies: @@ -10114,8 +10110,7 @@ packages: peerDependenciesMeta: debug: optional: true - dependencies: - debug: 4.3.4(supports-color@5.5.0) + dev: false /for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -12741,6 +12736,12 @@ packages: dependencies: tmpl: 1.0.5 + /md5-file@5.0.0: + resolution: {integrity: sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + /md5@2.3.0: resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} dependencies: @@ -12939,44 +12940,38 @@ packages: '@types/whatwg-url': 8.2.2 whatwg-url: 11.0.0 - /mongodb-memory-server-core@9.1.6: - resolution: {integrity: sha512-3H/dq5II+XcSbK80hicMw4zFlDxcpjt4oWJq76RlOVuLoaf3AFqVheR6Vqx9ymlIqER4Jni58FMCIIRbesia1A==} - engines: {node: '>=14.20.1'} + /mongodb-memory-server-core@8.13.0: + resolution: {integrity: sha512-4NTOzYOlRUilwb8CxOKix/XbZmac4cLpmEU03eaHx90lgEp+ARZM2PQtIOEg3nhHo97r9THIEv6Gs4LECokp0Q==} + engines: {node: '>=12.22.0'} dependencies: - async-mutex: 0.4.1 + async-mutex: 0.3.2 camelcase: 6.3.0 debug: 4.3.4(supports-color@5.5.0) find-cache-dir: 3.3.2 - follow-redirects: 1.15.5(debug@4.3.4) - https-proxy-agent: 7.0.4 - mongodb: 5.9.2 + get-port: 5.1.1 + https-proxy-agent: 5.0.1 + md5-file: 5.0.0 + mongodb: 4.17.1 new-find-package-json: 2.0.0 semver: 7.6.0 - tar-stream: 3.1.7 + tar-stream: 2.2.0 tslib: 2.6.2 + uuid: 9.0.1 yauzl: 2.10.0 transitivePeerDependencies: - - '@aws-sdk/credential-providers' - - '@mongodb-js/zstd' - - kerberos - - mongodb-client-encryption - - snappy + - aws-crt - supports-color dev: true - /mongodb-memory-server@9.1.6: - resolution: {integrity: sha512-gzcpgGYlPhuKmria37W+bvYy6W+OkX2UVG7MoP41OWFvQv2Hn7A+fLXkV+lsMmhog1lMQprdV6AR+gixgheLaw==} - engines: {node: '>=14.20.1'} + /mongodb-memory-server@8.13.0: + resolution: {integrity: sha512-CyrKMwEmRePn8iQ3LtWQiOJxlGK0eM+NNTq3Yg8m7gaywepFu24mF7s13q87Kfuq0WgBuCJQ4t6VcUZJ4m+KWQ==} + engines: {node: '>=12.22.0'} requiresBuild: true dependencies: - mongodb-memory-server-core: 9.1.6 + mongodb-memory-server-core: 8.13.0 tslib: 2.6.2 transitivePeerDependencies: - - '@aws-sdk/credential-providers' - - '@mongodb-js/zstd' - - kerberos - - mongodb-client-encryption - - snappy + - aws-crt - supports-color dev: true @@ -12993,34 +12988,6 @@ packages: transitivePeerDependencies: - aws-crt - /mongodb@5.9.2: - resolution: {integrity: sha512-H60HecKO4Bc+7dhOv4sJlgvenK4fQNqqUIlXxZYQNbfEWSALGAwGoyJd/0Qwk4TttFXUOHJ2ZJQe/52ScaUwtQ==} - engines: {node: '>=14.20.1'} - peerDependencies: - '@aws-sdk/credential-providers': ^3.188.0 - '@mongodb-js/zstd': ^1.0.0 - kerberos: ^1.0.0 || ^2.0.0 - mongodb-client-encryption: '>=2.3.0 <3' - snappy: ^7.2.2 - peerDependenciesMeta: - '@aws-sdk/credential-providers': - optional: true - '@mongodb-js/zstd': - optional: true - kerberos: - optional: true - mongodb-client-encryption: - optional: true - snappy: - optional: true - dependencies: - bson: 5.5.1 - mongodb-connection-string-url: 2.6.0 - socks: 2.8.1 - optionalDependencies: - '@mongodb-js/saslprep': 1.1.4 - dev: true - /mongoose-aggregate-paginate-v2@1.0.6: resolution: {integrity: sha512-UuALu+mjhQa1K9lMQvjLL3vm3iALvNw8PQNIh2gp1b+tO5hUa0NC0Wf6/8QrT9PSJVTihXaD8hQVy3J4e0jO0Q==} engines: {node: '>=4.0.0'} diff --git a/test/startMemoryDB.ts b/test/startMemoryDB.ts index ac76ad7158..519b8c0249 100644 --- a/test/startMemoryDB.ts +++ b/test/startMemoryDB.ts @@ -24,12 +24,14 @@ export const startMemoryDB = async ( default: { const port = await getPort() const db = await MongoMemoryReplSet.create({ - instance: { - dbName: 'payloadmemory', - port, - }, + instanceOpts: [ + { + port, + }, + ], replSet: { count: 3, + dbName: 'payloadmemory', }, })