This is not GitHub.com

Like what you see? Install OctoLinker now!

Skip to content
Quick ephemeral URLs for your tests
JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test 1.1.0 (#26) Dec 1, 2017
.gitignore Only ignore deps Jan 26, 2017
.travis.yml
README.md Added express, koa example (#25) Dec 2, 2018
index.js 1.1.0 (#26) Dec 1, 2017
package.json Release 1.1.0 Dec 1, 2017

README.md

test-listen

Build Status XO code style

URLs with ephemeral ports. async/await ready.

Usage

Install it:

npm install --save-dev test-listen

Pass a http.Server to test-listen and it will return an URL in the format http://localhost:{port}.

The second parameter can optionally be a hostname to return in the URL instead of localhost.

Useful for running HTTP server testsuites:

const http = require('http')
const listen = require('test-listen')

const srv = http.createServer((req, res) => res.end('1'))
const srv2 = http.createServer((req, res) => res.end('2'))

test('urls', async t => {
  let url = await listen(srv)
  t.ok(url == 'http://localhost:11401')
  let url = await listen(srv2)
  t.ok(url == 'http://localhost:42333')
})

It also works with Express:

const http = require('http')
const express = require('experss')
const listen = require('test-listen')

const srv = express()

test('urls', async t => {
  let url = await listen(http.createServer(srv))
  t.ok(url == 'http://localhost:11401')
})

Or Koa:

const http = require('http')
const Koa = require('koa')
const listen = require('test-listen')

const srv = new Koa();

test('urls', async t => {
  let url = await listen(http.createServer(srv.callback()))
  t.ok(url == 'http://localhost:11401')
})

Authors

You can’t perform that action at this time.