http-test-server

2.0.1 • Public • Published

http-test-server

Create a simple http server for tests

Installation

Download node at nodejs.org and install it, if you haven't already.

npm install http-test-server --save

Usage

/* eslint-disable import/no-extraneous-dependencies */
 
import test from 'tapava';
import got from 'got';
 
import httpTestServer from 'http-test-server';
 
test('simple GET', t =>
  httpTestServer((req, res) => {
    t.is(req.url, '/foo');
    t.is(req.method, 'GET');
    res.end('beep boop');
  })
    .then(({shutdown, baseUrl}) =>
      got(`${baseUrl}/foo`)
      .then(({body}) => {
        t.is(body, 'beep boop');
 
        return shutdown();
      })
    )
);
 
test('simple POST', t =>
  httpTestServer((req, res) => {
    t.is(req.url, '/foo');
    t.is(req.method, 'POST');
    t.is(req.body.toString(), 'heja');
    res.statusCode = 201;
    res.end('beep boop');
  })
    .then(({shutdown, baseUrl}) =>
      got(`${baseUrl}/foo`, {
        body: 'heja',
        method: 'post'
      })
      .then(({body, statusCode}) => {
        t.is(body, 'beep boop');
        t.is(statusCode, 201);
 
        return shutdown();
      })
    )
);
 

Tests

npm install
npm test

Dependencies

Dev Dependencies

License

MIT

Generated by package-json-to-readme

Readme

Keywords

none

Package Sidebar

Install

npm i http-test-server

Weekly Downloads

26

Version

2.0.1

License

MIT

Last publish

Collaborators

  • kesla