You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by iv...@apache.org on 2015/07/20 17:05:35 UTC

[19/23] incubator-ignite git commit: #ignite-1087: add tests.

#ignite-1087: add tests.


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

Branch: refs/heads/ignite-1087
Commit: 14b58dbc799885989b20e91868848de828df7972
Parents: 17b0fb7
Author: ivasilinets <iv...@gridgain.com>
Authored: Mon Jul 13 16:31:33 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Mon Jul 13 16:31:33 2015 +0300

----------------------------------------------------------------------
 .../cache/CacheAffinityCallSelfTest.java        | 42 ++++++++++++++++++--
 1 file changed, 39 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/14b58dbc/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java
index a8a838e..2505eb9 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/CacheAffinityCallSelfTest.java
@@ -1,6 +1,7 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.*;
+import org.apache.ignite.cluster.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.internal.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
@@ -29,6 +30,9 @@ public class CacheAffinityCallSelfTest extends GridCommonAbstractTest {
     private static final int MAX_FAILOVER_ATTEMPTS = 5;
 
     /** */
+    private static final int SERVERS_COUNT = 4;
+
+    /** */
     private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
 
     /** {@inheritDoc} */
@@ -52,6 +56,9 @@ public class CacheAffinityCallSelfTest extends GridCommonAbstractTest {
 
         cfg.setCacheConfiguration(ccfg);
 
+        if (gridName.equals(getTestGridName(SERVERS_COUNT)))
+            cfg.setClientMode(true);
+
         return cfg;
     }
 
@@ -84,6 +91,37 @@ public class CacheAffinityCallSelfTest extends GridCommonAbstractTest {
     }
 
     /**
+     * @throws Exception If failed.
+     */
+    public void testAffinityCallNoServerNode() throws Exception {
+        startGrids(SERVERS_COUNT + 1);
+
+        final Integer key = 1;
+
+        final Ignite client = grid(SERVERS_COUNT);
+
+        final IgniteInternalFuture<Object> fut = GridTestUtils.runAsync(new Callable<Object>() {
+            @Override public Object call() throws Exception {
+                for (int i = 0; i < SERVERS_COUNT; ++i)
+                    stopGrid(i);
+
+                return null;
+            }
+        });
+
+        GridTestUtils.assertThrows(log, new Callable<Object>() {
+            @Override public Object call() throws Exception {
+                while (!fut.isDone())
+                    client.compute().affinityCall(CACHE_NAME, key, new CheckCallable(key));
+
+                return null;
+            }
+        }, ClusterGroupEmptyException.class, "Topology projection is empty");
+
+        stopAllGrids();
+    }
+
+    /**
      * Test callable.
      */
     public static class CheckCallable implements IgniteCallable<Object> {
@@ -103,11 +141,9 @@ public class CacheAffinityCallSelfTest extends GridCommonAbstractTest {
 
         /** {@inheritDoc} */
         @Override public Object call() throws IgniteCheckedException {
-            assert ignite.cluster().localNode().id().equals(ignite.cluster().mapKeyToNode(null, key).id());
+            assert ignite.cluster().localNode().id().equals(ignite.cluster().mapKeyToNode(CACHE_NAME, key).id());
 
             return null;
         }
     }
-
-
 }