mockenzo

2.3.0 • Public • Published

npm version

Mockenzo mock-server

Mockenzo is a library to help developers and testers to create mock servers in an easy and practical way

It is a library compatible with all types of unit and integration tests.

Installation

Use your favorite package manager to install:

npm install mockenzo --dev
yarn add mockenzo -D

Usage

HTTP Mock Server

const Mockenzo = require('mockenzo')//javascript / typescript
const mockJsonFile = require('./path/mock_jsonfile_response200.json')

Mockenzo()
    .http()//init config http
        .on(3000)//listen on port
        .post('/enzo')//init config route
            .delay(3000)//add delay for response
            .statusCode(400)//send status code
            .response({
                'error_code': 400,
                'error_description': 'Bad Request'
            })
            .run()//finish config and run
        .get('/enzo')//init new route
            .statusCode(401)
            .response({
                'error_code': 401,
                'error_description': 'Unauthorized'
            })
            .run()
        .get('/enzos')
            .statusCode(200)
            .responseJsonFile(jsonFile)
            .run()
        .start(() => {
            console.log("server is running")
        });

HTTP Mock Server with ObjectConfig

Object Route Config
{
    route: '/products',
    statusCode: 200,
    method: 'GET',
    delay: 500,
    response: [{name: 'Product 1'}, {name: 'Product 2'}]
}
Mockenzo().http()
    .on(3000)
    .run([{
        route: '/products',
        statusCode: 200,
        method: 'GET',
        delay: 500,
        response: [{name: 'Product 1'}, {name: 'Product 2'}],
    }, {
        route: '/clients',
        statusCode: 200,
        method: 'GET',
        delay: 1000,
        response: [{name: 'Client 1'}, {name: 'Client 2'}],
    }])
    .start(() => {
        console.log("http server is running")
    });

Socket Mock Server

const Mockenzo = require('mockenzo')//javascript / typescript

const mockenzo = Mockenzo()
    .socket()
        .on(3001)
            .onConnection(() => {
                console.log('received new connection')
                mockenzo.send('message', 'Hello World! You are connected');
            })
            .onMessage((ws, data) => {
                console.log(data)//print message sent to server
                ws.emit('message', 'message received of client');
            })
            .onError((error) => {
                console.error('received error', error)
            })
            .onClose(() => {
                console.log("closing socket server")
            })
        .start();

Sample

yarn standalone

How to use

HTTP Server

Methods Description
on(port) Create server listening port | default port is 3000
get('/') Create method get
post('/') Create method post
put('/') Create method put
delete('/') Create method delete
path('/') Create method path
statusCode(statusCode) Send status code number
response({ }) Response object
responseJsonFile(file) Response file json object (add file json using require)
delay(timeMilliseconds) add response delay in milliseconds
run() finish the route configuration and run
start() initialize mock server
start(function(){}) initialize mock server and execute function when initialize
stop() stop mock server - finishing instance

Socket Server

Methods Description -
on(path, port) create server on path server "/users" | default path is "/" create server listening port | default port is 3001
onConnection method callled when receive new client connection
onMessage(data) method called when client send message
onError method called when a server error occurs
onClose method callend when client close connection
disconnect() disconnect all clients
start() initialize mock server
start(function(){}) initialize mock server and execute function when initialize
stop() stop mock server - finishing instance

Package Sidebar

Install

npm i mockenzo

Weekly Downloads

3

Version

2.3.0

License

MIT

Unpacked Size

14 kB

Total Files

8

Last publish

Collaborators

  • charleston10