add event driven test when VarnishEmu server starts to listen

This commit is contained in:
Simon Tokumine 2012-07-09 16:12:03 +02:00
parent 006a56f496
commit e45d8339c4

View File

@ -4,7 +4,7 @@ require(__dirname + '/../test_helper');
var CacheValidator = require(__dirname + '/../../lib/cartodb/cache_validator');
var tests = module.exports = {};
function VarnishEmu(on_cmd_recieved) {
function VarnishEmu(on_cmd_recieved, test_callback) {
var self = this;
var welcome_msg = 'hi, im a varnish emu, right?';
@ -21,13 +21,20 @@ function VarnishEmu(on_cmd_recieved) {
});
});
server.listen(1337, "127.0.0.1");
server.on('listening', function(){
test_callback();
});
}
tests['should call purge on varnish when invalidate database'] = function() {
var varnish = new VarnishEmu(function(cmds) {
var varnish = new VarnishEmu(
function(cmds) {
assert.ok(cmds.length == 1);
assert.equal('purge obj.http.X-Cache-Channel ~ \"^test_db:(.*test_cache.*)|(table)$\"\n', cmds[0].toString('utf8'));
},
function(){
CacheValidator.init('localhost', 1337);
CacheValidator.invalidate_db('test_db', 'test_cache');
});
CacheValidator.init('localhost', 1337);
CacheValidator.invalidate_db('test_db', 'test_cache');
}