Adjust to mdsal DOM read/exists FluentFuture change
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / AbstractTransactionProxyTest.java
index 894e7df91cdf8b884df0b7f810bdf1f15ae8aee6..482f6965f19f5088e0f120fc865b629d1300bf20 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.controller.cluster.datastore;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.argThat;
@@ -23,13 +24,13 @@ import akka.actor.ActorSelection;
 import akka.actor.ActorSystem;
 import akka.actor.Props;
 import akka.dispatch.Futures;
-import akka.testkit.JavaTestKit;
+import akka.testkit.javadsl.TestKit;
 import akka.util.Timeout;
 import com.codahale.metrics.MetricRegistry;
 import com.codahale.metrics.Timer;
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableMap;
-import com.google.common.util.concurrent.CheckedFuture;
+import com.google.common.util.concurrent.FluentFuture;
 import com.typesafe.config.Config;
 import com.typesafe.config.ConfigFactory;
 import java.io.IOException;
@@ -38,6 +39,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import org.junit.AfterClass;
 import org.junit.Before;
@@ -75,8 +77,8 @@ import org.opendaylight.controller.cluster.datastore.utils.MockConfiguration;
 import org.opendaylight.controller.cluster.raft.utils.DoNothingActor;
 import org.opendaylight.controller.md.cluster.datastore.model.CarsModel;
 import org.opendaylight.controller.md.cluster.datastore.model.TestModel;
-import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
 import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
+import org.opendaylight.mdsal.common.api.ReadFailedException;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
@@ -98,10 +100,10 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest {
 
     private final Configuration configuration = new MockConfiguration() {
         Map<String, ShardStrategy> strategyMap = ImmutableMap.<String, ShardStrategy>builder().put(
-                "junk", new ShardStrategy() {
+                TestModel.JUNK_QNAME.getLocalName(), new ShardStrategy() {
                     @Override
                     public String findShard(final YangInstanceIdentifier path) {
-                        return "junk";
+                        return TestModel.JUNK_QNAME.getLocalName();
                     }
 
                     @Override
@@ -109,10 +111,10 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest {
                         return YangInstanceIdentifier.EMPTY;
                     }
                 }).put(
-                "cars", new ShardStrategy() {
+                CarsModel.BASE_QNAME.getLocalName(), new ShardStrategy() {
                     @Override
                     public String findShard(final YangInstanceIdentifier path) {
-                        return "cars";
+                        return CarsModel.BASE_QNAME.getLocalName();
                     }
 
                     @Override
@@ -129,9 +131,9 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest {
         @Override
         public String getModuleNameFromNameSpace(final String nameSpace) {
             if (TestModel.JUNK_QNAME.getNamespace().toASCIIString().equals(nameSpace)) {
-                return "junk";
+                return TestModel.JUNK_QNAME.getLocalName();
             } else if (CarsModel.BASE_QNAME.getNamespace().toASCIIString().equals(nameSpace)) {
-                return "cars";
+                return CarsModel.BASE_QNAME.getLocalName();
             }
             return null;
         }
@@ -165,7 +167,7 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest {
 
     @AfterClass
     public static void tearDownClass() throws IOException {
-        JavaTestKit.shutdownActorSystem(system);
+        TestKit.shutdownActorSystem(system);
         system = null;
     }
 
@@ -386,23 +388,15 @@ public abstract class AbstractTransactionProxyTest extends AbstractTest {
                 shardName);
     }
 
-    @SuppressWarnings("checkstyle:avoidHidingCauseException")
-    protected void propagateReadFailedExceptionCause(final CheckedFuture<?, ReadFailedException> future)
-            throws Exception {
+    @SuppressWarnings({"checkstyle:avoidHidingCauseException", "checkstyle:IllegalThrows"})
+    protected void propagateReadFailedExceptionCause(final FluentFuture<?> future) throws Throwable {
         try {
-            future.checkedGet(5, TimeUnit.SECONDS);
+            future.get(5, TimeUnit.SECONDS);
             fail("Expected ReadFailedException");
-        } catch (ReadFailedException e) {
-            assertNotNull("Expected a cause", e.getCause());
-            Throwable cause;
-            if (e.getCause().getCause() != null) {
-                cause = e.getCause().getCause();
-            } else {
-                cause = e.getCause();
-            }
-
-            Throwables.propagateIfPossible(cause, Exception.class);
-            throw new RuntimeException(cause);
+        } catch (ExecutionException e) {
+            final Throwable cause = e.getCause();
+            assertTrue("Unexpected cause: " + cause.getClass(), cause instanceof ReadFailedException);
+            throw Throwables.getRootCause(cause);
         }
     }