You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.1 KiB
77 lines
2.1 KiB
"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); |
|
}); |
|
});
|
|
|