Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mocha-docker-postgres

Package Overview
Dependencies
Maintainers
4
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mocha-docker-postgres

Test helper for Postgres integration tests.

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

mocha docker postgres

Build Status

mocha testhelper for integration tests with postgres using docker.

Usage:

require('mocha-docker-postgres'); // will patch the mocha Context prototype

var someModule = require('../someModule');

describe('some module', function () {
    var instanceOfSomeModule;
    before(function () {
        this.timeout(10000); // you may need to bump the timeout for this block
        return this.dockerPostgres();
    });
    before(function () {
        // create an instance of someModule where the connection string
        // to the created postgres instance is passed along as an option
        instanceOfSomeModule = someModule({
            conString: this.conString
        });
    });

    it('should ...', function () {
        return expect(instanceOfSomeModule.whatEver, 'to ...');
    });
});

A call to this.dockerPostgres() will start a docker container (unless we already have one that fits) , and will set the value this.conString to the postgres url needed to connect to that database.

The method returns a promise, and that promise will not resolve until the postgres database is ready to accept connections.

You get a completely fresh database after each call to this.dockerPostgres so you will need to run your migrations in a before hook after that.

If you want to have a completely fresh database for each test, you can make the before hook into a beforeEach. It will reuse the same postgres container, but create new databases for each invocation of the method - which makes it a lot less time consuming.

On my developer work station it takes about 4 seconds for postgres to start up, and that is only done once per test run.

FAQs

Package last updated on 29 May 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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc