geosearch
Version:
Geo location service using multiple free independent services and modules
85 lines (79 loc) • 2.37 kB
JavaScript
;
const path = require('path');
const assert = require("chai").assert;
const expect = require("chai").expect;
var service = require(path.join(__dirname, "../../lib/services/ipgeobase"));
describe("Testing ipgeobase", function () {
before(function () {
});
it("Valid ip should get object as a result", function (done) {
var ip = '8.8.8.8';
service.lookup(ip, function (err, result) {
console.log(err,result);
try {
expect(result).be.a('object');
done();
} catch (e) {
done(e);
}
});
});
it("Invalid ip should get error", function (done) {
var ip = '8.8.8';
service.lookup(ip, function (err, result) {
try {
expect(err).not.equal(null);
done();
} catch (e) {
done(e);
}
});
});
it("Invalid ip should get error", function (done) {
var ip = '8.8.8.888';
service.lookup(ip, function (err, result) {
try {
expect(err).not.equal(null);
done();
} catch (e) {
done(e);
}
});
});
it("Invalid file should get error", function (done) {
service.setParam('citiesdb', 'wrong-path');
var ip = '8.8.8.8';
service.lookup(ip, function (err, result) {
try {
expect(err).not.equal(null);
done();
} catch (e) {
done(e);
}
});
});
it("Valid file should get result", function (done) {
service.setParam('citiesdb', '/var/www/stuff/data/www/geolocator.loc/lib/data/cities.txt');
var ip = '8.8.8.8';
service.lookup(ip, function (err, result) {
try {
expect(result).be.a('object');
done();
} catch (e) {
done(e);
}
});
});
//46.35.240.182
it("Should be only one callback", function (done) {
var ip = '46.35.240.182';
service.lookup(ip, function (err, result) {
try {
expect(result).be.a('object');
done();
} catch (e) {
done(e);
}
});
});
});