import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
+import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import java.net.InetSocketAddress;
import java.util.concurrent.ExecutionException;
import org.mockito.junit.MockitoJUnitRunner;
import org.opendaylight.mdsal.binding.api.DataBroker;
import org.opendaylight.mdsal.binding.api.TransactionChain;
-import org.opendaylight.mdsal.binding.api.TransactionChainListener;
import org.opendaylight.mdsal.binding.api.WriteTransaction;
import org.opendaylight.mdsal.common.api.CommitInfo;
import org.opendaylight.mdsal.common.api.LogicalDatastoreType;
@Mock
private WriteTransaction mockTx;
@Captor
- private ArgumentCaptor<TransactionChainListener> listeners;
+ private ArgumentCaptor<FutureCallback<Empty>> listeners;
private NetconfDeviceTopologyAdapter adapter;
doReturn("test transaction").when(mockTx).getIdentifier();
doReturn(CommitInfo.emptyFluentFuture()).when(mockTx).commit();
- doReturn(mockChain).when(mockBroker).createMergingTransactionChain(listeners.capture());
+ doReturn(mockChain).when(mockBroker).createMergingTransactionChain();
+ doNothing().when(mockChain).addCallback(listeners.capture());
adapter = new NetconfDeviceTopologyAdapter(mockBroker, TEST_TOPOLOGY_ID, id);
}
public void replaceChainIfFailed() {
doNothing().when(mockChain).close();
doReturn("mockChain").when(mockChain).toString();
- adapter.onTransactionChainFailed(mockChain, mockTx, new Exception("chain failed"));
- verify(mockBroker, times(2)).createMergingTransactionChain(any());
+ adapter.onFailure(new Exception("chain failed"));
+ verify(mockBroker, times(2)).createMergingTransactionChain();
}
@Test
assertSame(future, adapter.shutdown());
// future completes
- listeners.getValue().onTransactionChainSuccessful(mockChain);
+ listeners.getValue().onSuccess(Empty.value());
assertSame(Empty.value(), Futures.getDone(future));
}
// future completes
final var cause = new Throwable();
- listeners.getValue().onTransactionChainFailed(mockChain, mockTx, cause);
+ listeners.getValue().onFailure(cause);
final var ex = assertThrows(ExecutionException.class, () -> Futures.getDone(future));
assertSame(cause, ex.getCause());
}