Skip to content

Commit

Permalink
Remove defaults from test serveropts and refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
BHare1985 committed Jun 23, 2016
1 parent 4ed60eb commit 990f0c4
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 28 deletions.
48 changes: 48 additions & 0 deletions test/acceptance/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ var assertHTTP = require('assert-http')
, http = require('http');




suite('server', function() {
var listener;

Expand Down Expand Up @@ -269,3 +271,49 @@ suite('server', function() {
});
});



suite('customEvents', function() {
var listener;

suiteSetup(function() {
var config = _.extend(ServerOptions, {
beforeTileRender: function(req, res, callback) {
res.header('X-BeforeTileRender', 'called');
callback(null);
},
afterTileRender: function(req, res, tile, headers, callback) {
res.header('X-AfterTileRender','called');
headers['X-AfterTileRender2'] = 'called';
callback(null, tile, headers);
}
});
var server = new Windwalker.Server(config);
listener = server.listen(global.environment.windwalkerPort);
});

suiteTeardown(function() {
listener.close();
});

test("beforeTileRender is called when the client request a tile", function(done) {
assert.response({
url: '/database/Windwalker_test/table/test_table/6/31/24.png',
port: global.environment.windwalkerPort
},{
status: 200,
headers: {'X-BeforeTileRender': 'called'}
}, function() { done(); });
});

test("afterTileRender is called when the client request a tile", function(done) {
assert.response({
url: '/database/Windwalker_test/table/test_table/6/31/24.png',
port: global.environment.windwalkerPort
},{
status: 200,
headers: {'X-AfterTileRender': 'called', 'X-AfterTileRender2': 'called'}
}, function() { done(); });
});
});

33 changes: 5 additions & 28 deletions test/support/server_options.js
Original file line number Diff line number Diff line change
@@ -1,44 +1,21 @@
var _ = require('underscore');

module.exports = function(opts) {
module.exports = function() {

var config = {
var testDefaults = {
dbtype: global.environment.dbtype,
tileRoute: '/database/:dbname/table/:table/:z/:x/:y.*',
grainstore: {datasource: global.environment.datasource},
enableCors: false,
logRequests: true,
logErrors: true,
logErrorTrace: true,
showErrors: true,
parameterParser: function(req, callback){

// no default interactivity. to enable specify the database column you'd like to interact with
req.params.interactivity = null;
req.params.sql = "SELECT * FROM " + req.params.table;

req.params.sql = "SELECT * FROM "+req.params.table;

// this is in case you want to test sql parameters eg ...png?sql=select * from my_table limit 10
req.params = _.extend({}, req.params);
_.extend(req.params, req.query);


// send the finished req object on
callback(null,req);
},
beforeTileRender: function(req, res, callback) {
res.header('X-BeforeTileRender', 'called');
callback(null);
},
afterTileRender: function(req, res, tile, headers, callback) {
res.header('X-AfterTileRender','called');
headers['X-AfterTileRender2'] = 'called';
callback(null, tile, headers);
}

}

_.extend(config, opts || {});

return config;

return testDefaults;
}();

0 comments on commit 990f0c4

Please sign in to comment.