Reduce the use of AttrBuilders
[netconf.git] / restconf / restconf-nb-bierman02 / src / test / java / org / opendaylight / controller / sal / restconf / impl / test / RestconfImplTest.java
index 6067e419d7c09b4d9816911bf5c0c0441fb24317..79d08e6ebf7242c51b545a16d9fdcf4e7d115db3 100644 (file)
@@ -9,18 +9,18 @@ package org.opendaylight.controller.sal.restconf.impl.test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFluentFuture;
 
-import com.google.common.base.Optional;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
-import com.google.common.util.concurrent.Futures;
 import java.io.FileNotFoundException;
 import java.net.URI;
 import java.text.ParseException;
@@ -30,22 +30,25 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+import java.util.Optional;
 import java.util.Set;
 import javax.ws.rs.core.MultivaluedHashMap;
 import javax.ws.rs.core.MultivaluedMap;
 import javax.ws.rs.core.UriBuilder;
 import javax.ws.rs.core.UriInfo;
+import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.Mockito;
-import org.opendaylight.controller.md.sal.dom.api.DOMMountPoint;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult;
-import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
 import org.opendaylight.controller.md.sal.rest.common.TestRestconfUtils;
+import org.opendaylight.mdsal.dom.api.DOMMountPoint;
+import org.opendaylight.mdsal.dom.api.DOMRpcResult;
+import org.opendaylight.mdsal.dom.api.DOMRpcService;
 import org.opendaylight.netconf.sal.restconf.impl.BrokerFacade;
 import org.opendaylight.netconf.sal.restconf.impl.ControllerContext;
 import org.opendaylight.netconf.sal.restconf.impl.RestconfImpl;
 import org.opendaylight.netconf.sal.streams.listeners.Notificator;
+import org.opendaylight.netconf.sal.streams.websockets.WebSocketServer;
 import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
 import org.opendaylight.restconf.common.context.NormalizedNodeContext;
 import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
@@ -53,7 +56,6 @@ import org.opendaylight.restconf.common.errors.RestconfError;
 import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag;
 import org.opendaylight.restconf.common.errors.RestconfError.ErrorType;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
@@ -86,14 +88,19 @@ public class RestconfImplTest {
         assertNotNull(allModules);
     }
 
+    @AfterClass
+    public static void cleanUp() {
+        WebSocketServer.destroyInstance(); // NETCONF-604
+    }
+
     @Test
     public void binaryKeyTest() {
         final List<Byte> al = new ArrayList<>();
-        al.add(new Byte((byte) 1));
+        al.add((byte) 1);
         binaryKeyTest(al, al);
     }
 
-    private void binaryKeyTest(final List<Byte> al, final List<Byte> al2) {
+    private static void binaryKeyTest(final List<Byte> al, final List<Byte> al2) {
 
         final QName keyDef = QName.create("test:key:binary", "2017-08-14", "b1");
 
@@ -113,7 +120,7 @@ public class RestconfImplTest {
     @Test
     public void binaryKeyFailTest() {
         final List<Byte> al = new ArrayList<>();
-        al.add(new Byte((byte) 1));
+        al.add((byte) 1);
         final List<Byte> al2 = new ArrayList<>();
         try {
             binaryKeyTest(al, al2);
@@ -129,7 +136,7 @@ public class RestconfImplTest {
     public void testExample() throws FileNotFoundException, ParseException {
         @SuppressWarnings("rawtypes")
         final NormalizedNode normalizedNodeData = TestUtils.prepareNormalizedNodeWithIetfInterfacesInterfacesData();
-        when(brokerFacade.readOperationalData(any(YangInstanceIdentifier.class))).thenReturn(normalizedNodeData);
+        when(brokerFacade.readOperationalData(isNull())).thenReturn(normalizedNodeData);
         assertEquals(normalizedNodeData,
                 brokerFacade.readOperationalData(null));
     }
@@ -140,7 +147,7 @@ public class RestconfImplTest {
         doReturn(new MultivaluedHashMap<>()).when(uriInfo).getQueryParameters(anyBoolean());
 
         final NormalizedNodeContext ctx = mock(NormalizedNodeContext.class);
-        final InstanceIdentifierContext iiCtx = mock(InstanceIdentifierContext.class);
+        final InstanceIdentifierContext<?> iiCtx = mock(InstanceIdentifierContext.class);
         doReturn(iiCtx).when(ctx).getInstanceIdentifierContext();
         final SchemaNode schemaNode = mock(SchemaNode.class);
         doReturn(schemaNode).when(iiCtx).getSchemaNode();
@@ -151,11 +158,11 @@ public class RestconfImplTest {
         doReturn(mount).when(iiCtx).getMountPoint();
         final DOMRpcService rpcService = mock(DOMRpcService.class);
         doReturn(Optional.of(rpcService)).when(mount).getService(DOMRpcService.class);
-        doReturn(Futures.immediateCheckedFuture(mock(DOMRpcResult.class))).when(rpcService)
+        doReturn(immediateFluentFuture(mock(DOMRpcResult.class))).when(rpcService)
                 .invokeRpc(any(SchemaPath.class), any(NormalizedNode.class));
         this.restconfImpl.invokeRpc("randomId", ctx, uriInfo);
         this.restconfImpl.invokeRpc("ietf-netconf", ctx, uriInfo);
-        verify(rpcService, times(2)).invokeRpc(any(SchemaPath.class), any(NormalizedNode.class));
+        verify(rpcService, times(2)).invokeRpc(any(SchemaPath.class), isNull());
     }
 
     /**
@@ -164,7 +171,7 @@ public class RestconfImplTest {
     @Test
     public void createNotificationStreamTest() {
         final NormalizedNodeContext payload = mock(NormalizedNodeContext.class);
-        final InstanceIdentifierContext iiCtx = mock(InstanceIdentifierContext.class);
+        final InstanceIdentifierContext<?> iiCtx = mock(InstanceIdentifierContext.class);
         doReturn(iiCtx).when(payload).getInstanceIdentifierContext();
 
         final SchemaNode schemaNode = mock(SchemaNode.class,
@@ -176,7 +183,7 @@ public class RestconfImplTest {
                 "2014-01-14", "create-notification-stream")).when(schemaNode).getQName();
         doReturn(null).when(iiCtx).getMountPoint();
 
-        final Set<DataContainerChild<?, ?>> children = Sets.newHashSet();
+        final Set<DataContainerChild<?, ?>> children = new HashSet<>();
         final DataContainerChild<?, ?> child = mock(DataContainerChild.class,
                 Mockito.withSettings().extraInterfaces(LeafSetNode.class));