How to use mongo-mock - 7 common examples

To help you get started, we’ve selected a few mongo-mock examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github swimlane / mongtype / tests / Repository.spec.ts View on Github external
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);
        }
      });
    });
  }
github swimlane / mongtype / tests / Repository.spec.ts View on Github external
import 'reflect-metadata';
import { MongoRepository } from '../src/Repository';
import { Collection, Before, After } from '../src/Decorators';
import { DatabaseClient } from '../src/DatabaseClient';
import * as mongoMock from 'mongo-mock';
mongoMock.max_delay = 0; // turn of fake async
import { expect } from 'chai';
import * as faker from 'faker';

describe('MongoRepository', () => {
  const dbs = [];

  // Make sure you close all DBs
  // Added this in case of error, CI tests are not hung open
  after(async () => {
    await Promise.all(dbs.map(db => db.close()));
  });

  function getDb(): Promise {
    return new Promise((resolve, reject) => {
      const dbc = new DatabaseClient();
      const MongoClient = mongoMock.MongoClient;
github devetry / mongo-schemer / index.js View on Github external
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) {
github devetry / mongo-schemer / index.js View on Github external
const Ajv = require('ajv');
const AjvBsonType = require('ajv-bsontype');
const MongoMock = require('mongo-mock');

const ajv = new Ajv({ allErrors: true });
AjvBsonType(ajv);

const MongoMockUrl = 'mongodb://localhost:27017/mongo-schemer';

MongoMock.max_delay = 0;

const validationErrors = async (db, collectionName, { doc, err }) => {
  const collectionInfo = await db.command({ listCollections: 1, filter: { name: collectionName } });
  const schema = collectionInfo.cursor.firstBatch[0].options.validator.$jsonSchema;
  if (!doc && err) {
    doc = ('op' in err) ? err.op : err.getOperation(); // eslint-disable-line no-param-reassign
  }
  const valid = ajv.validate(schema, doc);
  return { valid, errors: ajv.errors };
};

const explainSchemaErrors = (incomingDb, options = {}) => {
  const db = incomingDb;
  const { onError, includeValidationInError } = options;
  if (onError) {
    db.onValidationError = onError;
github DataFire / DataFire / test / integrations.js View on Github external
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',
github DataFire / DataFire / test / integrations.js View on Github external
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();
    });
  }
github alvarodms / node-ro / server / database / connectionManager.js View on Github external
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',

mongo-mock

Let's pretend we have a real MongoDB

MIT
Latest version published 2 years ago

Package Health Score

48 / 100
Full package analysis

Popular mongo-mock functions