[Groonga-commit] groonga/express-kotoumi [master] test: Run tests with test HTTP server asynchronously

Zurück zum Archiv-Index

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 



More information about the Groonga-commit mailing list
Zurück zum Archiv-Index