feat: upgrade to MongoDB Node.js driver 4.x for MongoDB 5.0 support (#7794)
BREAKING CHANGE: The MongoDB GridStore adapter has been removed. By default, Parse Server already uses GridFS, so if you do not manually use the GridStore adapter, you can ignore this change.
This commit is contained in:
@@ -32,7 +32,7 @@ const {
|
||||
} = require('graphql');
|
||||
const { ParseServer } = require('../');
|
||||
const { ParseGraphQLServer } = require('../lib/GraphQL/ParseGraphQLServer');
|
||||
const ReadPreference = require('mongodb').ReadPreference;
|
||||
const { ReadPreference, Collection } = require('mongodb');
|
||||
const { v4: uuidv4 } = require('uuid');
|
||||
|
||||
function handleError(e) {
|
||||
@@ -4473,8 +4473,7 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear();
|
||||
|
||||
const databaseAdapter = parseServer.config.databaseController.adapter;
|
||||
spyOn(databaseAdapter.database.serverConfig, 'cursor').and.callThrough();
|
||||
spyOn(Collection.prototype, 'find').and.callThrough();
|
||||
|
||||
await apolloClient.query({
|
||||
query: gql`
|
||||
@@ -4498,13 +4497,13 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
let foundGraphQLClassReadPreference = false;
|
||||
let foundUserClassReadPreference = false;
|
||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
Collection.prototype.find.calls.all().forEach(call => {
|
||||
if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.PRIMARY);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
expect(call.object.s.readPreference.mode).toBe(ReadPreference.PRIMARY);
|
||||
} else if (call.object.s.namespace.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.PRIMARY);
|
||||
expect(call.object.s.readPreference.mode).toBe(ReadPreference.PRIMARY);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4520,8 +4519,7 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear();
|
||||
|
||||
const databaseAdapter = parseServer.config.databaseController.adapter;
|
||||
spyOn(databaseAdapter.database.serverConfig, 'cursor').and.callThrough();
|
||||
spyOn(Collection.prototype, 'find').and.callThrough();
|
||||
|
||||
await apolloClient.query({
|
||||
query: gql`
|
||||
@@ -4545,13 +4543,13 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
let foundGraphQLClassReadPreference = false;
|
||||
let foundUserClassReadPreference = false;
|
||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
Collection.prototype.find.calls.all().forEach(call => {
|
||||
if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.object.s.namespace.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.SECONDARY);
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.SECONDARY);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4564,8 +4562,7 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear();
|
||||
|
||||
const databaseAdapter = parseServer.config.databaseController.adapter;
|
||||
spyOn(databaseAdapter.database.serverConfig, 'cursor').and.callThrough();
|
||||
spyOn(Collection.prototype, 'find').and.callThrough();
|
||||
|
||||
await apolloClient.query({
|
||||
query: gql`
|
||||
@@ -4592,13 +4589,13 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
let foundGraphQLClassReadPreference = false;
|
||||
let foundUserClassReadPreference = false;
|
||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
Collection.prototype.find.calls.all().forEach(call => {
|
||||
if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.object.s.namespace.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.NEAREST);
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.NEAREST);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5456,8 +5453,7 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear();
|
||||
|
||||
const databaseAdapter = parseServer.config.databaseController.adapter;
|
||||
spyOn(databaseAdapter.database.serverConfig, 'cursor').and.callThrough();
|
||||
spyOn(Collection.prototype, 'find').and.callThrough();
|
||||
|
||||
await apolloClient.query({
|
||||
query: gql`
|
||||
@@ -5482,13 +5478,13 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
let foundGraphQLClassReadPreference = false;
|
||||
let foundUserClassReadPreference = false;
|
||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
Collection.prototype.find.calls.all().forEach(call => {
|
||||
if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.PRIMARY);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
expect(call.object.s.readPreference.mode).toBe(ReadPreference.PRIMARY);
|
||||
} else if (call.object.s.namespace.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.PRIMARY);
|
||||
expect(call.object.s.readPreference.mode).toBe(ReadPreference.PRIMARY);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5501,8 +5497,7 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear();
|
||||
|
||||
const databaseAdapter = parseServer.config.databaseController.adapter;
|
||||
spyOn(databaseAdapter.database.serverConfig, 'cursor').and.callThrough();
|
||||
spyOn(Collection.prototype, 'find').and.callThrough();
|
||||
|
||||
await apolloClient.query({
|
||||
query: gql`
|
||||
@@ -5527,13 +5522,13 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
let foundGraphQLClassReadPreference = false;
|
||||
let foundUserClassReadPreference = false;
|
||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
Collection.prototype.find.calls.all().forEach(call => {
|
||||
if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.object.s.namespace.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.SECONDARY);
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.SECONDARY);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5546,8 +5541,7 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear();
|
||||
|
||||
const databaseAdapter = parseServer.config.databaseController.adapter;
|
||||
spyOn(databaseAdapter.database.serverConfig, 'cursor').and.callThrough();
|
||||
spyOn(Collection.prototype, 'find').and.callThrough();
|
||||
|
||||
await apolloClient.query({
|
||||
query: gql`
|
||||
@@ -5574,13 +5568,13 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
let foundGraphQLClassReadPreference = false;
|
||||
let foundUserClassReadPreference = false;
|
||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
Collection.prototype.find.calls.all().forEach(call => {
|
||||
if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.object.s.namespace.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.NEAREST);
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.NEAREST);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -5594,8 +5588,7 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
await parseGraphQLServer.parseGraphQLSchema.schemaCache.clear();
|
||||
|
||||
const databaseAdapter = parseServer.config.databaseController.adapter;
|
||||
spyOn(databaseAdapter.database.serverConfig, 'cursor').and.callThrough();
|
||||
spyOn(Collection.prototype, 'find').and.callThrough();
|
||||
|
||||
await apolloClient.query({
|
||||
query: gql`
|
||||
@@ -5632,13 +5625,13 @@ describe('ParseGraphQLServer', () => {
|
||||
|
||||
let foundGraphQLClassReadPreference = false;
|
||||
let foundUserClassReadPreference = false;
|
||||
databaseAdapter.database.serverConfig.cursor.calls.all().forEach(call => {
|
||||
if (call.args[0].ns.collection.indexOf('GraphQLClass') >= 0) {
|
||||
Collection.prototype.find.calls.all().forEach(call => {
|
||||
if (call.object.s.namespace.collection.indexOf('GraphQLClass') >= 0) {
|
||||
foundGraphQLClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.args[0].ns.collection.indexOf('_User') >= 0) {
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.SECONDARY);
|
||||
} else if (call.object.s.namespace.collection.indexOf('_User') >= 0) {
|
||||
foundUserClassReadPreference = true;
|
||||
expect(call.args[0].options.readPreference.mode).toBe(ReadPreference.NEAREST);
|
||||
expect(call.args[1].readPreference).toBe(ReadPreference.NEAREST);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user