YUKI Hiroshi
null+****@clear*****
Mon Jan 28 18:11:55 JST 2013
YUKI Hiroshi 2013-01-28 18:11:55 +0900 (Mon, 28 Jan 2013) New Revision: 1e20f812a7efb07ba0a32d81c98ba90f27edea7a https://github.com/groonga/express-kotoumi/commit/1e20f812a7efb07ba0a32d81c98ba90f27edea7a Log: test: Run tests with test HTTP server asynchronously Modified files: test/express-adaptor.test.js test/frontend-rest-handler.test.js test/frontend-socket.io-handler.test.js test/test-utils.js Modified: test/express-adaptor.test.js (+33 -28) =================================================================== --- test/express-adaptor.test.js 2013-01-28 15:59:54 +0900 (31a159f) +++ test/express-adaptor.test.js 2013-01-28 18:11:55 +0900 (c75a6ae) @@ -38,9 +38,11 @@ suite('Adaption for express application', function() { connection: 'fake connection', handlers: handlersFactory }); - server = utils.setupServer(application); - utils + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + }) .get('/tables/foobar') .next(function(response) { assert.equal('search OK', response.body); @@ -58,9 +60,10 @@ suite('Adaption for express application', function() { connection: 'fake connection', handlers: handlersFactory }); - server = utils.setupServer(application); - - utils + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + }) .get('/path/to/kotoumi/tables/foobar') .next(function(response) { assert.equal('search OK', response.body); @@ -94,17 +97,18 @@ suite('Adaption for express application', function() { .takes('search', { requestMessage: true }); var application = express(); - server = utils.setupServer(application); - application.kotoumi({ - connection: connection, - server: server, - handlers: handlersFactory - }); - handlersFactory.assertThrows(); - - clientSocket = utils.createClientSocket(); - - Deferred + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + application.kotoumi({ + connection: connection, + server: server, + handlers: handlersFactory + }); + handlersFactory.assertThrows(); + + clientSocket = utils.createClientSocket(); + }) .wait(0.01) .next(function() { clientSocket.emit('search', { requestMessage: true }); @@ -123,17 +127,6 @@ suite('Adaption for express application', function() { var handlersFactory = utils.createMockedHandlersFactory(); var connection = utils.createMockedBackendConnection(); - var application = express(); - server = utils.setupServer(application); - application.kotoumi({ - connection: connection, - server: server, - handlers: handlersFactory - }); - handlersFactory.assertThrows(); - - clientSocket = utils.createClientSocket(); - var clientReceiver = nodemock .mock('receive') .takes({ @@ -144,7 +137,19 @@ suite('Adaption for express application', function() { clientReceiver.receive(data); }); - Deferred + var application = express(); + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + application.kotoumi({ + connection: connection, + server: server, + handlers: handlersFactory + }); + handlersFactory.assertThrows(); + + clientSocket = utils.createClientSocket(); + }) .wait(0.01) .next(function() { connection.assertThrows(); Modified: test/frontend-rest-handler.test.js (+18 -15) =================================================================== --- test/frontend-rest-handler.test.js 2013-01-28 15:59:54 +0900 (7ff50a9) +++ test/frontend-rest-handler.test.js 2013-01-28 18:11:55 +0900 (3a35674) @@ -49,9 +49,10 @@ suite('REST API', function() { connection: 'fake connection', handlers: handlersFactory }); - server = utils.setupServer(application); - - utils + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + }) .get('/tables/foobar') .next(function(response) { assert.equal('search OK', response.body); @@ -69,9 +70,10 @@ suite('REST API', function() { connection: 'fake connection', handlers: handlersFactory }); - server = utils.setupServer(application); - - utils + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + }) .get('/path/to/kotoumi/tables/foobar') .next(function(response) { assert.equal('search OK', response.body); @@ -141,12 +143,13 @@ suite('REST API', function() { prefix: '', connection: connection }); - server = utils.setupServer(application); - - utils.get('/tables/foo?query=bar'); - - setTimeout(function() { - try { + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + utils.get('/tables/foo?query=bar'); + }) + .wait(0.1) + .next(function() { assert.equal(1, connection.emitMessageCalledArguments.length); var args = connection.emitMessageCalledArguments[0]; assert.equal(args.type, 'search'); @@ -163,10 +166,10 @@ suite('REST API', function() { assert.equalJSON(args.message, expected); done(); - } catch(error) { + }) + .error(function(error) { done(error); - } - }, 100); + }); }); }); }); Modified: test/frontend-socket.io-handler.test.js (+31 -28) =================================================================== --- test/frontend-socket.io-handler.test.js 2013-01-28 15:59:54 +0900 (264cc0b) +++ test/frontend-socket.io-handler.test.js 2013-01-28 18:11:55 +0900 (5dc9809) @@ -29,14 +29,15 @@ suite('Socket.IO API', function() { .takes('search', { requestMessage: true }); var application = express(); - server = utils.setupServer(application); - socketIoHandler.register(application, server, { - connection: connection - }); - - clientSocket = utils.createClientSocket(); - - Deferred + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + socketIoHandler.register(application, server, { + connection: connection + }); + + clientSocket = utils.createClientSocket(); + }) .wait(0.01) .next(function() { clientSocket.emit('search', { requestMessage: true }); @@ -54,14 +55,6 @@ suite('Socket.IO API', function() { test('back to front', function(done) { var connection = utils.createMockedBackendConnection(); - var application = express(); - server = utils.setupServer(application); - socketIoHandler.register(application, server, { - connection: connection - }); - - clientSocket = utils.createClientSocket(); - var clientReceiver = nodemock .mock('receive') .takes({ @@ -72,7 +65,16 @@ suite('Socket.IO API', function() { clientReceiver.receive(data); }); - Deferred + var application = express(); + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + socketIoHandler.register(application, server, { + connection: connection + }); + + clientSocket = utils.createClientSocket(); + }) .wait(0.01) .next(function() { connection.assertThrows(); @@ -104,17 +106,18 @@ suite('Socket.IO API', function() { .takes('foobar', { requestMessage: true }); var application = express(); - server = utils.setupServer(application); - socketIoHandler.register(application, server, { - connection: connection, - extraCommands: [ - 'foobar' - ] - }); - - clientSocket = utils.createClientSocket(); - - Deferred + utils.setupServer(application) + .next(function(newServer) { + server = newServer; + socketIoHandler.register(application, server, { + connection: connection, + extraCommands: [ + 'foobar' + ] + }); + + clientSocket = utils.createClientSocket(); + }) .wait(0.01) .next(function() { clientSocket.emit('foobar', { requestMessage: true }); Modified: test/test-utils.js (+5 -2) =================================================================== --- test/test-utils.js 2013-01-28 15:59:54 +0900 (4b4dae2) +++ test/test-utils.js 2013-01-28 18:11:55 +0900 (a1f161c) @@ -54,14 +54,17 @@ var testReceivePort = exports.testReceivePort = 3334; var testServerPort = exports.testServerPort = 3335; function setupServer(handlerOrServer) { + var deferred = new Deferred(); var server; if ('close' in handlerOrServer) { // it is a server server = handlerOrServer; } else { // it is a handler server = http.createServer(handlerOrServer); } - server.listen(testServerPort); - return server; + server.listen(testServerPort, function() { + deferred.call(server); + }); + return deferred; } exports.setupServer = setupServer; -------------- next part -------------- HTML����������������������������...Download