X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fcommon%2Fdevice%2FDeviceTransactionManagerTest.java;h=b423d4bbc9ebf34bfd507fe330604adc3a6e1888;hb=refs%2Fchanges%2F46%2F100646%2F27;hp=735a57dd949c33eaa1d51acbf424fb90ef973190;hpb=38d28bebaad0b3a504193c2752e10776599d15de;p=transportpce.git diff --git a/common/src/test/java/org/opendaylight/transportpce/common/device/DeviceTransactionManagerTest.java b/common/src/test/java/org/opendaylight/transportpce/common/device/DeviceTransactionManagerTest.java index 735a57dd9..b423d4bbc 100644 --- a/common/src/test/java/org/opendaylight/transportpce/common/device/DeviceTransactionManagerTest.java +++ b/common/src/test/java/org/opendaylight/transportpce/common/device/DeviceTransactionManagerTest.java @@ -10,19 +10,13 @@ package org.opendaylight.transportpce.common.device; import static org.mockito.ArgumentMatchers.any; -import com.google.common.util.concurrent.FluentFuture; -import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.ListeningExecutorService; -import com.google.common.util.concurrent.MoreExecutors; import java.util.LinkedList; import java.util.List; import java.util.Optional; import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import org.eclipse.jdt.annotation.NonNull; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -36,8 +30,9 @@ import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.mdsal.binding.api.MountPoint; import org.opendaylight.mdsal.binding.api.MountPointService; import org.opendaylight.mdsal.binding.api.ReadWriteTransaction; -import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkBuilder; import org.opendaylight.yangtools.util.concurrent.FluentFutures; @@ -48,16 +43,22 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @RunWith(MockitoJUnitRunner.class) public class DeviceTransactionManagerTest { - @Mock private MountPointService mountPointServiceMock; - @Mock private MountPoint mountPointMock; - @Mock private DataBroker dataBrokerMock; - @Mock private ReadWriteTransaction rwTransactionMock; + @Mock + private MountPointService mountPointServiceMock; + @Mock + private MountPoint mountPointMock; + @Mock + private DataBroker dataBrokerMock; + @Mock + private ReadWriteTransaction rwTransactionMock; + private DeviceTransactionManagerImpl transactionManager; private String defaultDeviceId = "device-id"; private LogicalDatastoreType defaultDatastore = LogicalDatastoreType.OPERATIONAL; - private InstanceIdentifier defaultIid = InstanceIdentifier.create(Network.class); - private Network defaultData = new NetworkBuilder().build(); + private InstanceIdentifier defaultIid = InstanceIdentifier + .builder(Networks.class).child(Network.class).build(); + private Network defaultData; private long defaultTimeout = 1000; private TimeUnit defaultTimeUnit = TimeUnit.MILLISECONDS; @@ -67,7 +68,8 @@ public class DeviceTransactionManagerTest { Mockito.when(mountPointMock.getService(any())).thenReturn(Optional.of(dataBrokerMock)); Mockito.when(dataBrokerMock.newReadWriteTransaction()).thenReturn(rwTransactionMock); Mockito.when(rwTransactionMock.commit()).thenReturn(FluentFutures.immediateNullFluentFuture()); - + NetworkId networkId = new NetworkId("NETWORK1"); + defaultData = new NetworkBuilder().setNetworkId(networkId).build(); this.transactionManager = new DeviceTransactionManagerImpl(mountPointServiceMock, 3000); } @@ -297,64 +299,6 @@ public class DeviceTransactionManagerTest { Mockito.verify(rwTransactionMock, Mockito.times(1)).commit(); } - @Test - @Ignore - public void submitTxTimeoutTransactionTest() { - ListeningExecutorService executor = MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor()); - Mockito.when(rwTransactionMock.commit()).then(invocation -> Futures.makeChecked(executor.submit(() -> { - try { - Thread.sleep(3000); - } catch (InterruptedException e) { - Assert.fail("Exception catched in future! " + e); - } - return null; - }), input -> input)); - - Future> deviceTxFuture = - transactionManager.getDeviceTransaction(defaultDeviceId); - DeviceTransaction deviceTx; - try { - deviceTx = deviceTxFuture.get().get(); - } catch (InterruptedException | ExecutionException e) { - Assert.fail("Exception catched! " + e); - return; - } - - deviceTx.put(defaultDatastore, defaultIid, defaultData); - - Exception throwedException = null; - - FluentFuture submitFuture = deviceTx.commit(200, defaultTimeUnit); - try { - submitFuture.get(); - } catch (InterruptedException e) { - Assert.fail("Exception catched! " + e); - } catch (ExecutionException e) { - throwedException = e; - } - - if (throwedException == null - || !throwedException.getMessage().contains(TimeoutException.class.getName())) { - Assert.fail("TimeoutException inside of should be thrown!"); - return; - } - - - Mockito.doReturn(FluentFutures.immediateNullFluentFuture()).when(rwTransactionMock.commit()); - - try { - putAndSubmit(transactionManager, defaultDeviceId, defaultDatastore, defaultIid, defaultData); - } catch (InterruptedException | ExecutionException e) { - Assert.fail("Exception catched! " + e); - return; - } - - Mockito.verify(rwTransactionMock, Mockito.times(2)).put(defaultDatastore, defaultIid, defaultData); - Mockito.verify(rwTransactionMock, Mockito.times(2)).commit(); - - executor.shutdown(); - } - private void putAndSubmit(DeviceTransactionManagerImpl deviceTxManager, String deviceId, LogicalDatastoreType store, InstanceIdentifier path, T data) throws ExecutionException, InterruptedException {