New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@fanmiles/node-mongod-runner

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fanmiles/node-mongod-runner

Run mongod binary with ephemeralForTest storage

Source
npmnpm
Version
2.0.0
Version published
Maintainers
1
Created
Source

node-mongod-runner

Nodejs runner for mongod with ephemeralForTest storage type and guaranteed listening port. The process will be stopped on SIGINT or SIGTERM signals.

Usage

const mongodRunner = require('node-mongod-runner');
const mongodb = require('mongodb');

mongodRunner().then(({ connectionUri }) => {
  return mongodb.connect(`${connectionUri}/test_db`);
})
  • Passing some suggestion for port:

    mongodRunner({
      port: 27101,
    })
    

    If the port is not free a random one will be generated and returned.

  • Listening only on localhost:

    mongodRunner({
      host: 'localhost',
    })
    
  • Use a different version of MongoDB:

    mongodRunner({
      version: '3.2.0',
    })
    

    This might take a while because it needs to download the mongod binary. So, if used in Mocha tests you need to consider setting a timeout.

Default configuration

{
  "port": 27017,
  "host": "0.0.0.0"
}

API

mongodRunner({ port, host, version })

Returns a promise that will resolve an object containing connectionUri and port.

// result
{
  connectionUri // 'mongodb://0.0.0.0:44444'
  port          // the generated port Eg.: 44444
}

mongoRunner.createMongoClient({ connectionUri })

It takes a connectionUri and it creates a mongodb connection to a random database. It returns a Promise that will resolve to an object containing the connectionUri that includes the random generated database name.

// result
{
  connectionUri // the connection uri with a randomly generated db name Eg.: 'mongodb://0.0.0.0:44444/test-db-a743afc5-1571-486a-b26b-982f40f27c32'
  mongoClient   // a mongodb client connection
}

FAQs

Package last updated on 02 Jan 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts