You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2015/06/08 15:40:00 UTC

incubator-ignite git commit: #nodejs: add test for several ports.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-nodejs c590202d5 -> e0e6405e8


#nodejs: add test for several ports.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e0e6405e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e0e6405e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e0e6405e

Branch: refs/heads/ignite-nodejs
Commit: e0e6405e8fa4cd5b24ff86661b73ca5a31b88303
Parents: c590202
Author: ivasilinets <iv...@gridgain.com>
Authored: Mon Jun 8 16:39:47 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Mon Jun 8 16:39:47 2015 +0300

----------------------------------------------------------------------
 modules/nodejs/src/main/js/ignite.js            |  7 +++++
 modules/nodejs/src/main/js/ignition.js          | 32 ++++++++++++++++++--
 modules/nodejs/src/main/js/server.js            |  1 +
 .../ignite/internal/NodeJsIgnitionSelfTest.java |  7 +++++
 modules/nodejs/src/test/js/test-ignition.js     | 22 ++++++++++++++
 5 files changed, 66 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e0e6405e/modules/nodejs/src/main/js/ignite.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/main/js/ignite.js b/modules/nodejs/src/main/js/ignite.js
index a883267..2f3ff44 100644
--- a/modules/nodejs/src/main/js/ignite.js
+++ b/modules/nodejs/src/main/js/ignite.js
@@ -27,6 +27,13 @@ function Ignite(server) {
 }
 
 /**
+ * @returns {Server} Server
+ */
+Ignite.prototype.server = function() {
+  return this._server;
+}
+
+/**
  * Get an instance of cache
  *
  * @this {Ignite}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e0e6405e/modules/nodejs/src/main/js/ignition.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/main/js/ignition.js b/modules/nodejs/src/main/js/ignition.js
index 8450fc7..982f00b 100644
--- a/modules/nodejs/src/main/js/ignition.js
+++ b/modules/nodejs/src/main/js/ignition.js
@@ -41,12 +41,36 @@ Ignition.start = function(address, callback) {
   var Server = require("./server").Server;
   var Ignite = require("./ignite").Ignite
 
-  var numConn = address.length;
+  var numConn = 0;
 
   for (var addr of address) {
     var params = addr.split(":");
-    var server = new Server(params[0], params[1]);
-    server.checkConnection(onConnect.bind(null, server));
+
+    var portsRange = params[1].split("..");
+
+    if (portsRange.length === 1) {
+      var server = new Server(params[0], portsRange[0]);
+
+      numConn++;
+
+      server.checkConnection(onConnect.bind(null, server));
+    }
+    else if (portsRange.length === 2) {
+      var start = parseInt(portsRange[0], 10);
+
+      var end = parseInt(portsRange[1], 10);
+
+      for (var i = start; i <= end; i++) {
+        numConn++;
+
+        var server = new Server(params[0], i);
+
+        server.checkConnection(onConnect.bind(null, server));
+      }
+    }
+    else {
+      callback.call(null, "Incorrect address format.", null);
+    }
   }
 
   function onConnect(server, error) {
@@ -55,7 +79,9 @@ Ignition.start = function(address, callback) {
     numConn--;
     if (!error) {
       callback.call(null, null, new Ignite(server));
+
       callback = null;
+
       return;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e0e6405e/modules/nodejs/src/main/js/server.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/main/js/server.js b/modules/nodejs/src/main/js/server.js
index a53985b..3fd2f3c 100644
--- a/modules/nodejs/src/main/js/server.js
+++ b/modules/nodejs/src/main/js/server.js
@@ -85,6 +85,7 @@ Server.prototype.runCommand = function(cmdName, params, callback) {
         if (response.successStatus) {
           callback.call(null, response.error, null)
         } else {
+
           callback.call(null, null, response.response);
         }
       } catch (e) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e0e6405e/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsIgnitionSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsIgnitionSelfTest.java b/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsIgnitionSelfTest.java
index 6f4a4ea..0681d5d 100644
--- a/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsIgnitionSelfTest.java
+++ b/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsIgnitionSelfTest.java
@@ -49,4 +49,11 @@ public class NodeJsIgnitionSelfTest extends NodeJsAbstractTest {
     public void testIgnitionFailedStart() throws Exception {
         runJsScript("testIgnitionFail");
     }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testIgnitionStartWithSeveralPorts() throws Exception {
+        runJsScript("ignitionStartSuccessWithSeveralPorts");
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e0e6405e/modules/nodejs/src/test/js/test-ignition.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/test/js/test-ignition.js b/modules/nodejs/src/test/js/test-ignition.js
index ce7c253..ecc74a5 100644
--- a/modules/nodejs/src/test/js/test-ignition.js
+++ b/modules/nodejs/src/test/js/test-ignition.js
@@ -47,4 +47,26 @@ ignitionStartSuccess = function() {
         }
         TestUtils.testDone();
     }
+}
+
+ignitionStartSuccessWithSeveralPorts = function() {
+    Ignition.start(['127.0.0.1:9090..9100'], onConnect);
+
+    function onConnect(error, ignite) {
+        if (error) {
+            TestUtils.testFails(error);
+
+            return;
+        }
+
+        var assert = require("assert");
+
+        var server = ignite.server();
+
+        var host = server.host();
+
+        assert.ok(host.indexOf('127.0.0.1') !== -1, "Incorrect host.");
+
+        TestUtils.testDone();
+    }
 }
\ No newline at end of file