Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
return new Promise((resolve, reject) => {
const dbc = new DatabaseClient();
const MongoClient = mongoMock.MongoClient;
// unique db for each request
const uri = `mongodb://${faker.internet.domainName()}:12345/Foo`;
MongoClient.connect(uri, {}, (err, db) => {
if (err) reject(err);
else {
// dbc.connect(uri, db);
// Hack until mongo-mock support 3.x driver
dbc.db = Promise.resolve(db);
dbs.push(db);
resolve(dbc);
}
});
});
}
col.updateOne = async function replacementUpdateOne(...uoArgsIncoming) {
const uoArgs = uoArgsIncoming;
try {
return await originalUpdateOne.call(this, ...uoArgs);
} catch (err) {
if (err && err.code === 121) {
// Get doc we're trying to update
const currentDoc = await col.findOne(uoArgs[0]);
// Load current doc into mock mongo
const mockDb = await MongoMock.MongoClient.connect(MongoMockUrl);
const mockCol = mockDb.collection('mock');
await mockCol.insertOne(currentDoc);
// Apply updates to our mock version of the current doc
await mockCol.updateOne(...uoArgs);
// Get updated doc from mock mongo to compare against schema
const doc = await mockCol.findOne(uoArgs[0]);
// Explain schema errors
err.validationErrors = await explainValidationError(db, collectionName, { doc });
// Clean up MongoMock
await mockCol.removeOne(...uoArgs);
}
throw err;
}
};
col.updateMany = async function replacementUpdateMany(...umArgsIncoming) {
let expect = require('chai').expect;
let mongomock = require('mongo-mock');
mongomock.max_delay = 0;
let datafire = require('../index');
let locations = require('../lib/locations');
locations.integrations.push(__dirname + '/integrations');
locations.credentials = [__dirname + '/credentials'];
let mongo = datafire.Integration.new('mongodb').as('test');
mongo.client = mongomock.MongoClient;
describe('MongoDB Integration', () => {
let executeSuccess = (flow, done) => {
flow.execute(err => {
if (err) throw err;
done();
});
}
it('should insert', (done) => {
let flow = new datafire.Flow('test_flow');
let pets = [{
name: 'Lucy',
type: 'dog',
}, {
name: 'Blaney',
var MongoDB = require('mongo-mock');
var DBConfig = require('../configuration/database.js');
/**
* Node Emulator Project
*
* Handles connections to MongoDB
*
* @author Alvaro Bezerra
*/
var MongoClient = MongoDB.MongoClient;
MongoClient.persist = DBConfig.jsonFileName;
var ConnectionManager = function( onConnectionReady ) {
console.log("[ I ] Connecting to MongoDB NoSQL Database...");
MongoClient.connect(DBConfig.connectionUrl, function( err, db ) {
if(err) {
console.error("[ E ] ConnectionManager::Error while trying to connect to MongoDB. See logs for more details.".red);
process.exit(1);
}
//MOCK
var accounts = db.collection('login');
accounts.insert({
userId: 'alvarodms',