This is an automated email from the ASF dual-hosted git repository. ptupitsyn pushed a commit to branch ignite-16771 in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/ignite-16771 by this push: new 2ae02d6f0 wip ClientComputeTest 2ae02d6f0 is described below commit 2ae02d6f01dc0516ad0ca8a7cbbd943d1719f8cc Author: Pavel Tupitsyn <ptupit...@apache.org> AuthorDate: Thu Apr 14 18:12:32 2022 +0300 wip ClientComputeTest --- .../apache/ignite/client/ClientComputeTest.java | 26 +++++++++++++++++----- .../org/apache/ignite/client/RetryPolicyTest.java | 2 +- .../java/org/apache/ignite/client/TestServer.java | 9 ++++---- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/modules/client/src/test/java/org/apache/ignite/client/ClientComputeTest.java b/modules/client/src/test/java/org/apache/ignite/client/ClientComputeTest.java index 943a1cc19..976a3367c 100644 --- a/modules/client/src/test/java/org/apache/ignite/client/ClientComputeTest.java +++ b/modules/client/src/test/java/org/apache/ignite/client/ClientComputeTest.java @@ -17,9 +17,16 @@ package org.apache.ignite.client; +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.Arrays; +import java.util.Set; import java.util.function.Function; +import java.util.stream.Collectors; import org.apache.ignite.client.fakes.FakeIgnite; import org.apache.ignite.internal.util.IgniteUtils; +import org.apache.ignite.network.ClusterNode; +import org.apache.ignite.network.NetworkAddress; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; @@ -37,11 +44,14 @@ public class ClientComputeTest { } @Test - public void testClientSendsComputeJobToTargetNodeWhenDirectConnectionExists() { - // TODO: Multiple servers. + public void testClientSendsComputeJobToTargetNodeWhenDirectConnectionExists() throws Exception { initServers(reqId -> false); + try (var client = getClient()) { + String res = client.compute().<String>execute(getClusterNodes("s1"), "job").join(); + assertEquals("x", res); + } } @Test @@ -62,8 +72,14 @@ public class ClientComputeTest { } private void initServers(Function<Integer, Boolean> shouldDropConnection) { - server1 = new TestServer(10900, 10, 0, new FakeIgnite(), shouldDropConnection); - server2 = new TestServer(10910, 10, 0, new FakeIgnite(), shouldDropConnection); - server3 = new TestServer(10920, 10, 0, new FakeIgnite(), shouldDropConnection); + server1 = new TestServer(10900, 10, 0, new FakeIgnite(), shouldDropConnection, "s1"); + server2 = new TestServer(10910, 10, 0, new FakeIgnite(), shouldDropConnection, "s2"); + server3 = new TestServer(10920, 10, 0, new FakeIgnite(), shouldDropConnection, "s3"); + } + + private Set<ClusterNode> getClusterNodes(String... names) { + return Arrays.stream(names) + .map(s -> new ClusterNode("id", s, new NetworkAddress("127.0.0.1", 8080))) + .collect(Collectors.toSet()); } } diff --git a/modules/client/src/test/java/org/apache/ignite/client/RetryPolicyTest.java b/modules/client/src/test/java/org/apache/ignite/client/RetryPolicyTest.java index 057ff2009..096f34aa4 100644 --- a/modules/client/src/test/java/org/apache/ignite/client/RetryPolicyTest.java +++ b/modules/client/src/test/java/org/apache/ignite/client/RetryPolicyTest.java @@ -231,6 +231,6 @@ public class RetryPolicyTest { FakeIgnite ign = new FakeIgnite(); ign.tables().createTable("t", c -> {}); - server = new TestServer(10900, 10, 0, ign, shouldDropConnection); + server = new TestServer(10900, 10, 0, ign, shouldDropConnection, null); } } diff --git a/modules/client/src/test/java/org/apache/ignite/client/TestServer.java b/modules/client/src/test/java/org/apache/ignite/client/TestServer.java index 7f8b8f791..3cf50e8b2 100644 --- a/modules/client/src/test/java/org/apache/ignite/client/TestServer.java +++ b/modules/client/src/test/java/org/apache/ignite/client/TestServer.java @@ -64,7 +64,7 @@ public class TestServer implements AutoCloseable { long idleTimeout, Ignite ignite ) { - this(port, portRange, idleTimeout, ignite, null); + this(port, portRange, idleTimeout, ignite, null, null); } /** @@ -80,7 +80,8 @@ public class TestServer implements AutoCloseable { int portRange, long idleTimeout, Ignite ignite, - Function<Integer, Boolean> shouldDropConnection + Function<Integer, Boolean> shouldDropConnection, + String nodeName ) { cfg = new ConfigurationRegistry( List.of(ClientConnectorConfiguration.KEY, NetworkConfiguration.KEY), @@ -101,8 +102,8 @@ public class TestServer implements AutoCloseable { bootstrapFactory.start(); ClusterService clusterService = mock(ClusterService.class, RETURNS_DEEP_STUBS); - Mockito.when(clusterService.topologyService().localMember().id()).thenReturn("id"); - Mockito.when(clusterService.topologyService().localMember().name()).thenReturn("consistent-id"); + Mockito.when(clusterService.topologyService().localMember().id()).thenReturn(nodeName == null ? "id" : nodeName + "-id"); + Mockito.when(clusterService.topologyService().localMember().name()).thenReturn(nodeName == null ? "consistent-id" : nodeName); module = shouldDropConnection != null ? new TestClientHandlerModule(ignite, cfg, bootstrapFactory, shouldDropConnection)