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 <[email protected]> Authored: Mon Jun 8 17:03:36 2015 +0300 Committer: ivasilinets <[email protected]> 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
