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