X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fnetconf-monitoring%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fmonitoring%2Fxml%2FJaxBSerializerTest.java;h=d0d587fb84263c02ef99cb0727de1d4c81b28223;hp=02129574da40ec274a22b077614c38653a14770d;hb=42fba0edd6478327be64b03747e0d839d11b3363;hpb=2e7347fdc0eb7734ff59a4f902227a93ab6afece diff --git a/opendaylight/netconf/netconf-monitoring/src/test/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializerTest.java b/opendaylight/netconf/netconf-monitoring/src/test/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializerTest.java index 02129574da..d0d587fb84 100644 --- a/opendaylight/netconf/netconf-monitoring/src/test/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializerTest.java +++ b/opendaylight/netconf/netconf-monitoring/src/test/java/org/opendaylight/controller/netconf/monitoring/xml/JaxBSerializerTest.java @@ -7,37 +7,40 @@ */ package org.opendaylight.controller.netconf.monitoring.xml; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.mock; + import com.google.common.collect.Lists; +import org.hamcrest.CoreMatchers; import org.junit.Test; import org.opendaylight.controller.netconf.api.monitoring.NetconfMonitoringService; import org.opendaylight.controller.netconf.monitoring.xml.model.NetconfState; +import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.DomainName; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Host; +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.monitoring.extension.rev131210.NetconfTcp; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.extension.rev131210.Session1; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.NetconfSsh; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.Transport; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.Yang; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Schemas; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.SchemasBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Sessions; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.SessionsBuilder; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.schemas.Schema; +import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.schemas.SchemaKey; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.sessions.Session; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.DateAndTime; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev100924.ZeroBasedCounter32; -import org.w3c.dom.Element; - -import java.util.Date; - -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.mock; public class JaxBSerializerTest { @Test public void testName() throws Exception { - NetconfMonitoringService service = new NetconfMonitoringService() { + final NetconfMonitoringService service = new NetconfMonitoringService() { @Override public Sessions getSessions() { @@ -46,19 +49,54 @@ public class JaxBSerializerTest { @Override public Schemas getSchemas() { - return new SchemasBuilder().setSchema(Lists.newArrayList()).build(); + return new SchemasBuilder().setSchema(Lists.newArrayList(getMockSchema("id", "v1", Yang.class), getMockSchema("id2", "", Yang.class))).build(); } }; - NetconfState model = new NetconfState(service); - Element xml = new JaxBSerializer().toXml(model); + final NetconfState model = new NetconfState(service); + final String xml = XmlUtil.toString(new JaxBSerializer().toXml(model)); + + assertThat(xml, CoreMatchers.containsString( + "\n" + + "yang\n" + + "id\n" + + "NETCONF\n" + + "localhost\n" + + "v1\n" + + "\n")); + + assertThat(xml, CoreMatchers.containsString( + "\n" + + "1\n" + + "0\n" + + "0\n" + + "loginTime\n" + + "0\n" + + "0\n" + + "client\n" + + "address/port\n" + + "ncme:netconf-tcp\n" + + "username\n" + + "")); + } + + private Schema getMockSchema(final String id, final String version, final Class format) { + final Schema mock = mock(Schema.class); + + doReturn(format).when(mock).getFormat(); + doReturn(id).when(mock).getIdentifier(); + doReturn(new Uri("localhost")).when(mock).getNamespace(); + doReturn(version).when(mock).getVersion(); + doReturn(Lists.newArrayList(new Schema.Location(Schema.Location.Enumeration.NETCONF))).when(mock).getLocation(); + doReturn(new SchemaKey(format, id, version)).when(mock).getKey(); + return mock; } - private Session getMockSession(Class transportType) { - Session mocked = mock(Session.class); - Session1 mockedSession1 = mock(Session1.class); + private Session getMockSession(final Class transportType) { + final Session mocked = mock(Session.class); + final Session1 mockedSession1 = mock(Session1.class); doReturn("client").when(mockedSession1).getSessionIdentifier(); doReturn(1L).when(mocked).getSessionId(); - doReturn(new DateAndTime(new Date().toString())).when(mocked).getLoginTime(); + doReturn(new DateAndTime("loginTime")).when(mocked).getLoginTime(); doReturn(new Host(new DomainName("address/port"))).when(mocked).getSourceHost(); doReturn(new ZeroBasedCounter32(0L)).when(mocked).getInBadRpcs(); doReturn(new ZeroBasedCounter32(0L)).when(mocked).getInRpcs();