UNPKG

http-metrics

Version:

The metrics of the HTTP/HTTPS request process

69 lines (63 loc) 2.22 kB
'use strict'; const request = require('../index').request; const should = require('should'); describe('index.js', function() { context('request', function() { it('should return result when having a HTTP request', function(done) { this.timeout(10000); request({ hostname: 'www.sina.com.cn', port: 80, 'path': '/', method: 'GET' }, function(err, data) { should.ifError(err); should.exist(data); should.equal(data.time_appconnect, 0); should.notEqual(data.time_namelookup, 0); should.notEqual(data.time_starttransfer, 0); should.notEqual(data.time_total, 0); should.notEqual(data.time_connect, 0); return done(); }); }); it('should return result when having a HTTPS request', function(done) { this.timeout(10000); request('https://www.baidu.com', function(err, data) { should.ifError(err); should.exist(data); should.notEqual(data.time_appconnect, 0); should.notEqual(data.time_namelookup, 0); should.notEqual(data.time_starttransfer, 0); should.notEqual(data.time_total, 0); should.notEqual(data.time_connect, 0); return done(); }); }); it('should return result when having a HTTPS request and host is IP without certificates', function(done) { this.timeout(10000); request('https://192.30.252.120', function(err) { should.exist(err); return done(); }); }); it('should return result when having a HTTP request and host is IP', function(done) { this.timeout(10000); request('http://61.172.201.194', function(err, data) { should.ifError(err); should.exist(data); should.equal(data.time_appconnect, 0); should.equal(data.time_namelookup, 0); should.notEqual(data.time_starttransfer, 0); should.notEqual(data.time_total, 0); should.notEqual(data.time_connect, 0); return done(); }); }); it('should return error when unable to determine the domain name', function() { request('www.baidu.com', function(err) { should.exist(err); }); }); }); });