Merge pull request #944 from CartoDB/improve-test-suite

Improve test suite
This commit is contained in:
Daniel G. Aubert
2018-04-18 16:58:52 +02:00
committed by GitHub
35 changed files with 247 additions and 102 deletions
+14 -23
View File
@@ -87,30 +87,18 @@ assert.response = function(server, req, res, callback) {
res = {};
}
var port = 5555,
var port = 0, // let the OS to choose a free port
host = '127.0.0.1';
var listeningAttempts = 0;
var listener;
function listen() {
if (listeningAttempts > 25) {
return callback(null, new Error('Tried too many ports'));
}
listener = server.listen(port, host);
listener.on('error', function() {
port++;
listeningAttempts++;
listen();
});
listener.on('listening', onServerListening);
}
var listener = server.listen(port, host);
listener.on('error', callback);
listener.on('listening', function onServerListening () {
// jshint maxcomplexity:9
const { address: host, port } = listener.address();
const address = `${host}:${port}`;
listen();
// jshint maxcomplexity:9
function onServerListening() {
var requestParams = {
url: 'http://' + host + ':' + port + req.url,
url: 'http://' + address + req.url,
method: req.method || 'GET',
headers: req.headers || {},
timeout: req.timeout || 0,
@@ -122,14 +110,17 @@ assert.response = function(server, req, res, callback) {
}
request(requestParams, function assert$response$requestHandler(error, response, body) {
listener.close(function() {
listener.close(function () {
if (error) {
return callback(null, error);
}
response.body = response.body || body;
var err = validateResponse(response, res);
return callback(response, err);
});
});
}
});
};
function validateResponseBody(response, expected) {
-6
View File
@@ -12,7 +12,6 @@ var LZMA = require('lzma').LZMA;
var lzmaWorker = new LZMA();
var redis = require('redis');
var nock = require('nock');
var log4js = require('log4js');
var pg = require('pg');
const setICUEnvVariable = require('../../lib/cartodb/utils/icu_data_env_setter');
@@ -104,10 +103,6 @@ beforeEach(function() {
//global afterEach to capture test suites that leave keys in redis
afterEach(function(done) {
// restoring nock globally after each suite
nock.cleanAll();
nock.enableNetConnect();
var expectedKeys = {
'rails:test_windshaft_cartodb_user_1_db:test_table_private_1': true,
'rails:test_windshaft_cartodb_user_1_db:my_table': true,
@@ -223,4 +218,3 @@ module.exports = {
configureMetadata,
cleanPGPoolConnections
};