X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2Ftest%2FBrokerFacadeTest.java;h=19ca812f8e9a90c1aad698be0df347b2b651b26f;hb=b2e6c299fad844633c8b40a2e180780f5774a4ae;hp=987beb072b4e3cb03516665b5cba10fc9b740c6d;hpb=a71bb09b4111391921854c2776edc746108c53c1;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/BrokerFacadeTest.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/BrokerFacadeTest.java index 987beb072b..19ca812f8e 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/BrokerFacadeTest.java +++ b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/BrokerFacadeTest.java @@ -7,14 +7,20 @@ */ package org.opendaylight.controller.sal.restconf.impl.test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.inOrder; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; +import static org.mockito.Mockito.when; -import static org.junit.Assert.*; -import static org.mockito.Mockito.*; - -import java.util.Collections; +import com.google.common.collect.ImmutableMap; +import com.google.common.util.concurrent.Futures; import java.util.Map; import java.util.concurrent.Future; - import org.junit.Before; import org.junit.Test; import org.mockito.InOrder; @@ -28,7 +34,8 @@ import org.opendaylight.controller.sal.core.api.data.DataModificationTransaction import org.opendaylight.controller.sal.core.api.mount.MountInstance; import org.opendaylight.controller.sal.rest.impl.XmlToCompositeNodeProvider; import org.opendaylight.controller.sal.restconf.impl.BrokerFacade; -import org.opendaylight.controller.sal.restconf.impl.ResponseException; +import org.opendaylight.controller.sal.restconf.impl.RestconfDocumentedException; +import org.opendaylight.controller.sal.restconf.impl.RestconfError; import org.opendaylight.controller.sal.streams.listeners.ListenerAdapter; import org.opendaylight.controller.sal.streams.listeners.Notificator; import org.opendaylight.yangtools.concepts.ListenerRegistration; @@ -36,9 +43,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.data.api.CompositeNode; import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; - -import com.google.common.collect.ImmutableMap; -import com.google.common.util.concurrent.Futures; +import org.opendaylight.yangtools.yang.data.impl.ImmutableCompositeNode; /** * Unit tests for BrokerFacade. @@ -114,7 +119,7 @@ public class BrokerFacadeTest { assertSame( "readOperationalDataBehindMountPoint", dataNode, actualNode ); } - @Test(expected=ResponseException.class) + @Test(expected=RestconfDocumentedException.class) public void testReadOperationalDataWithNoDataBroker() { brokerFacade.setDataService( null ); @@ -123,26 +128,19 @@ public class BrokerFacadeTest { @SuppressWarnings("unchecked") @Test - public void testInvokeRpc() { + public void testInvokeRpc() throws Exception { RpcResult expResult = mock( RpcResult.class ); Future> future = Futures.immediateFuture( expResult ); when( mockConsumerSession.rpc( qname, dataNode ) ).thenReturn( future ); - RpcResult actualResult = brokerFacade.invokeRpc( qname, dataNode ); + Future> actualFuture = brokerFacade.invokeRpc( qname, dataNode ); + assertNotNull( "Future is null", actualFuture ); + RpcResult actualResult = actualFuture.get(); assertSame( "invokeRpc", expResult, actualResult ); } - @Test(expected=ResponseException.class) - public void testInvokeRpcWithException() { - Exception mockEx = new Exception( "mock" ); - Future> future = Futures.immediateFailedFuture( mockEx ); - when( mockConsumerSession.rpc( qname, dataNode ) ).thenReturn( future ); - - brokerFacade.invokeRpc( qname, dataNode ); - } - - @Test(expected=ResponseException.class) + @Test(expected=RestconfDocumentedException.class) public void testInvokeRpcWithNoConsumerSession() { brokerFacade.setContext( null ); @@ -212,18 +210,20 @@ public class BrokerFacadeTest { inOrder.verify( mockTransaction ).commit(); } - @Test + @Test(expected=RestconfDocumentedException.class) public void testCommitConfigurationDataPostAlreadyExists() { when( dataBroker.beginTransaction() ).thenReturn( mockTransaction ); mockTransaction.putConfigurationData( instanceID, dataNode ); - when( mockTransaction.getCreatedConfigurationData() ) - .thenReturn( Collections.emptyMap() ); - - Future> actualFuture = - brokerFacade.commitConfigurationDataPost( instanceID, dataNode ); - - assertNull( "Retruned non-null Future", actualFuture ); - verify( mockTransaction, never() ).commit(); + when ( mockTransaction.readConfigurationData( instanceID ) ) + .thenReturn( dataNode ); + try { + brokerFacade.commitConfigurationDataPost( instanceID, dataNode ); + } + catch (RestconfDocumentedException e) { + assertEquals("getErrorTag", + RestconfError.ErrorTag.DATA_EXISTS, e.getErrors().get( 0 ).getErrorTag()); + throw e; + } } @Test @@ -251,20 +251,22 @@ public class BrokerFacadeTest { inOrder.verify( mockTransaction ).commit(); } - @Test + @Test(expected=RestconfDocumentedException.class) public void testCommitConfigurationDataPostBehindMountPointAlreadyExists() { when( mockMountInstance.beginTransaction() ).thenReturn( mockTransaction ); mockTransaction.putConfigurationData( instanceID, dataNode ); - when( mockTransaction.getCreatedConfigurationData() ) - .thenReturn( Collections.emptyMap() ); - - Future> actualFuture = - brokerFacade.commitConfigurationDataPostBehindMountPoint( mockMountInstance, - instanceID, dataNode ); - - assertNull( "Retruned non-null Future", actualFuture ); - verify( mockTransaction, never() ).commit(); + when ( mockTransaction.readConfigurationData( instanceID ) ) + .thenReturn( dataNode ); + try { + brokerFacade.commitConfigurationDataPostBehindMountPoint( mockMountInstance, + instanceID, dataNode ); + } + catch (RestconfDocumentedException e) { + assertEquals("getErrorTag", + RestconfError.ErrorTag.DATA_EXISTS, e.getErrors().get( 0 ).getErrorTag()); + throw e; + } } @Test @@ -272,6 +274,8 @@ public class BrokerFacadeTest { Future> expFuture = Futures.immediateFuture( null ); when( dataBroker.beginTransaction() ).thenReturn( mockTransaction ); + when(mockTransaction.readConfigurationData(any(InstanceIdentifier.class))).thenReturn( + ImmutableCompositeNode.builder().toInstance()); mockTransaction.removeConfigurationData( instanceID ); when( mockTransaction.commit() ).thenReturn( expFuture ); @@ -291,6 +295,8 @@ public class BrokerFacadeTest { Future> expFuture = Futures.immediateFuture( null ); when( mockMountInstance.beginTransaction() ).thenReturn( mockTransaction ); + when(mockTransaction.readConfigurationData(any(InstanceIdentifier.class))).thenReturn( + ImmutableCompositeNode.builder().toInstance()); mockTransaction.removeConfigurationData( instanceID ); when( mockTransaction.commit() ).thenReturn( expFuture );