1.2.4 • Published 8 years ago

n-mock v1.2.4

Weekly downloads
55
License
MIT
Repository
github
Last release
8 years ago

n-mock

Setup a mock server easily.

Why use this module?

  • Build a bridge between Frontend and Backend
  • This allows for parallel development

Usage

To use n-mock, you has two choices: Cli or Middleware.

Use as command line

Step 1 : install globally.

$ npm install -g n-mock

Step 2 : create mock json file

After create a server, you can add some json file to mocks dir, for example:

my-project
├── app.js
├── mocks
│   ├── users
│   │   ├── 1.GET.response.200.json
│   │   ├── 1.GET.response.401.json
│   │   └── 2.GET.response.200.json
│   ├── users.GET.response.200.json
│   ├── users.POST.request.json
│   ├── users.POST.response.200.json
│   ├── users.POST.response.422.json
│   └── users.PUT.response.200.json
└── package.json

Step 3 : start mock server

$ cd my-project/mocks
$ n-mock --baseDir .

And boom!! You will see something in you browser.

Use as A middleware for Node.js (browser-sync、express、 connect).

Step 1 : create a server

if browser-sync

var mock = require('n-mock');
var gulp = require('gulp');
var browserSync = require('browser-sync').create();

// Static server
gulp.task('browser-sync', function() {
  browserSync.init({
    server: {
    baseDir: './',
    middleware: [
      mock(__dirname + '/mocks')
    ]}
  });
});

if express

var express = require('express');
var mock = require('n-mock');

var app = express();
app.use(mock(__dirname + '/mocks'));
app.listen(3000);

if connect

var connect = require('connect');
var mock = require('n-mock');

var app = connect();
app.use(mock(__dirname + '/mocks'));
app.listen(3000);

Step 2 : create mock json file

After create a server, you can add some json file to mocks dir, for example:

my-project
├── app.js
├── mocks
│   ├── users
│   │   ├── 1.GET.response.200.json
│   │   ├── 1.GET.response.401.json
│   │   └── 2.GET.response.200.json
│   ├── users.GET.response.200.json
│   ├── users.POST.request.json
│   ├── users.POST.response.200.json
│   ├── users.POST.response.422.json
│   └── users.PUT.response.200.json
└── package.json

Step 3 : enjoy it

After start your server, you can use it.

For example 1 :

curl -i http://localhost:9999/users?_status=200 will get response:

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Mon, 27 Jul 2015 16:23:34 GMT
Connection: keep-alive
Transfer-Encoding: chunked

[{
  "id": 1,
  "name": "foo",
  "email": "foo@gmail.com",
}, {
  "id": 2,
  "name": "bar",
  "email": "bar@gmail.com",
}]

_status=200 mean that you get a response with http status code 200. By default, _status equal to 200. so, curl http://localhost:9999/users will get a collect response too.

For example 2 :

curl -X POST http://localhost:9999/users?_status=422 will get response:

HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json;charset=UTF-8
Date: Mon, 27 Jul 2015 16:22:45 GMT
Connection: keep-alive
Transfer-Encoding: chunked

{
  "code" : 1234,
  "description" : "bad email format"
}

You can see the Complete Example:

1.2.4

8 years ago

1.2.3

8 years ago

1.2.2

8 years ago

1.2.1

8 years ago

1.2.0

8 years ago

1.1.9

8 years ago

1.1.8

8 years ago

1.1.7

8 years ago

1.1.6

8 years ago

1.1.5

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.10

9 years ago

1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

9 years ago

1.0.6

9 years ago

1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago