[Groonga-commit] groonga/express-kotoumi [master] test: Create and initialize mocked connection for socket.io commands correctly

Back to archive index

YUKI Hiroshi null+****@clear*****
Thu Feb 7 18:15:20 JST 2013


YUKI Hiroshi	2013-02-07 18:15:20 +0900 (Thu, 07 Feb 2013)

  New Revision: 0f908434a676cedf32ef2ba3a01c353d344ef5b7
  https://github.com/groonga/express-kotoumi/commit/0f908434a676cedf32ef2ba3a01c353d344ef5b7

  Log:
    test: Create and initialize mocked connection for socket.io commands correctly

  Modified files:
    test/express-adaptor.test.js
    test/frontend-socket.io-adaptor.test.js
    test/test-utils.js

  Modified: test/express-adaptor.test.js (+3 -3)
===================================================================
--- test/express-adaptor.test.js    2013-02-07 18:01:40 +0900 (7c30a6d)
+++ test/express-adaptor.test.js    2013-02-07 18:15:20 +0900 (5fc8b0f)
@@ -24,7 +24,7 @@ suite('Adaption for express application', function() {
     var server;
 
     setup(function(done) {
-      connection = utils.createMockedBackendConnection();
+      connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule);
       application = express();
       utils.setupServer(application)
         .next(function(newServer) {
@@ -138,7 +138,7 @@ suite('Adaption for express application', function() {
     });
 
     test('front to back', function(done) {
-      connection = utils.createMockedBackendConnection()
+      connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule)
         .mock('emitMessage')
           .takes('search', { requestMessage: true });
 
@@ -168,7 +168,7 @@ suite('Adaption for express application', function() {
     });
 
     test('back to front', function(done) {
-      connection = utils.createMockedBackendConnection();
+      connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule);
       connection.emitMessage = function() {}; // stubbing
 
       var clientReceiver = nodemock

  Modified: test/frontend-socket.io-adaptor.test.js (+5 -5)
===================================================================
--- test/frontend-socket.io-adaptor.test.js    2013-02-07 18:01:40 +0900 (4c1f07d)
+++ test/frontend-socket.io-adaptor.test.js    2013-02-07 18:15:20 +0900 (513c4b5)
@@ -125,7 +125,7 @@ suite('Socket.IO API', function() {
   });
 
   test('front to back', function(done) {
-    connection = utils.createMockedBackendConnection();
+    connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule);
 
     var application = express();
     utils.setupServer(application)
@@ -156,7 +156,7 @@ suite('Socket.IO API', function() {
   });
 
   test('back to front', function(done) {
-    connection = utils.createMockedBackendConnection();
+    connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule);
 
     var clientReceiver = nodemock
           .mock('receive')
@@ -204,7 +204,7 @@ suite('Socket.IO API', function() {
 
   test('front to back, extra command (without builder)', function(done) {
     var extraController = {};
-    connection = utils.createMockedBackendConnection();
+    connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule);
 
     var application = express();
     utils.setupServer(application)
@@ -237,7 +237,7 @@ suite('Socket.IO API', function() {
 
   test('front to back, extra command (with builder)', function(done) {
     var extraController = {};
-    connection = utils.createMockedBackendConnection();
+    connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule);
 
     var mockedReceiver = nodemock
           .mock('receive')
@@ -286,7 +286,7 @@ suite('Socket.IO API', function() {
 
   test('front to back, extra command (custom event name)', function(done) {
     var extraController = {};
-    connection = utils.createMockedBackendConnection();
+    connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule);
 
     var mockedReceiver = nodemock
           .mock('receive')

  Modified: test/test-utils.js (+18 -11)
===================================================================
--- test/test-utils.js    2013-02-07 18:01:40 +0900 (5331d38)
+++ test/test-utils.js    2013-02-07 18:15:20 +0900 (10ae220)
@@ -6,13 +6,9 @@ var http = require('http');
 var Deferred = require('jsdeferred').Deferred;
 var client = require('socket.io-client');
 
-var socketIoDefaultCommandsModule = require('../lib/frontend/default-commands/socket.io');
-var socketIoDefaultCommands = [];
-Object.keys(socketIoDefaultCommandsModule).forEach(function(command) {
-  if (!command || typeof command != 'object')
-    return;
-  socketIoDefaultCommands.push(command);
-});
+var socketIoDefaultCommandsModule = 
+  exports.socketIoDefaultCommandsModule =
+    require('../lib/frontend/default-commands/socket.io');
 
 var testSendPort = exports.testSendPort = 3333;
 var testReceivePort = exports.testReceivePort = 3334;
@@ -141,15 +137,26 @@ function createClientSocket() {
 }
 exports.createClientSocket = createClientSocket;
 
-function createMockedBackendConnection() {
+function createMockedBackendConnection(socketCommands) {
+  socketCommands = socketCommands || {};
   var connection = nodemock;
   var onMessageControllers = {};
-  socketIoDefaultCommands.forEach(function(command) {
-    onMessageControllers[command] = {};
+  Object.keys(socketCommands).forEach(function(commandName) {
+    var command = socketCommands[commandName];
+    onMessageControllers[commandName] = {};
     connection = connection
       .mock('on')
         .takes(command, function() {})
-        .ctrl(1, onMessageControllers[command]);
+        .ctrl(1, onMessageControllers[commandName]);
+
+    if (model.isA(command, model.PublishSubscribe)) {
+      var published = commandName + '-published';
+      onMessageControllers[published] = {};
+      connection = connection
+        .mock('on')
+          .takes(command, function() {})
+          .ctrl(1, onMessageControllers[published]);
+    }
   });
 
   onMessageControllers.error = {};
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index