Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@skewedaspect/redmock

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@skewedaspect/redmock

Mock Redis server for unit testing.

latest
Source
npmnpm
Version
1.2.2
Version published
Maintainers
1
Created
Source

RedMock

Build Status

Mock Redis server for Node unit tests.

Requires Node version 8.1.0 or higher for the newest language features.

Purpose

This project was created to help unit test applications using Redis. Stubbing out the redis client to perform unit tests is problematic, because it requires tying tests to the api of a dependency, not the application code. Version upgrades, or other dependency changes. Instead, RedMock can be used to do full integration testing, without needing to start a real redis server.

Fork

This project has been forked to update dependencies and try to bring the code base into a more modern state, thanks to advances in node.js since v5. The code is being cleaned up, and examples/tests are being updated.

Usage

npm

$ npm install -D @skewedaspect/redmock

yarn

$ yarn add -D @skewedaspect/redmock

Starting the server

Call the start method after creating a new instance of the RedisServer class. This method returns an ES6 promise.

const RedisServer = require('@skewedaspect/redmock');

const redisServer = new RedisServer();

redisServer
    .start()
    .then((res) =>
    {
        // Server is now up
    })
    .catch((err) =>
    {
        // Deal with error
    });

Stopping the server

Call the stop method. This method returns a promise. (This message does not error.)

redisServer
    .stop()
    .then((res) =>
    {
        // Server is now stopped
    });

Example test

// require needed modules

describe('SomeTestSpec', () =>
{
    let redisServer, underTest;

    // Start the server
    before(() =>
    {
        redisServer = new RedisServer();
        return redisServer.start();
    });

    // Stop the server
    after(() =>
    {
        return redisServer.stop();
    });

    describe('#somemethod()', () =>
    {
        let underTest;
        beforeEach(() => 
        {
            underTest = new UnderTest();
        });

        it('should test it', () =>
        {
            return underTest.somemethod().should.eventually.equal(true);
        });
    });
});

FAQs

Package last updated on 04 Sep 2019

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