import java.util.concurrent.Executors;
import org.junit.After;
import org.junit.Before;
+import org.junit.runner.RunWith;
import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.DataObjectModification;
import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.binding.KeyedInstanceIdentifier;
+@RunWith(MockitoJUnitRunner.class)
public abstract class DataTreeChangeListenerBase {
private OperationProcessor processor;
@Before
public void setUp() {
- MockitoAnnotations.initMocks(this);
-
doReturn(mockTxChain).when(mockDataBroker).createTransactionChain(any(TransactionChainListener.class));
processor = new OperationProcessor(mockDataBroker);
}
protected <T extends DataObject> DataTreeModification<T> setupDataTreeChange(final ModificationType type,
- final InstanceIdentifier<T> ii) {
+ final InstanceIdentifier<T> ii,
+ final boolean getDataAfter) {
final DataTreeModification dataTreeModification = mock(DataTreeModification.class);
final DataTreeIdentifier<T> identifier = DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, ii);
when(dataTreeModification.getRootNode()).thenReturn(mock(DataObjectModification.class));
when(dataTreeModification.getRootNode().getModificationType()).thenReturn(type);
when(dataTreeModification.getRootPath()).thenReturn(identifier);
- when(dataTreeModification.getRootNode().getDataAfter()).thenReturn(mock(FlowCapableNodeConnector.class));
+ if (getDataAfter) {
+ when(dataTreeModification.getRootNode().getDataAfter()).thenReturn(mock(FlowCapableNodeConnector.class));
+ }
return dataTreeModification;
}
}
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.ReadWriteTransaction;
import org.opendaylight.mdsal.binding.api.TransactionChain;
import org.opendaylight.yangtools.util.concurrent.FluentFutures;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+@RunWith(MockitoJUnitRunner.class)
public class FlowCapableTopologyExporterTest {
private OperationProcessor processor;
@Before
public void setUp() {
- MockitoAnnotations.initMocks(this);
-
doReturn(mockTxChain).when(mockDataBroker)
.createTransactionChain(any(TransactionChainListener.class));
SettableFuture<Optional<Node>> readFutureNode = SettableFuture.create();
readFutureNode.set(Optional.of(topoNode));
- doReturn(FluentFuture.from(readFutureNode)).when(mockTx1).read(LogicalDatastoreType.OPERATIONAL, topoNodeII);
final CountDownLatch submitLatch1 = setupStubbedSubmit(mockTx1);
doReturn(mockTx1).when(mockTxChain).newReadWriteTransaction();
- DataTreeModification dataTreeModification = setupDataTreeChange(DELETE, invNodeID);
+ DataTreeModification dataTreeModification = setupDataTreeChange(DELETE, invNodeID, false);
nodeChangeListener.onDataTreeChanged(Collections.singleton(dataTreeModification));
waitForSubmit(submitLatch1);
.read(LogicalDatastoreType.OPERATIONAL, topologyIID);
final CountDownLatch submitLatch = setupStubbedSubmit(mockTx);
- doReturn(FluentFutures.immediateFluentFuture(Optional.of(topoNode))).when(mockTx)
- .read(LogicalDatastoreType.OPERATIONAL, topoNodeII);
-
CountDownLatch deleteLatch = new CountDownLatch(1);
ArgumentCaptor<InstanceIdentifier> deletedLinkIDs =
ArgumentCaptor.forClass(InstanceIdentifier.class);
doReturn(mockTx).when(mockTxChain).newReadWriteTransaction();
- DataTreeModification dataTreeModification = setupDataTreeChange(DELETE, invNodeID);
+ DataTreeModification dataTreeModification = setupDataTreeChange(DELETE, invNodeID, false);
nodeChangeListener.onDataTreeChanged(Collections.singleton(dataTreeModification));
waitForSubmit(submitLatch);
CountDownLatch submitLatch = setupStubbedSubmit(mockTx);
doReturn(mockTx).when(mockTxChain).newReadWriteTransaction();
- DataTreeModification dataTreeModification = setupDataTreeChange(WRITE, invNodeID);
+ DataTreeModification dataTreeModification = setupDataTreeChange(WRITE, invNodeID, false);
nodeChangeListener.onDataTreeChanged(Collections.singleton(dataTreeModification));
waitForSubmit(submitLatch);
doReturn(mockTx1).when(mockTxChain).newReadWriteTransaction();
- DataTreeModification dataTreeModification = setupDataTreeChange(DELETE, invNodeConnID);
+ DataTreeModification dataTreeModification = setupDataTreeChange(DELETE, invNodeConnID, false);
terminationPointListener.onDataTreeChanged(Collections.singleton(dataTreeModification));
waitForSubmit(submitLatch1);
doReturn(mockTx).when(mockTxChain).newReadWriteTransaction();
- DataTreeModification dataTreeModification = setupDataTreeChange(DELETE, invNodeConnID);
+ DataTreeModification dataTreeModification = setupDataTreeChange(DELETE, invNodeConnID, false);
terminationPointListener.onDataTreeChanged(Collections.singleton(dataTreeModification));
waitForSubmit(submitLatch);
CountDownLatch submitLatch = setupStubbedSubmit(mockTx);
doReturn(mockTx).when(mockTxChain).newReadWriteTransaction();
- DataTreeModification dataTreeModification = setupDataTreeChange(WRITE, invNodeConnID);
+ DataTreeModification dataTreeModification = setupDataTreeChange(WRITE, invNodeConnID, true);
terminationPointListener.onDataTreeChanged(Collections.singleton(dataTreeModification));
waitForSubmit(submitLatch);
doReturn(mockTx).when(mockTxChain).newReadWriteTransaction();
- DataTreeModification dataTreeModification = setupDataTreeChange(WRITE, invNodeConnID);
+ DataTreeModification dataTreeModification = setupDataTreeChange(WRITE, invNodeConnID, false);
when(dataTreeModification.getRootNode().getDataAfter())
.thenReturn(provideFlowCapableNodeConnector(true, false));
terminationPointListener.onDataTreeChanged(Collections.singleton(dataTreeModification));
doReturn(mockTx).when(mockTxChain).newReadWriteTransaction();
- DataTreeModification dataTreeModification = setupDataTreeChange(WRITE, invNodeConnID);
+ DataTreeModification dataTreeModification = setupDataTreeChange(WRITE, invNodeConnID, false);
when(dataTreeModification.getRootNode().getDataAfter())
.thenReturn(provideFlowCapableNodeConnector(false, true));
terminationPointListener.onDataTreeChanged(Collections.singleton(dataTreeModification));