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 <[email protected]> Authored: Mon Jun 8 16:39:47 2015 +0300 Committer: ivasilinets <[email protected]> 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
