X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-netconf-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fconnect%2Fnetconf%2FNetconfToNotificationTest.java;h=96c478f0977c2c963ef14c497bd3e64f9c9a0102;hb=e433e0aa67cc6d144cd3d8d6117de864eb7ebf97;hp=5d19188b12733a2127add593233477cd1ce4cd6a;hpb=54acc3c8f479b547877a5057cea143546e905470;p=controller.git diff --git a/opendaylight/md-sal/sal-netconf-connector/src/test/java/org/opendaylight/controller/sal/connect/netconf/NetconfToNotificationTest.java b/opendaylight/md-sal/sal-netconf-connector/src/test/java/org/opendaylight/controller/sal/connect/netconf/NetconfToNotificationTest.java index 5d19188b12..96c478f097 100644 --- a/opendaylight/md-sal/sal-netconf-connector/src/test/java/org/opendaylight/controller/sal/connect/netconf/NetconfToNotificationTest.java +++ b/opendaylight/md-sal/sal-netconf-connector/src/test/java/org/opendaylight/controller/sal/connect/netconf/NetconfToNotificationTest.java @@ -3,17 +3,23 @@ package org.opendaylight.controller.sal.connect.netconf; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; + +import com.google.common.collect.Iterables; import java.io.InputStream; +import java.text.SimpleDateFormat; import java.util.Collections; import java.util.List; import java.util.Set; import javax.xml.parsers.DocumentBuilderFactory; import org.junit.Before; import org.junit.Test; +import org.opendaylight.controller.md.sal.dom.api.DOMEvent; +import org.opendaylight.controller.md.sal.dom.api.DOMNotification; import org.opendaylight.controller.netconf.api.NetconfMessage; +import org.opendaylight.controller.netconf.notifications.NetconfNotification; import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.opendaylight.controller.sal.connect.netconf.schema.mapping.NetconfMessageTransformer; -import org.opendaylight.yangtools.yang.data.api.CompositeNode; +import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.parser.api.YangContextParser; @@ -32,15 +38,9 @@ public class NetconfToNotificationTest { @SuppressWarnings("deprecation") @Before public void setup() throws Exception { - final List modelsToParse = Collections.singletonList(getClass().getResourceAsStream("/schemas/user-notification.yang")); - final YangContextParser parser = new YangParserImpl(); - final Set modules = parser.parseYangModelsFromStreams(modelsToParse); - assertTrue(!modules.isEmpty()); - final SchemaContext schemaContext = parser.resolveSchemaContext(modules); - assertNotNull(schemaContext); + final SchemaContext schemaContext = getNotificationSchemaContext(getClass()); - messageTransformer = new NetconfMessageTransformer(); - messageTransformer.onGlobalContextUpdated(schemaContext); + messageTransformer = new NetconfMessageTransformer(schemaContext, true); final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); @@ -52,12 +52,24 @@ public class NetconfToNotificationTest { userNotification = new NetconfMessage(doc); } + static SchemaContext getNotificationSchemaContext(Class loadClass) { + final List modelsToParse = Collections.singletonList(loadClass.getResourceAsStream("/schemas/user-notification.yang")); + final YangContextParser parser = new YangParserImpl(); + final Set modules = parser.parseYangModelsFromStreams(modelsToParse); + assertTrue(!modules.isEmpty()); + final SchemaContext schemaContext = parser.resolveSchemaContext(modules); + assertNotNull(schemaContext); + return schemaContext; + } + @Test public void test() throws Exception { - final CompositeNode root = messageTransformer.toNotification(userNotification); - + final DOMNotification domNotification = messageTransformer.toNotification(userNotification); + final ContainerNode root = domNotification.getBody(); assertNotNull(root); - assertEquals(6, root.size()); - assertEquals("user-visited-page", root.getKey().getLocalName()); + assertEquals(6, Iterables.size(root.getValue())); + assertEquals("user-visited-page", root.getNodeType().getLocalName()); + assertEquals(new SimpleDateFormat(NetconfNotification.RFC3339_DATE_FORMAT_BLUEPRINT).parse("2007-07-08T00:01:00Z"), + ((DOMEvent) domNotification).getEventTime()); } }