This is an automated email from the ASF dual-hosted git repository.
sk0x50 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new d8a927116d IGNITE-17982 Fixed an issue that could lead to
testFixturesAnnotationProcessor for ignite-network-annotation-processor did not
work. Fixes #1326
d8a927116d is described below
commit d8a927116d1337c5ce3b0d0dcacd78d8495e7ac5
Author: Vadim Pakhnushev <[email protected]>
AuthorDate: Thu Nov 17 19:01:42 2022 +0200
IGNITE-17982 Fixed an issue that could lead to
testFixturesAnnotationProcessor for ignite-network-annotation-processor did not
work. Fixes #1326
Signed-off-by: Slava Koptilin <[email protected]>
---
modules/raft/build.gradle | 1 +
.../ignite/raft/jraft/rpc/AbstractRpcTest.java | 59 ++++++----------------
.../org/apache/ignite/raft/TestWriteCommand.java | 0
.../ignite/raft/jraft/rpc/TestMessages.java} | 40 +++++++++++----
.../ignite/raft/messages/TestMessageGroup.java | 0
5 files changed, 46 insertions(+), 54 deletions(-)
diff --git a/modules/raft/build.gradle b/modules/raft/build.gradle
index 074e7563f3..54a8a87867 100644
--- a/modules/raft/build.gradle
+++ b/modules/raft/build.gradle
@@ -54,6 +54,7 @@ dependencies {
testImplementation libs.classgraph
testImplementation libs.slf4j.jdk14
+ testFixturesAnnotationProcessor
project(":ignite-network-annotation-processor")
testFixturesImplementation project(':ignite-core')
testFixturesImplementation project(':ignite-network')
testFixturesImplementation project(':ignite-raft-client')
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/AbstractRpcTest.java
b/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/AbstractRpcTest.java
index 9d1abc714b..91aa0c32bc 100644
---
a/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/AbstractRpcTest.java
+++
b/modules/raft/src/test/java/org/apache/ignite/raft/jraft/rpc/AbstractRpcTest.java
@@ -23,7 +23,6 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
-import org.apache.ignite.network.annotations.Transferable;
import org.apache.ignite.raft.jraft.entity.PeerId;
import org.apache.ignite.raft.messages.TestRaftMessagesFactory;
import org.junit.jupiter.api.AfterEach;
@@ -98,18 +97,18 @@ public abstract class AbstractRpcTest {
RpcClient client = createClient();
CountDownLatch l1 = new CountDownLatch(1);
- AtomicReference<Response1> resp1 = new AtomicReference<>();
+ AtomicReference<TestMessages.Response1> resp1 = new
AtomicReference<>();
client.invokeAsync(peerId, msgFactory.request1().build(), new
InvokeContext(), (result, err) -> {
- resp1.set((Response1) result);
+ resp1.set((TestMessages.Response1) result);
l1.countDown();
}, 5000);
l1.await(5_000, TimeUnit.MILLISECONDS);
assertNotNull(resp1);
CountDownLatch l2 = new CountDownLatch(1);
- AtomicReference<Response2> resp2 = new AtomicReference<>();
+ AtomicReference<TestMessages.Response2> resp2 = new
AtomicReference<>();
client.invokeAsync(peerId, msgFactory.request2().build(), new
InvokeContext(), (result, err) -> {
- resp2.set((Response2) result);
+ resp2.set((TestMessages.Response2) result);
l2.countDown();
}, 5000);
l2.await(5_000, TimeUnit.MILLISECONDS);
@@ -160,7 +159,7 @@ public abstract class AbstractRpcTest {
assertTrue(client1.checkConnection(peerId));
try {
- Request1 request = msgFactory.request1().val(10_000).build();
+ TestMessages.Request1 request =
msgFactory.request1().val(10_000).build();
CompletableFuture<Object> fut = new CompletableFuture<>();
@@ -182,13 +181,13 @@ public abstract class AbstractRpcTest {
Queue<Object[]> recorded = client1.recordedMessages();
assertEquals(1, recorded.size());
- assertTrue(recorded.poll()[0] instanceof Request1);
+ assertTrue(recorded.poll()[0] instanceof TestMessages.Request1);
}
@Test
public void testBlockedAsync() throws Exception {
RpcClientEx client1 = (RpcClientEx) createClient();
- client1.blockMessages((msg, id) -> msg instanceof Request1);
+ client1.blockMessages((msg, id) -> msg instanceof
TestMessages.Request1);
assertTrue(client1.checkConnection(peerId));
@@ -210,9 +209,9 @@ public abstract class AbstractRpcTest {
}
/** */
- private class Request1RpcProcessor implements RpcProcessor<Request1> {
+ private class Request1RpcProcessor implements
RpcProcessor<TestMessages.Request1> {
/** {@inheritDoc} */
- @Override public void handleRequest(RpcContext rpcCtx, Request1
request) {
+ @Override public void handleRequest(RpcContext rpcCtx,
TestMessages.Request1 request) {
if (request.val() == 10_000)
try {
Thread.sleep(1000);
@@ -221,58 +220,30 @@ public abstract class AbstractRpcTest {
// No-op.
}
- Response1 resp1 = msgFactory.response1().val(request.val() +
1).build();
+ TestMessages.Response1 resp1 =
msgFactory.response1().val(request.val() + 1).build();
rpcCtx.sendResponse(resp1);
}
/** {@inheritDoc} */
@Override public String interest() {
- return Request1.class.getName();
+ return TestMessages.Request1.class.getName();
}
}
/** */
- private class Request2RpcProcessor implements RpcProcessor<Request2> {
+ private class Request2RpcProcessor implements
RpcProcessor<TestMessages.Request2> {
/** {@inheritDoc} */
- @Override public void handleRequest(RpcContext rpcCtx, Request2
request) {
- Response2 resp2 = msgFactory.response2().val(request.val() +
1).build();
+ @Override public void handleRequest(RpcContext rpcCtx,
TestMessages.Request2 request) {
+ TestMessages.Response2 resp2 =
msgFactory.response2().val(request.val() + 1).build();
rpcCtx.sendResponse(resp2);
}
/** {@inheritDoc} */
@Override public String interest() {
- return Request2.class.getName();
+ return TestMessages.Request2.class.getName();
}
}
- /** */
- @Transferable(value = 0)
- public static interface Request1 extends Message {
- /** */
- int val();
- }
-
- /** */
- @Transferable(value = 1)
- public static interface Request2 extends Message {
- /** */
- int val();
- }
-
- /** */
- @Transferable(value = 2)
- public static interface Response1 extends Message {
- /** */
- int val();
- }
-
- /** */
- @Transferable(value = 3)
- public static interface Response2 extends Message {
- /** */
- int val();
- }
-
/**
* @param client The client.
* @param expected Expected count.
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/TestWriteCommand.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/TestWriteCommand.java
similarity index 100%
copy from
modules/raft/src/test/java/org/apache/ignite/raft/TestWriteCommand.java
copy to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/TestWriteCommand.java
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/TestWriteCommand.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/rpc/TestMessages.java
similarity index 57%
rename from
modules/raft/src/test/java/org/apache/ignite/raft/TestWriteCommand.java
rename to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/rpc/TestMessages.java
index d662f4fa95..2bc99c5c81 100644
--- a/modules/raft/src/test/java/org/apache/ignite/raft/TestWriteCommand.java
+++
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/jraft/rpc/TestMessages.java
@@ -14,17 +14,37 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+package org.apache.ignite.raft.jraft.rpc;
-package org.apache.ignite.raft;
-
-import org.apache.ignite.network.NetworkMessage;
import org.apache.ignite.network.annotations.Transferable;
-import org.apache.ignite.raft.client.WriteCommand;
-/**
- * Test WriteCommand.
-*/
-@Transferable(10)
-public interface TestWriteCommand extends NetworkMessage, WriteCommand {
- String value();
+/** Messages used in AbstractRpcTest. */
+public class TestMessages {
+ /** */
+ @Transferable(value = 0)
+ public interface Request1 extends Message {
+ /** */
+ int val();
+ }
+
+ /** */
+ @Transferable(value = 1)
+ public interface Request2 extends Message {
+ /** */
+ int val();
+ }
+
+ /** */
+ @Transferable(value = 2)
+ public interface Response1 extends Message {
+ /** */
+ int val();
+ }
+
+ /** */
+ @Transferable(value = 3)
+ public interface Response2 extends Message {
+ /** */
+ int val();
+ }
}
diff --git
a/modules/raft/src/test/java/org/apache/ignite/raft/messages/TestMessageGroup.java
b/modules/raft/src/testFixtures/java/org/apache/ignite/raft/messages/TestMessageGroup.java
similarity index 100%
rename from
modules/raft/src/test/java/org/apache/ignite/raft/messages/TestMessageGroup.java
rename to
modules/raft/src/testFixtures/java/org/apache/ignite/raft/messages/TestMessageGroup.java