Migrate NetconfUtilTest 38/105738/4
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 28 Apr 2023 13:54:20 +0000 (15:54 +0200)
committerRobert Varga <nite@hq.sk>
Fri, 28 Apr 2023 14:53:10 +0000 (14:53 +0000)
Do not use xmlunit-legacy.

Change-Id: I793171927656a2c7b4eb536c33ec358cfeba20dd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
protocol/netconf-util/pom.xml
protocol/netconf-util/src/test/java/org/opendaylight/netconf/util/NetconfUtilTest.java
protocol/netconf-util/src/test/resources/sessions.xml [deleted file]

index 8fd220244a3f58352981c1ac96d736c9032b9c38..5de1d3c42006e93f1f757a5b3067ea52a46533a8 100644 (file)
       <artifactId>rfc6022</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.xmlunit</groupId>
+      <artifactId>xmlunit-core</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.xmlunit</groupId>
       <artifactId>xmlunit-legacy</artifactId>
-      <scope>test</scope>
     </dependency>
   </dependencies>
 
index b4c35eefd87275dbf389da20af3f8a25596bc1be..862482032bac17deb2ed1dde08bd78804121aa56 100644 (file)
@@ -7,13 +7,10 @@
  */
 package org.opendaylight.netconf.util;
 
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
 
 import java.util.List;
 import javax.xml.transform.dom.DOMResult;
-import org.custommonkey.xmlunit.Diff;
-import org.custommonkey.xmlunit.XMLUnit;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.opendaylight.mdsal.binding.runtime.spi.BindingRuntimeHelpers;
 import org.opendaylight.netconf.api.xml.XmlUtil;
@@ -27,14 +24,11 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
-import org.w3c.dom.Document;
+import org.xmlunit.builder.DiffBuilder;
+import org.xmlunit.diff.DefaultNodeMatcher;
+import org.xmlunit.diff.ElementSelectors;
 
 public class NetconfUtilTest {
-    @BeforeClass
-    public static void classSetUp() {
-        XMLUnit.setIgnoreWhitespace(true);
-    }
-
     @Test
     public void testWriteNormalizedNode() throws Exception {
         final var context = BindingRuntimeHelpers.createEffectiveModel(List.of($YangModuleInfoImpl.getInstance()));
@@ -50,9 +44,21 @@ public class NetconfUtilTest {
                     .build())
                 .build())
             .build(), result, context, Absolute.of(NetconfState.QNAME));
-        final var actual = (Document) result.getNode();
-        final var expected = XmlUtil.readXmlToDocument(getClass().getResourceAsStream("/sessions.xml"));
-        final Diff diff = XMLUnit.compareXML(expected, actual);
-        assertTrue(diff.toString(), diff.similar());
+
+        final var diff = DiffBuilder.compare(result.getNode())
+            .withTest("""
+                <sessions xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">
+                    <session>
+                        <session-id>1</session-id>
+                        <username>admin</username>
+                    </session>
+                </sessions>
+                """)
+            .withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndText))
+            .ignoreWhitespace()
+            .checkForSimilar()
+            .build();
+
+        assertFalse(diff.toString(), diff.hasDifferences());
     }
 }
diff --git a/protocol/netconf-util/src/test/resources/sessions.xml b/protocol/netconf-util/src/test/resources/sessions.xml
deleted file mode 100644 (file)
index 398b537..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<!--
-  ~ Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
-  ~
-  ~ This program and the accompanying materials are made available under the
-  ~ terms of the Eclipse Public License v1.0 which accompanies this distribution,
-  ~ and is available at http://www.eclipse.org/legal/epl-v10.html
-  -->
-
-<sessions xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">
-    <session>
-        <session-id>1</session-id>
-        <username>admin</username>
-    </session>
-</sessions>
\ No newline at end of file