78 lines
2.1 KiB
JavaScript
78 lines
2.1 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
var devIp = require("../lib/dev-ip");
|
||
|
var respNone = require("./fixtures/resp-none");
|
||
|
var respSingle = require("./fixtures/resp-single");
|
||
|
var respMultiple = require("./fixtures/resp-multiple");
|
||
|
var sinon = require("sinon");
|
||
|
var assert = require("chai").assert;
|
||
|
var os = require("os");
|
||
|
|
||
|
// From the resp files
|
||
|
var match1 = "10.104.103.181";
|
||
|
var match2 = "10.104.100.12";
|
||
|
|
||
|
var regex = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
|
||
|
|
||
|
describe("Getting the IP with a single result", function () {
|
||
|
var osStub;
|
||
|
var result;
|
||
|
before(function () {
|
||
|
osStub = sinon.stub(os, "networkInterfaces").returns(respSingle);
|
||
|
});
|
||
|
beforeEach(function () {
|
||
|
result = devIp(null);
|
||
|
});
|
||
|
after(function () {
|
||
|
osStub.restore();
|
||
|
});
|
||
|
it("should return the IP when a single match found", function () {
|
||
|
var expected = match1;
|
||
|
assert.deepEqual(result, [expected]);
|
||
|
});
|
||
|
it("should return a string matching the regex", function () {
|
||
|
var actual = regex.exec(result);
|
||
|
assert.isNotNull(actual);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe("Getting the IP with Multiple results", function () {
|
||
|
var osStub;
|
||
|
var result;
|
||
|
before(function () {
|
||
|
osStub = sinon.stub(os, "networkInterfaces").returns(respMultiple);
|
||
|
});
|
||
|
beforeEach(function () {
|
||
|
result = devIp(null);
|
||
|
});
|
||
|
after(function () {
|
||
|
osStub.restore();
|
||
|
});
|
||
|
it("should return an array of results", function () {
|
||
|
assert.equal(result[0], match1);
|
||
|
assert.equal(result[1], match2);
|
||
|
});
|
||
|
it("should return a string matching the regex", function () {
|
||
|
var actual = regex.exec(result[0]);
|
||
|
assert.isNotNull(actual);
|
||
|
actual = regex.exec(result[1]);
|
||
|
assert.isNotNull(actual);
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe("Getting the IP with no results", function () {
|
||
|
var osStub;
|
||
|
var result;
|
||
|
before(function () {
|
||
|
osStub = sinon.stub(os, "networkInterfaces").returns(respNone);
|
||
|
});
|
||
|
after(function () {
|
||
|
osStub.restore();
|
||
|
});
|
||
|
it("should return empty array", function () {
|
||
|
var actual = devIp();
|
||
|
assert.isArray(actual);
|
||
|
assert.equal(actual.length, 0);
|
||
|
});
|
||
|
});
|