X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-notifications-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fnotifications%2Fimpl%2Fops%2FNotificationsTransformUtilTest.java;h=7bb213ab46942578e4fdce191a5c7a3eb0436d79;hp=b63e0877b207ab66d55e5cbd92727f08ac73c762;hb=1e884647502a8d91f8a57bde8193c60b9bbcce0d;hpb=7eb859249f51ca7be4fc3e110349e6407a1770fe diff --git a/opendaylight/netconf/netconf-notifications-impl/src/test/java/org/opendaylight/controller/netconf/notifications/impl/ops/NotificationsTransformUtilTest.java b/opendaylight/netconf/netconf-notifications-impl/src/test/java/org/opendaylight/controller/netconf/notifications/impl/ops/NotificationsTransformUtilTest.java index b63e0877b2..7bb213ab46 100644 --- a/opendaylight/netconf/netconf-notifications-impl/src/test/java/org/opendaylight/controller/netconf/notifications/impl/ops/NotificationsTransformUtilTest.java +++ b/opendaylight/netconf/netconf-notifications-impl/src/test/java/org/opendaylight/controller/netconf/notifications/impl/ops/NotificationsTransformUtilTest.java @@ -8,24 +8,30 @@ package org.opendaylight.controller.netconf.notifications.impl.ops; +import static org.junit.Assert.assertTrue; + import com.google.common.collect.Lists; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; +import org.custommonkey.xmlunit.DetailedDiff; import org.custommonkey.xmlunit.Diff; import org.custommonkey.xmlunit.XMLUnit; +import org.custommonkey.xmlunit.examples.RecursiveElementNameAndTextQualifier; import org.junit.Test; import org.opendaylight.controller.netconf.notifications.NetconfNotification; import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Uri; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChange; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChangeBuilder; +import org.xml.sax.SAXException; public class NotificationsTransformUtilTest { private static final Date DATE = new Date(); private static final String innerNotification = "" + - "uri3" + "uri4" + + "uri3" + "uri1" + ""; @@ -39,17 +45,22 @@ public class NotificationsTransformUtilTest { final NetconfCapabilityChangeBuilder netconfCapabilityChangeBuilder = new NetconfCapabilityChangeBuilder(); netconfCapabilityChangeBuilder.setAddedCapability(Lists.newArrayList(new Uri("uri1"), new Uri("uri1"))); - netconfCapabilityChangeBuilder.setDeletedCapability(Lists.newArrayList(new Uri("uri3"), new Uri("uri4"))); + netconfCapabilityChangeBuilder.setDeletedCapability(Lists.newArrayList(new Uri("uri4"), new Uri("uri3"))); final NetconfCapabilityChange capabilityChange = netconfCapabilityChangeBuilder.build(); final NetconfNotification transform = NotificationsTransformUtil.transform(capabilityChange, DATE); final String serialized = XmlUtil.toString(transform.getDocument()); + compareXml(expectedNotification, serialized); + } + + static void compareXml(final String expected, final String actual) throws SAXException, IOException { XMLUnit.setIgnoreWhitespace(true); - final Diff diff = XMLUnit.compareXML(expectedNotification, serialized); - // FIXME the diff is unreliable, provide a proper comparison of XML -// assertTrue(diff.toString(), diff.similar()); + final Diff diff = new Diff(expected, actual); + final DetailedDiff detailedDiff = new DetailedDiff(diff); + detailedDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier()); + assertTrue(detailedDiff.toString(), detailedDiff.similar()); } @Test @@ -57,9 +68,7 @@ public class NotificationsTransformUtilTest { final NetconfNotification netconfNotification = new NetconfNotification(XmlUtil.readXmlToDocument(innerNotification), DATE); XMLUnit.setIgnoreWhitespace(true); - final Diff diff = XMLUnit.compareXML(expectedNotification, netconfNotification.toString()); - // FIXME the diff is unreliable, provide a proper comparison of XML -// assertTrue(diff.toString(), diff.similar()); + compareXml(expectedNotification, netconfNotification.toString()); } } \ No newline at end of file