IGNITE-3727 update test, added 2 new cases

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/190a5c99
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/190a5c99
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/190a5c99

Branch: refs/heads/ignite-3727-2
Commit: 190a5c99fae2fe16afea5a59ba5fd6ca6aef900c
Parents: 8b416e8
Author: DmitriyGovorukhin <[email protected]>
Authored: Fri Sep 9 12:26:24 2016 +0300
Committer: DmitriyGovorukhin <[email protected]>
Committed: Fri Sep 9 12:26:24 2016 +0300

----------------------------------------------------------------------
 .../messaging/IgniteMessagingSendAsyncTest.java | 83 ++++++++++++++++++--
 1 file changed, 75 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/190a5c99/modules/core/src/test/java/org/apache/ignite/messaging/IgniteMessagingSendAsyncTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/messaging/IgniteMessagingSendAsyncTest.java
 
b/modules/core/src/test/java/org/apache/ignite/messaging/IgniteMessagingSendAsyncTest.java
index 6f1188e..91ac6e2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/messaging/IgniteMessagingSendAsyncTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/messaging/IgniteMessagingSendAsyncTest.java
@@ -33,7 +33,9 @@ public class IgniteMessagingSendAsyncTest extends 
GridCommonAbstractTest {
     /**
      * Ignite instance for test.
      */
-    private Ignite ignite;
+    private Ignite ignite1;
+
+    private Ignite ignite2;
 
     /**
      * Topic name.
@@ -47,7 +49,8 @@ public class IgniteMessagingSendAsyncTest extends 
GridCommonAbstractTest {
     protected void beforeTest() throws Exception {
         super.beforeTest();
 
-        ignite = startGrid(0);
+        ignite1 = startGrid(1);
+        ignite2 = startGrid(2);
     }
 
     /**
@@ -57,17 +60,19 @@ public class IgniteMessagingSendAsyncTest extends 
GridCommonAbstractTest {
     protected void afterTest() throws Exception {
         super.afterTest();
 
-        stopGrid(0);
+        stopAllGrids();
     }
 
     /**
      * Test for check, that if use default mode, local listeners execute
-     * in the same thread.
+     * in the same thread. 1 node in topology.
      */
     public void testSendDefaultMode() throws InterruptedException {
+        stopGrid(2);
+
         final String msgStr = "message";
 
-        send(ignite.message(), msgStr, new ProcedureApply() {
+        send(ignite1.message(), msgStr, new ProcedureApply() {
             @Override
             public void apply(String msg, Thread thread) {
                 Assert.assertEquals(Thread.currentThread(), thread);
@@ -79,12 +84,46 @@ public class IgniteMessagingSendAsyncTest extends 
GridCommonAbstractTest {
 
     /**
      * Test for check, that if use async mode, local listeners execute
-     * in another thread(through pool).
+     * in another thread(through pool). 1 node in topology.
      */
     public void testSendAsyncMode() throws InterruptedException {
+        stopGrid(2);
+
+        final String msgStr = "message";
+
+        send(ignite1.message().withAsync(), msgStr, new ProcedureApply() {
+            @Override
+            public void apply(String msg, Thread thread) {
+                Assert.assertTrue(!Thread.currentThread().equals(thread));
+                Assert.assertEquals(msgStr, msg);
+            }
+        });
+    }
+
+    /**
+     * Test for check, that if use default mode, local listeners execute
+     * in the same thread. 2 node in topology.
+     */
+    public void testSendDefaultMode2Node() throws Exception {
+        final String msgStr = "message";
+
+        sendWith2Node(ignite1.message(), msgStr, new ProcedureApply() {
+            @Override
+            public void apply(String msg, Thread thread) {
+                Assert.assertEquals(Thread.currentThread(), thread);
+                Assert.assertEquals(msgStr, msg);
+            }
+        });
+    }
+
+    /**
+     * Test for check, that if use async mode, local listeners execute
+     * in another thread(through pool). 2 node in topology.
+     */
+    public void testSendAsyncMode2Node() throws Exception {
         final String msgStr = "message";
 
-        send(ignite.message().withAsync(), msgStr, new ProcedureApply() {
+        sendWith2Node(ignite1.message().withAsync(), msgStr, new 
ProcedureApply() {
             @Override
             public void apply(String msg, Thread thread) {
                 Assert.assertTrue(!Thread.currentThread().equals(thread));
@@ -96,7 +135,35 @@ public class IgniteMessagingSendAsyncTest extends 
GridCommonAbstractTest {
     /**
      * @param igniteMsg Ignite message.
      * @param msgStr    Message string.
-     * @param cls       callback for compare result.
+     * @param cls       Callback for compare result.
+     */
+    public void sendWith2Node(
+            final IgniteMessaging igniteMsg,
+            final String msgStr,
+            final ProcedureApply cls
+    ) throws Exception {
+
+        final CountDownLatch latch = new CountDownLatch(1);
+
+        ignite2.message().localListen(TOPIC, new IgniteBiPredicate<UUID, 
String>() {
+            @Override
+            public boolean apply(UUID uuid, String msg) {
+                Assert.assertEquals(msgStr, msg);
+                latch.countDown();
+                return false;
+            }
+        });
+
+        send(igniteMsg, msgStr, cls);
+
+        latch.await();
+    }
+
+
+    /**
+     * @param igniteMsg Ignite message.
+     * @param msgStr    Message string.
+     * @param cls       Callback for compare result.
      */
     private void send(
             IgniteMessaging igniteMsg,

Reply via email to