UNPKG

navy

Version:

Quick and powerful development environments using Docker and Docker Compose

46 lines (44 loc) 1.7 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _chai = require("chai"); var _sinon = _interopRequireDefault(require("sinon")); var _dns = _interopRequireDefault(require("dns")); var _os = _interopRequireDefault(require("os")); var _getLanIp = require("../get-lan-ip"); /* eslint-env mocha */ describe('get-lan-ip', function () { describe('getLANIP', function () { let sandbox; beforeEach(function () { sandbox = _sinon.default.createSandbox(); }); afterEach(function () { sandbox.restore(); }); it('should resolve with the looked-up address for the host name', async function () { sandbox.stub(_os.default, 'hostname').returns('my-laptop.local'); const dnsStub = sandbox.stub(_dns.default, 'lookup').callsFake((host, opts, cb) => { cb(null, '10.0.0.42'); }); const result = await (0, _getLanIp.getLANIP)(); (0, _chai.expect)(result).to.equal('10.0.0.42'); (0, _chai.expect)(dnsStub.calledOnce).to.equal(true); (0, _chai.expect)(dnsStub.firstCall.args[0]).to.equal('my-laptop.local'); (0, _chai.expect)(dnsStub.firstCall.args[1]).to.equal(null); }); it('should reject if dns.lookup fails', async function () { sandbox.stub(_os.default, 'hostname').returns('unknown.local'); const lookupError = new Error('lookup failed'); sandbox.stub(_dns.default, 'lookup').callsFake((host, opts, cb) => { cb(lookupError); }); let caught; try { await (0, _getLanIp.getLANIP)(); } catch (err) { caught = err; } (0, _chai.expect)(caught).to.equal(lookupError); }); }); });