X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tapi%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Ftapi%2Ftopology%2FTapiTopologyImplExceptionTest.java;h=960a41c93be4e1a8d960cddd608703f65c1cb5e9;hb=e891adcb78e7985004bb7a8fecc3c1295bfa56ef;hp=9e46f5395b3a2da46a5dae1afeeaec23302c7b0c;hpb=7ebd052fb7e46f81fc0566dfa92f1d298601d8a6;p=transportpce.git diff --git a/tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImplExceptionTest.java b/tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImplExceptionTest.java index 9e46f5395..960a41c93 100644 --- a/tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImplExceptionTest.java +++ b/tapi/src/test/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImplExceptionTest.java @@ -7,37 +7,37 @@ */ package org.opendaylight.transportpce.tapi.topology; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNull; -import static org.mockito.Mockito.mock; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.when; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; -import java.util.Optional; +import java.nio.charset.Charset; +import java.util.UUID; import java.util.concurrent.ExecutionException; -import org.eclipse.jdt.annotation.NonNull; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; -import org.opendaylight.mdsal.binding.api.DataBroker; -import org.opendaylight.mdsal.binding.api.ReadTransaction; -import org.opendaylight.mdsal.common.api.CommitInfo; -import org.opendaylight.mdsal.common.api.LogicalDatastoreType; +import org.mockito.junit.jupiter.MockitoExtension; import org.opendaylight.transportpce.common.network.NetworkTransactionService; import org.opendaylight.transportpce.tapi.TapiStringConstants; import org.opendaylight.transportpce.tapi.utils.TapiContext; import org.opendaylight.transportpce.tapi.utils.TapiLink; import org.opendaylight.transportpce.tapi.utils.TapiTopologyDataUtils; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.GetTopologyDetailsInput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.GetTopologyDetailsOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.get.topology.details.output.Topology; -import org.opendaylight.yangtools.yang.binding.DataObject; -import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Uuid; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyDetailsInput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyDetailsOutput; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcResult; +@ExtendWith(MockitoExtension.class) public class TapiTopologyImplExceptionTest { + @Mock + private NetworkTransactionService networkTransactionService; @Mock private TapiContext tapiContext; @Mock @@ -47,58 +47,17 @@ public class TapiTopologyImplExceptionTest { @Test void getTopologyDetailsWithExceptionTest() throws InterruptedException, ExecutionException { - DataBroker dataBroker = mock(DataBroker.class); - when(dataBroker.newReadOnlyTransaction()) - .thenReturn(new ReadTransactionMock()); - NetworkTransactionService networkTransactionService = mock(NetworkTransactionService.class); - Answer> answer = new Answer>() { - - @Override - public FluentFuture answer(InvocationOnMock invocation) throws Throwable { - return CommitInfo.emptyFluentFuture(); - } - - }; - when(networkTransactionService.commit()).then(answer); - tapiContext = new TapiContext(networkTransactionService); - - GetTopologyDetailsInput input = TapiTopologyDataUtils.buildGetTopologyDetailsInput( - TapiStringConstants.T0_MULTILAYER); - TapiTopologyImpl tapiTopoImpl = new TapiTopologyImpl(dataBroker, tapiContext, topologyUtils, tapiLink); + when(networkTransactionService.read(any(), any())) + .thenReturn(FluentFuture.from(Futures.immediateFailedFuture(new InterruptedException()))); + Uuid topologyUuid = new Uuid(UUID.nameUUIDFromBytes(TapiStringConstants.T0_MULTILAYER.getBytes( + Charset.forName("UTF-8"))).toString()); + GetTopologyDetailsInput input = TapiTopologyDataUtils.buildGetTopologyDetailsInput(topologyUuid); + TapiTopologyImpl tapiTopoImpl = new TapiTopologyImpl(networkTransactionService, tapiContext, topologyUtils, + tapiLink); ListenableFuture> result = tapiTopoImpl.getTopologyDetails(input); - RpcResult rpcResult = result.get(); - if (rpcResult.isSuccessful()) { - Topology topology = rpcResult.getResult().getTopology(); - assertNull(topology, "Topology should be null"); - } else { - assertNull(null, "Topology should be null"); - } - } - - private final class ReadTransactionMock implements ReadTransaction { - - @Override - public @NonNull Object getIdentifier() { - // TODO Auto-generated method stub - return null; - } - - @Override - public @NonNull FluentFuture> read(@NonNull LogicalDatastoreType store, - @NonNull InstanceIdentifier path) { - return FluentFuture.from(Futures.immediateFailedFuture(new InterruptedException())); - } - - @Override - public @NonNull FluentFuture exists(@NonNull LogicalDatastoreType store, - @NonNull InstanceIdentifier path) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void close() { - // TODO Auto-generated method stub - } + assertFalse(result.get().isSuccessful(), "RpcResult is not successful"); + assertNull(result.get().getResult(), "RpcResult result should be null"); + assertEquals(ErrorType.RPC, result.get().getErrors().get(0).getErrorType()); + assertEquals("Error building topology", result.get().getErrors().get(0).getMessage()); } } \ No newline at end of file