scenario-test

0.1.2 • Public • Published

scenario-test

A simple javascript test tool for testing node.js HTTP servers.

Just write the YAML files!

Install

$ npm install -g scenario-test

Example

First, create a config file,

config.yaml

server: http://localhost:3000
mongodb: mongodb://localhost/test
user: ./user/user.yaml
api:
  class: user
    path: ./api/user.yaml
 
scenario: 
  - ./scenario/user.yaml 

then, create your users

./user/user.yaml

user_id: user1
  with:
    username: user1
    email: user1@mail.com
    password: user1234

and just describe your APIs,

./api/user.yaml

API: create
  method: POST
  path: /users
  parameters: 
    username: self.username
    email: self.email
    password: self.password
  response:
    when user sign up ok:
      expect status: 200
 
API: login
  method: POST
  path: /login
  parameters:
    username: self.username
    password: self.password
  response:
    when user login ok:
      expect status: 200
      expect header:
        # header to test 
      expect body:
        # res.body to test 

then, give some scenarios ./scenario/user.yaml

who: user1 
  what: user.create
  with: 
    path_params:
      # ":id": 42398503298092380 
    query_params:
      # "limit": 20 
    data_params:
      # "body": {} 
  expect: user sign up ok
  obtain:
    # _id: res.body_id 
 
who: user1
  what: user.login
  expect: user login ok

finally, write a simple js file,

var Scenario = require('./index');
var scenario = new Scenario('./config.yaml');
 
describe('start test', function() {
  it('should pass all tests', function (done) {
    var options = {
      timeout: 3000
    };
 
    scenario.start(options, done)
      .then(function(res) {
        // test finish
      })
      .catch(function(error) {
        done(error);
      });
  });
});

and, run your test by typing

$ npm test

the result will look like

alt text

API

Test

test a scenario

return a promise

scenario-test.test(scenario)
  .then(function(res){
      // do your stuff
  })
  .catch(function(err){
      // deal with error
  });

Readme

Keywords

Package Sidebar

Install

npm i scenario-test

Weekly Downloads

4

Version

0.1.2

License

MIT

Last publish

Collaborators

  • chihsuan