UNPKG

first-open-port

Version:

find the first open port on localhost within a range of specified ports

58 lines (41 loc) 1.58 kB
# ---------------------------------------------------------- # modules # ---------------------------------------------------------- chai = require 'chai' chaiAsPromised = require 'chai-as-promised' firstOpenPort = require '..' net = require 'net' # ---------------------------------------------------------- # assertions # ---------------------------------------------------------- chai.use(chaiAsPromised) assert = chai.assert # ---------------------------------------------------------- # tests # ---------------------------------------------------------- describe 'first open port', -> # ---------------------------------------------------------- # shared # ---------------------------------------------------------- server = undefined port = undefined # ---------------------------------------------------------- # hooks # ---------------------------------------------------------- before -> server = net.createServer() port = yield firstOpenPort 1024 server.listen(port) after -> server.close() # ---------------------------------------------------------- # cases # ---------------------------------------------------------- it 'return port number', -> assert.isNumber port # ---------------------------------------------------------- it 'iteratively find an open port', -> assert.notEqual port, yield firstOpenPort 1024 # ---------------------------------------------------------- it 'reject Promise if no open ports in range', -> assert.isRejected firstOpenPort port, port