X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=tapi%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Ftapi%2Ftopology%2FTapiTopologyImplExceptionTest.java;h=4fc51dc7986924dbb6afc5ba03d4fde83f18c8e2;hb=b1b3bafd549bb501937cea5c976d5344608b6ed3;hp=7fb3b598f1a347eb8921fe8f64338ccab12fd141;hpb=e25f274098143d1171db8072a8b6091fb97b8e4a;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 7fb3b598f..4fc51dc79 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,38 +7,42 @@ */ 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.mdsal.binding.api.RpcService; import org.opendaylight.transportpce.common.network.NetworkTransactionService; import org.opendaylight.transportpce.tapi.TapiStringConstants; +import org.opendaylight.transportpce.tapi.impl.rpc.GetTopologyDetailsImpl; import org.opendaylight.transportpce.tapi.utils.TapiContext; import org.opendaylight.transportpce.tapi.utils.TapiLink; -import org.opendaylight.transportpce.tapi.utils.TapiLinkImpl; 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.GetTopologyDetails; +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 RpcService rpcService; + @Mock + private NetworkTransactionService networkTransactionService; @Mock private TapiContext tapiContext; @Mock @@ -48,59 +52,18 @@ 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); - tapiLink = new TapiLinkImpl(networkTransactionService); - - GetTopologyDetailsInput input = TapiTopologyDataUtils.buildGetTopologyDetailsInput( - TapiStringConstants.T0_MULTILAYER); - TapiTopologyImpl tapiTopoImpl = new TapiTopologyImpl(dataBroker, 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 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 - } + when(networkTransactionService.read(any(), any())) + .thenReturn(FluentFuture.from(Futures.immediateFailedFuture(new InterruptedException()))); + when(rpcService.getRpc(GetTopologyDetails.class)) + .thenReturn(new GetTopologyDetailsImpl(tapiContext, topologyUtils, tapiLink, networkTransactionService)); + Uuid topologyUuid = new Uuid(UUID.nameUUIDFromBytes(TapiStringConstants.T0_MULTILAYER.getBytes( + Charset.forName("UTF-8"))).toString()); + GetTopologyDetailsInput input = TapiTopologyDataUtils.buildGetTopologyDetailsInput(topologyUuid); + ListenableFuture> result = rpcService + .getRpc(GetTopologyDetails.class).invoke(input); + 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