mirror of
https://github.com/MailHops/mailhops-node.git
synced 2025-05-15 19:30:13 -07:00
80 lines
2.5 KiB
JavaScript
80 lines
2.5 KiB
JavaScript
var _ = require("lodash");
|
|
var assert = require("assert");
|
|
var request = require("request");
|
|
var fs = require('fs');
|
|
var configuration = require([__dirname, "..", "config"].join("/"));
|
|
var pkg = require([__dirname, "..", "package"].join("/"));
|
|
var MailHops = require([__dirname, "..", "main"].join("/"));
|
|
var mailhops = new MailHops(configuration);
|
|
|
|
console.log('Using %s', mailhops.base_uri);
|
|
|
|
describe("main", function(){
|
|
|
|
describe("new MailHops()", function(){
|
|
it("api_version parameter exists", function(){
|
|
assert.ok(_.has(mailhops, "api_version"));
|
|
});
|
|
|
|
it("api_key parameter exists", function(){
|
|
assert.ok(_.has(mailhops, "api_key"));
|
|
});
|
|
|
|
it("app_name parameter exists", function(){
|
|
assert.ok(_.has(mailhops, "app_name"));
|
|
});
|
|
|
|
it("version parameter exists", function(){
|
|
assert.ok(_.has(mailhops, "version"));
|
|
});
|
|
|
|
it("version parameter equals that defined in package.json", function(){
|
|
assert.equal(mailhops.version, pkg.version);
|
|
});
|
|
|
|
});
|
|
|
|
describe("lookup endpoint", function(){
|
|
|
|
it('string route should return a 200 response with private ip', function(done){
|
|
mailhops.lookup('127.0.0.1', function(err, response){
|
|
assert.equal(response.meta['code'],200);
|
|
assert.equal(response.response.route[0]['private'],true);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it('array route should return a 200 response with private ip', function(done){
|
|
mailhops.lookup(['127.0.0.1','216.58.217.46','98.138.253.109'], function(err, response){
|
|
assert.equal(response.meta['code'],200);
|
|
assert.equal(response.response.route[0]['private'],true);
|
|
done();
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
describe("map endpoint", function(){
|
|
|
|
it('should return a 200 response', function(done){
|
|
request(mailhops.mapUrl('127.0.0.1'), function (error, response, body) {
|
|
assert.equal(response.statusCode,200);
|
|
done();
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
describe("parse header", function(){
|
|
|
|
it('should return an array of 8 IP addresses', function(done){
|
|
//read header form file
|
|
var header = fs.readFileSync(__dirname+'/header-test.eml',{ encoding: 'utf8' });
|
|
assert.equal(mailhops.getIPsFromHeader(header).length,8);
|
|
done();
|
|
});
|
|
|
|
});
|
|
|
|
});
|