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 16:03:44 UTC

incubator-ignite git commit: #nodejs: check incorrect format.

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


#nodejs: check incorrect format.


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

Branch: refs/heads/ignite-nodejs
Commit: 278a4e86504de1e054dd2ebaaf2be93076590814
Parents: e0e6405
Author: ivasilinets <iv...@gridgain.com>
Authored: Mon Jun 8 17:03:36 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Mon Jun 8 17:03:36 2015 +0300

----------------------------------------------------------------------
 modules/nodejs/src/main/js/ignition.js          | 38 +++++++++++++++-----
 .../ignite/internal/NodeJsIgnitionSelfTest.java |  7 ++++
 modules/nodejs/src/test/js/test-ignition.js     | 18 ++++++++++
 3 files changed, 55 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/278a4e86/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 982f00b..6a9070d 100644
--- a/modules/nodejs/src/main/js/ignition.js
+++ b/modules/nodejs/src/main/js/ignition.js
@@ -49,30 +49,52 @@ Ignition.start = function(address, callback) {
     var portsRange = params[1].split("..");
 
     if (portsRange.length === 1) {
-      var server = new Server(params[0], portsRange[0]);
+      var port = parseInt(portsRange[0], 10);
 
-      numConn++;
+      if (isNaN(port)) {
+        incorrectAddress();
 
-      server.checkConnection(onConnect.bind(null, server));
+        return;
+      }
+
+      checkServer(params[0], port);
     }
     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++;
+      if (isNaN(start) || isNaN(end)) {
+        incorrectAddress();
 
-        var server = new Server(params[0], i);
+        return;
+      }
 
-        server.checkConnection(onConnect.bind(null, server));
+      for (var i = start; i <= end; i++) {
+        checkServer(params[0], i);
       }
     }
     else {
-      callback.call(null, "Incorrect address format.", null);
+      incorrectAddress();
+
+      return;
     }
   }
 
+  function checkServer(host, port) {
+    numConn++;
+
+    var server = new Server(host, port);
+
+    server.checkConnection(onConnect.bind(null, server));
+  }
+
+  function incorrectAddress() {
+    callback.call(null, "Incorrect address format.", null);
+
+    callback = null;
+  }
+
   function onConnect(server, error) {
     if (!callback) return;
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/278a4e86/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 0681d5d..08973d5 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
@@ -56,4 +56,11 @@ public class NodeJsIgnitionSelfTest extends NodeJsAbstractTest {
     public void testIgnitionStartWithSeveralPorts() throws Exception {
         runJsScript("ignitionStartSuccessWithSeveralPorts");
     }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testIgnitionNotStartWithSeveralPorts() throws Exception {
+        runJsScript("ignitionNotStartWithSeveralPorts");
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/278a4e86/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 ecc74a5..42a4041 100644
--- a/modules/nodejs/src/test/js/test-ignition.js
+++ b/modules/nodejs/src/test/js/test-ignition.js
@@ -69,4 +69,22 @@ ignitionStartSuccessWithSeveralPorts = function() {
 
         TestUtils.testDone();
     }
+}
+
+ignitionNotStartWithSeveralPorts = function() {
+    Ignition.start(['127.0.0.1:9090...9100'], onConnect);
+
+    function onConnect(error, ignite) {
+        if (error) {
+            var assert = require("assert");
+
+            assert.ok(error.indexOf("Incorrect address format") !== -1, "Incorrect message.")
+
+            TestUtils.testDone();
+
+            return;
+        }
+
+        TestUtils.testFails("Exception should be thrown.");
+    }
 }
\ No newline at end of file