Remove api sql emulator

This commit is contained in:
Raul Ochoa 2015-03-24 10:38:14 +01:00
parent 985973dfda
commit f683e39aea
5 changed files with 12 additions and 117 deletions

View File

@ -1,10 +1,8 @@
require(__dirname + '/../../support/test_helper');
var assert = require('../../support/assert');
var redis = require('redis');
var Step = require('step');
var helper = require(__dirname + '/../../support/test_helper');
var SqlApiEmulator = require(__dirname + '/../../support/SQLAPIEmu.js');
var step = require('step');
var NamedMapsCacheEntry = require(__dirname + '/../../../lib/cartodb/cache/model/named_maps_entry');
var SurrogateKeysCache = require(__dirname + '/../../../lib/cartodb/cache/surrogate_keys_cache');
@ -16,7 +14,6 @@ var serverOptions = ServerOptions();
suite('templates surrogate keys', function() {
var sqlApiServer;
var redisClient = redis.createClient(global.environment.redis.port);
// Enable Varnish purge for tests
@ -48,10 +45,6 @@ suite('templates surrogate keys', function() {
},
expectedBody = { template_id: expectedTemplateId };
suiteSetup(function(done) {
sqlApiServer = new SqlApiEmulator(global.environment.sqlapi.port, done);
});
var surrogateKeysCacheInvalidateFn = SurrogateKeysCache.prototype.invalidate;
function createTemplate(callback) {
@ -65,7 +58,7 @@ suite('templates surrogate keys', function() {
data: JSON.stringify(template)
};
Step(
step(
function postTemplate() {
var next = this;
assert.response(server,
@ -100,7 +93,7 @@ suite('templates surrogate keys', function() {
surrogateKeysCacheInvalidateMethodInvoked = true;
};
Step(
step(
function createTemplateToUpdate() {
createTemplate(this);
},
@ -165,7 +158,7 @@ suite('templates surrogate keys', function() {
surrogateKeysCacheInvalidateMethodInvoked = true;
};
Step(
step(
function createTemplateToDelete() {
createTemplate(this);
},
@ -212,7 +205,7 @@ suite('templates surrogate keys', function() {
SurrogateKeysCache.prototype.invalidate = surrogateKeysCacheInvalidateFn;
// Enable Varnish purge for tests
serverOptions.varnish_purge_enabled = false;
sqlApiServer.close(done);
done();
});
});

View File

@ -6,7 +6,6 @@ var querystring = require('querystring');
var semver = require('semver');
var Step = require('step');
var strftime = require('strftime');
var SQLAPIEmu = require(__dirname + '/../support/SQLAPIEmu.js');
var redis_stats_db = 5;
var helper = require(__dirname + '/../support/test_helper');
@ -35,13 +34,8 @@ suite(suiteName, function() {
var expected_last_updated = new Date(expected_last_updated_epoch).toISOString();
var test_user = _.template(global.environment.postgres_auth_user, {user_id:1});
var test_pubuser = global.environment.postgres.user;
var test_database = test_user + '_db';
suiteSetup(function(done){
sqlapi_server = new SQLAPIEmu(global.environment.sqlapi.port, done);
});
test("layergroup with 2 layers, each with its style", function(done) {
var layergroup = {
@ -1432,7 +1426,7 @@ suite(suiteName, function() {
redis_client.select(5, function(err, matches) {
redis_client.keys("user:localhost:mapviews*", function(err, matches) {
redis_client.del(matches, function(err) {
sqlapi_server.close(done);
done();
});
});
});

View File

@ -4,7 +4,6 @@ var redis = require('redis');
var querystring = require('querystring');
var semver = require('semver');
var step = require('step');
var SQLAPIEmu = require(__dirname + '/../support/SQLAPIEmu.js');
var helper = require(__dirname + '/../support/test_helper');
@ -116,10 +115,6 @@ suite.skip('server old_api', function() {
var test_style_black_200 = "#test_table{marker-fill:black;marker-line-color:red;marker-width:10}";
var test_style_black_210 = "#test_table{marker-fill:black;marker-line-color:red;marker-width:20}";
suiteSetup(function(done){
sqlapi_server = new SQLAPIEmu(global.environment.sqlapi.port, done);
});
/////////////////////////////////////////////////////////////////////////////////
//
// POST STYLE
@ -1086,8 +1081,9 @@ suite.skip('server old_api', function() {
// This test will add map_style records, like
// 'map_style|null|publicuser|my_table',
redis_client.keys("map_style|*", function(err, matches) {
_.each(matches, function(k) { redis_client.del(k); });
sqlapi_server.close(done);
redis_client.del(matches, function() {
done();
});
});
});

View File

@ -6,7 +6,6 @@ var semver = require('semver');
var Step = require('step');
var strftime = require('strftime');
var NamedMapsCacheEntry = require(__dirname + '/../../lib/cartodb/cache/model/named_maps_entry');
var SQLAPIEmu = require(__dirname + '/../support/SQLAPIEmu.js');
var redis_stats_db = 5;
// Pollute the PG environment to make sure
@ -29,15 +28,9 @@ suite('template_api', function() {
serverOptions.channelCache = {};
var redis_client = redis.createClient(global.environment.redis.port);
var sqlapi_server;
var expected_last_updated_epoch = 1234567890123; // this is hard-coded into SQLAPIEmu
var expected_last_updated = new Date(expected_last_updated_epoch).toISOString();
suiteSetup(function(done){
sqlapi_server = new SQLAPIEmu(global.environment.sqlapi.port, done);
// TODO: check redis is clean ?
});
var template_acceptance1 = {
version: '0.0.1',
name: 'acceptance1',
@ -2108,7 +2101,7 @@ suite('template_api', function() {
redis_client.select(5, function(err) {
redis_client.keys("user:localhost:mapviews*", function(err, keys) {
redis_client.del(keys, function(err) {
sqlapi_server.close(done);
done();
});
});
});

View File

@ -1,81 +0,0 @@
var http = require('http');
var url = require('url');
var _ = require('underscore');
var SQLAPIEmulator = function(port, cb) {
this.queries = [];
var that = this;
this.requests = [];
this.sqlapi_server = http.createServer(function(req,res) {
//console.log("server got request with method " + req.method);
var query;
that.requests.push(req);
if ( req.method == 'GET' ) {
query = url.parse(req.url, true).query;
that.handleQuery(query, res);
}
else if ( req.method == 'POST') {
var data = '';
req.on('data', function(chunk) {
//console.log("GOT Chunk " + chunk);
data += chunk;
});
req.on('end', function() {
//console.log("Data is: "); console.dir(data);
query = JSON.parse(data);
//console.log("handleQuery is " + that.handleQuery);
that.handleQuery(query, res);
});
}
else {
that.handleQuery('SQLAPIEmu does not support method' + req.method, res);
}
}).listen(port, cb);
};
SQLAPIEmulator.prototype.handleQuery = function(query, res) {
this.queries.push(query);
if ( query.q.match('SQLAPIERROR') ) {
res.statusCode = 400;
res.write(JSON.stringify({'error':'Some error occurred'}));
} else if ( query.q.match('SQLAPINOANSWER') ) {
console.log("SQLAPIEmulator will never respond, on request");
return;
} else if (query.q.match('tablenames')) {
var tableNames = JSON.stringify(query);
res.write(queryResult({tablenames: '{' + tableNames + '}', max: 1234567890.123}));
} else if ( query.q.match('EPOCH.* as max') ) {
// This is the structure of the known query sent by tiler
res.write(queryResult({max: 1234567890.123}));
} else {
if ( query.q.match('_private_') && query.api_key === undefined) {
res.statusCode = 403;
res.write(JSON.stringify({'error':'forbidden: ' + JSON.stringify(query)}));
} else {
var qs = JSON.stringify(query);
res.write(queryResult({cdb_querytables: '{' + qs + '}', max: 1234567890.123}));
}
}
res.end();
};
SQLAPIEmulator.prototype.close = function(cb) {
this.sqlapi_server.close(cb);
};
SQLAPIEmulator.prototype.getLastRequest = function() {
return this.requests.pop();
};
function queryResult(row) {
return JSON.stringify({
rows: [row]
});
}
module.exports = SQLAPIEmulator;