Fix JaxRsFormattableBodyWriter
[netconf.git] / restconf / restconf-nb / src / test / java / org / opendaylight / restconf / nb / rfc8040 / jersey / providers / ParameterAwareNormalizedNodeWriterParametersTest.java
index bd964e8afa569256984fb5a23b3f16f1d3aeee5b..a0d11b7ffd6e33f4863578bb5e8bc17c06a27195 100644 (file)
@@ -10,27 +10,22 @@ package org.opendaylight.restconf.nb.rfc8040.jersey.providers;
 import static org.mockito.Mockito.inOrder;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.when;
 
-import java.util.Collection;
 import java.util.List;
 import java.util.Set;
-import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
-import org.opendaylight.restconf.nb.rfc8040.DepthParam;
+import org.opendaylight.restconf.api.query.DepthParam;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
-import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.SystemLeafSetNode;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
-import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
+import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 
 /**
@@ -38,54 +33,33 @@ import org.opendaylight.yangtools.yang.model.api.SchemaContext;
  */
 @RunWith(MockitoJUnitRunner.StrictStubs.class)
 public class ParameterAwareNormalizedNodeWriterParametersTest {
+    private final String leafSetEntryNodeValue = "leaf-set-value";
+    private final NodeIdentifier containerNodeIdentifier =
+        NodeIdentifier.create(QName.create("namespace", "container"));
+    private final NodeIdentifier leafSetNodeIdentifier = NodeIdentifier.create(QName.create("namespace", "leaf-set"));
+    private final NodeWithValue<String> leafSetEntryNodeIdentifier =
+        new NodeWithValue<>(QName.create("namespace", "leaf-set-entry"), leafSetEntryNodeValue);
+
+    private final LeafSetEntryNode<String> leafSetEntryNodeData = ImmutableNodes.<String>newLeafSetEntryBuilder()
+        .withNodeIdentifier(leafSetEntryNodeIdentifier)
+        .withValue(leafSetEntryNodeValue)
+        .build();
+    private final SystemLeafSetNode<String> leafSetNodeData = ImmutableNodes.<String>newSystemLeafSetBuilder()
+        .withNodeIdentifier(leafSetNodeIdentifier)
+        .withChild(leafSetEntryNodeData)
+        .build();
+    private final ContainerNode containerNodeData = ImmutableNodes.newContainerBuilder()
+        .withNodeIdentifier(containerNodeIdentifier)
+        .withChild(leafSetNodeData)
+        .build();
+    private final ContainerNode rootDataContainerData = ImmutableNodes.newContainerBuilder()
+        .withNodeIdentifier(NodeIdentifier.create(
+            QName.create("urn:ietf:params:xml:ns:netconf:base:1.0", "data")))
+        .withChild(leafSetNodeData)
+        .build();
+
     @Mock
     private NormalizedNodeStreamWriter writer;
-    @Mock
-    private ContainerNode containerNodeData;
-    @Mock
-    private SystemLeafSetNode<String> leafSetNodeData;
-    @Mock
-    private LeafSetEntryNode<String> leafSetEntryNodeData;
-    @Mock
-    private ContainerNode rootDataContainerData;
-
-    private NodeIdentifier containerNodeIdentifier;
-    private NodeIdentifier leafSetNodeIdentifier;
-    private NodeWithValue<String> leafSetEntryNodeIdentifier;
-
-    private Collection<DataContainerChild> containerNodeValue;
-    private Collection<LeafSetEntryNode<String>> leafSetNodeValue;
-    private String leafSetEntryNodeValue;
-    private Collection<DataContainerChild> rootDataContainerValue;
-
-    @Before
-    public void setUp() {
-        // identifiers
-        containerNodeIdentifier = NodeIdentifier.create(QName.create("namespace", "container"));
-        when(containerNodeData.getIdentifier()).thenReturn(containerNodeIdentifier);
-
-        final QName leafSetEntryNodeQName = QName.create("namespace", "leaf-set-entry");
-        leafSetEntryNodeValue = "leaf-set-value";
-        leafSetEntryNodeIdentifier = new NodeWithValue<>(leafSetEntryNodeQName, leafSetEntryNodeValue);
-        when(leafSetEntryNodeData.getIdentifier()).thenReturn(leafSetEntryNodeIdentifier);
-
-        leafSetNodeIdentifier = NodeIdentifier.create(QName.create("namespace", "leaf-set"));
-        when(leafSetNodeData.getIdentifier()).thenReturn(leafSetNodeIdentifier);
-
-        // values
-        when(leafSetEntryNodeData.body()).thenReturn(leafSetEntryNodeValue);
-
-        leafSetNodeValue = List.of(leafSetEntryNodeData);
-        when(leafSetNodeData.body()).thenReturn(leafSetNodeValue);
-
-        containerNodeValue = Set.of(leafSetNodeData);
-        when(containerNodeData.body()).thenReturn(containerNodeValue);
-
-        rootDataContainerValue = Set.of(leafSetNodeData);
-        when(rootDataContainerData.getIdentifier()).thenReturn(NodeIdentifier.create(
-            QName.create("urn:ietf:params:xml:ns:netconf:base:1.0", "data")));
-        when(rootDataContainerData.body()).thenReturn(rootDataContainerValue);
-    }
 
     /**
      * Test write {@link ContainerNode} when all its children are selected to be written by fields parameter.
@@ -96,18 +70,16 @@ public class ParameterAwareNormalizedNodeWriterParametersTest {
      */
     @Test
     public void writeContainerParameterPrioritiesTest() throws Exception {
-        final List<Set<QName>> limitedFields = List.of(
-            Set.of(leafSetNodeIdentifier.getNodeType()),
-            Set.of(leafSetEntryNodeIdentifier.getNodeType()));
-
-        final ParameterAwareNormalizedNodeWriter parameterWriter = ParameterAwareNormalizedNodeWriter.forStreamWriter(
-                writer, DepthParam.min(), limitedFields);
+        final var parameterWriter = ParameterAwareNormalizedNodeWriter.forStreamWriter(writer, DepthParam.min(),
+            List.of(
+                Set.of(leafSetNodeIdentifier.getNodeType()),
+                Set.of(leafSetEntryNodeIdentifier.getNodeType())));
 
         parameterWriter.write(containerNodeData);
 
-        final InOrder inOrder = inOrder(writer);
-        inOrder.verify(writer, times(1)).startContainerNode(containerNodeIdentifier, containerNodeValue.size());
-        inOrder.verify(writer, times(1)).startLeafSet(leafSetNodeIdentifier, leafSetNodeValue.size());
+        final var inOrder = inOrder(writer);
+        inOrder.verify(writer, times(1)).startContainerNode(containerNodeIdentifier, 1);
+        inOrder.verify(writer, times(1)).startLeafSet(leafSetNodeIdentifier, 1);
         inOrder.verify(writer, times(1)).startLeafSetEntryNode(leafSetEntryNodeIdentifier);
         inOrder.verify(writer, times(1)).scalarValue(leafSetEntryNodeValue);
         inOrder.verify(writer, times(3)).endNode();
@@ -120,13 +92,12 @@ public class ParameterAwareNormalizedNodeWriterParametersTest {
      */
     @Test
     public void writeRootDataTest() throws Exception {
-        final ParameterAwareNormalizedNodeWriter parameterWriter = ParameterAwareNormalizedNodeWriter.forStreamWriter(
-                writer, null, null);
+        final var parameterWriter = ParameterAwareNormalizedNodeWriter.forStreamWriter(writer, null);
 
         parameterWriter.write(rootDataContainerData);
 
-        final InOrder inOrder = inOrder(writer);
-        inOrder.verify(writer, times(1)).startLeafSet(leafSetNodeIdentifier, leafSetNodeValue.size());
+        final var inOrder = inOrder(writer);
+        inOrder.verify(writer, times(1)).startLeafSet(leafSetNodeIdentifier, 1);
         inOrder.verify(writer, times(1)).startLeafSetEntryNode(leafSetEntryNodeIdentifier);
         inOrder.verify(writer, times(1)).scalarValue(leafSetEntryNodeValue);
         inOrder.verify(writer, times(2)).endNode();
@@ -135,11 +106,10 @@ public class ParameterAwareNormalizedNodeWriterParametersTest {
 
     @Test
     public void writeEmptyRootContainerTest() throws Exception {
-        final ParameterAwareNormalizedNodeWriter parameterWriter = ParameterAwareNormalizedNodeWriter.forStreamWriter(
-            writer, null, null);
+        final var parameterWriter = ParameterAwareNormalizedNodeWriter.forStreamWriter(writer, null);
 
-        parameterWriter.write(Builders.containerBuilder()
+        parameterWriter.write(ImmutableNodes.newContainerBuilder()
             .withNodeIdentifier(new NodeIdentifier(SchemaContext.NAME))
             .build());
     }
-}
\ No newline at end of file
+}