Update MRI projects for Aluminium
[netconf.git] / netconf / netconf-impl / src / test / java / org / opendaylight / netconf / impl / osgi / NetconfCapabilityMonitoringServiceTest.java
index 7acef9165feb986171294676aadf05884490f1da..2d3161b72a8e283c0b1f739cdd90ae1614f6403f 100644 (file)
@@ -7,35 +7,37 @@
  */
 package org.opendaylight.netconf.impl.osgi;
 
-import static org.mockito.Matchers.any;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.opendaylight.netconf.api.xml.XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_CAPABILITY_CANDIDATE_1_0;
+import static org.opendaylight.netconf.api.xml.XmlNetconfConstants.URN_IETF_PARAMS_NETCONF_CAPABILITY_URL_1_0;
 
-import com.google.common.base.Optional;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Date;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Optional;
 import java.util.Set;
-import org.junit.Assert;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.opendaylight.controller.config.util.capability.BasicCapability;
-import org.opendaylight.controller.config.util.capability.Capability;
-import org.opendaylight.controller.config.util.capability.YangModuleCapability;
+import org.opendaylight.netconf.api.capability.BasicCapability;
+import org.opendaylight.netconf.api.capability.Capability;
+import org.opendaylight.netconf.api.capability.YangModuleCapability;
 import org.opendaylight.netconf.api.monitoring.NetconfManagementSession;
 import org.opendaylight.netconf.api.monitoring.NetconfMonitoringService;
 import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
 import org.opendaylight.netconf.notifications.BaseNotificationPublisherRegistration;
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.HostBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.Capabilities;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.CapabilitiesBuilder;
@@ -44,7 +46,8 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.mon
 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.netconf.monitoring.rev101004.netconf.state.sessions.SessionBuilder;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.notifications.rev120206.NetconfCapabilityChange;
-import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil;
+import org.opendaylight.yangtools.yang.common.Revision;
+import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.model.api.Module;
 
 public class NetconfCapabilityMonitoringServiceTest {
@@ -55,14 +58,14 @@ public class NetconfCapabilityMonitoringServiceTest {
     private static final String TEST_MODULE_REV2 = "1970-01-02";
     private static final Uri TEST_MODULE_NAMESPACE = new Uri("testModuleNamespace");
     private static final String TEST_MODULE_NAME = "testModule";
-    private static Date TEST_MODULE_DATE;
-    private static Date TEST_MODULE_DATE2;
+    private static final Revision  TEST_MODULE_DATE = Revision.of(TEST_MODULE_REV);
+    private static final Revision TEST_MODULE_DATE2 = Revision.of(TEST_MODULE_REV2);
 
     private YangModuleCapability moduleCapability1;
     private YangModuleCapability moduleCapability2;
     private static final Session SESSION = new SessionBuilder()
-            .setSessionId(1L)
-            .setSourceHost(new Host("0.0.0.0".toCharArray()))
+            .setSessionId(Uint32.valueOf(1))
+            .setSourceHost(HostBuilder.getDefaultInstance("0.0.0.0"))
             .setUsername("admin")
             .build();
     private int capabilitiesSize;
@@ -84,26 +87,20 @@ public class NetconfCapabilityMonitoringServiceTest {
 
     private NetconfCapabilityMonitoringService monitoringService;
 
-    @BeforeClass
-    public static void suiteSetUp() throws Exception {
-        TEST_MODULE_DATE = SimpleDateFormatUtil.getRevisionFormat().parse(TEST_MODULE_REV);
-        TEST_MODULE_DATE2 = SimpleDateFormatUtil.getRevisionFormat().parse(TEST_MODULE_REV2);
-    }
-
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
 
         doReturn(new URI(TEST_MODULE_NAMESPACE.getValue())).when(moduleMock).getNamespace();
         doReturn(TEST_MODULE_NAME).when(moduleMock).getName();
-        doReturn(TEST_MODULE_DATE).when(moduleMock).getRevision();
+        doReturn(Optional.of(TEST_MODULE_DATE)).when(moduleMock).getRevision();
         moduleCapability1 = new YangModuleCapability(moduleMock, TEST_MODULE_CONTENT);
 
         capabilities.add(moduleCapability1);
 
         doReturn(new URI(TEST_MODULE_NAMESPACE.getValue())).when(moduleMock2).getNamespace();
         doReturn(TEST_MODULE_NAME).when(moduleMock2).getName();
-        doReturn(TEST_MODULE_DATE2).when(moduleMock2).getRevision();
+        doReturn(Optional.of(TEST_MODULE_DATE2)).when(moduleMock2).getRevision();
         moduleCapability2 = new YangModuleCapability(moduleMock2, TEST_MODULE_CONTENT2);
 
         capabilities.add(new BasicCapability("urn:ietf:params:netconf:base:1.0"));
@@ -143,10 +140,10 @@ public class NetconfCapabilityMonitoringServiceTest {
     @Test
     public void testGetSchemas() throws Exception {
         Schemas schemas = monitoringService.getSchemas();
-        Schema schema = schemas.getSchema().get(0);
-        Assert.assertEquals(TEST_MODULE_NAMESPACE, schema.getNamespace());
-        Assert.assertEquals(TEST_MODULE_NAME, schema.getIdentifier());
-        Assert.assertEquals(TEST_MODULE_REV, schema.getVersion());
+        Schema schema = schemas.getSchema().values().iterator().next();
+        assertEquals(TEST_MODULE_NAMESPACE, schema.getNamespace());
+        assertEquals(TEST_MODULE_NAME, schema.getIdentifier());
+        assertEquals(TEST_MODULE_REV, schema.getVersion());
     }
 
     @Test
@@ -155,35 +152,36 @@ public class NetconfCapabilityMonitoringServiceTest {
         monitoringService.onCapabilitiesChanged(Collections.singleton(moduleCapability2), Collections.emptySet());
         final String schema =
                 monitoringService.getSchemaForModuleRevision(TEST_MODULE_NAME, Optional.of(TEST_MODULE_REV));
-        Assert.assertEquals(TEST_MODULE_CONTENT, schema);
+        assertEquals(TEST_MODULE_CONTENT, schema);
         final String schema2 =
                 monitoringService.getSchemaForModuleRevision(TEST_MODULE_NAME, Optional.of(TEST_MODULE_REV2));
-        Assert.assertEquals(TEST_MODULE_CONTENT2, schema2);
+        assertEquals(TEST_MODULE_CONTENT2, schema2);
         //remove one revision
         monitoringService.onCapabilitiesChanged(Collections.emptySet(), Collections.singleton(moduleCapability1));
         //only one revision present
-        final String schema3 = monitoringService.getSchemaForModuleRevision(TEST_MODULE_NAME, Optional.absent());
-        Assert.assertEquals(TEST_MODULE_CONTENT2, schema3);
+        final String schema3 = monitoringService.getSchemaForModuleRevision(TEST_MODULE_NAME, Optional.empty());
+        assertEquals(TEST_MODULE_CONTENT2, schema3);
     }
 
     @Test
     public void testGetCapabilities() throws Exception {
-        Capabilities actual = monitoringService.getCapabilities();
         List<Uri> exp = new ArrayList<>();
         for (Capability capability : capabilities) {
             exp.add(new Uri(capability.getCapabilityUri()));
         }
-        //candidate is added by monitoring service automatically
-        exp.add(0, new Uri("urn:ietf:params:netconf:capability:candidate:1.0"));
+        //candidate and url capabilities are added by monitoring service automatically
+        exp.add(new Uri(URN_IETF_PARAMS_NETCONF_CAPABILITY_CANDIDATE_1_0));
+        exp.add(new Uri(URN_IETF_PARAMS_NETCONF_CAPABILITY_URL_1_0));
         Capabilities expected = new CapabilitiesBuilder().setCapability(exp).build();
-        Assert.assertEquals(new HashSet<>(expected.getCapability()), new HashSet<>(actual.getCapability()));
+        Capabilities actual = monitoringService.getCapabilities();
+        assertEquals(new HashSet<>(expected.getCapability()), new HashSet<>(actual.getCapability()));
     }
 
     @Test
     public void testClose() throws Exception {
-        Assert.assertFalse(monitoringService.getCapabilities().getCapability().isEmpty());
+        assertFalse(monitoringService.getCapabilities().getCapability().isEmpty());
         monitoringService.close();
-        Assert.assertTrue(monitoringService.getCapabilities().getCapability().isEmpty());
+        assertTrue(monitoringService.getCapabilities().getCapability().isEmpty());
     }
 
     @Test
@@ -200,7 +198,7 @@ public class NetconfCapabilityMonitoringServiceTest {
         //remove capability
         monitoringService.onCapabilitiesChanged(Collections.emptySet(), testCaps);
 
-        verify(listener, times(3)).onCapabilitiesChanged((monitoringListenerCaptor.capture()));
+        verify(listener, times(3)).onCapabilitiesChanged(monitoringListenerCaptor.capture());
         verify(notificationPublisher, times(2)).onCapabilityChanged(capabilityChangeCaptor.capture());
 
         //verify listener calls
@@ -209,22 +207,21 @@ public class NetconfCapabilityMonitoringServiceTest {
         final List<Uri> afterAddState = listenerValues.get(1).getCapability();
         final List<Uri> afterRemoveState = listenerValues.get(2).getCapability();
 
-        Assert.assertEquals(capabilitiesSize, afterRegisterState.size());
-        Assert.assertEquals(capabilitiesSize + 1, afterAddState.size());
-        Assert.assertEquals(capabilitiesSize, afterRemoveState.size());
-        Assert.assertFalse(afterRegisterState.contains(uri));
-        Assert.assertTrue(afterAddState.contains(uri));
-        Assert.assertFalse(afterRemoveState.contains(uri));
+        assertEquals(capabilitiesSize, afterRegisterState.size());
+        assertEquals(capabilitiesSize + 1, afterAddState.size());
+        assertEquals(capabilitiesSize, afterRemoveState.size());
+        assertFalse(afterRegisterState.contains(uri));
+        assertTrue(afterAddState.contains(uri));
+        assertFalse(afterRemoveState.contains(uri));
 
         //verify notification publication
         final List<NetconfCapabilityChange> publisherValues = capabilityChangeCaptor.getAllValues();
         final NetconfCapabilityChange afterAdd = publisherValues.get(0);
         final NetconfCapabilityChange afterRemove = publisherValues.get(1);
 
-        Assert.assertEquals(Collections.singleton(uri), new HashSet<>(afterAdd.getAddedCapability()));
-        Assert.assertEquals(Collections.emptySet(), new HashSet<>(afterAdd.getDeletedCapability()));
-        Assert.assertEquals(Collections.singleton(uri), new HashSet<>(afterRemove.getDeletedCapability()));
-        Assert.assertEquals(Collections.emptySet(), new HashSet<>(afterRemove.getAddedCapability()));
+        assertEquals(Collections.singleton(uri), new HashSet<>(afterAdd.getAddedCapability()));
+        assertEquals(Collections.emptySet(), new HashSet<>(afterAdd.getDeletedCapability()));
+        assertEquals(Collections.singleton(uri), new HashSet<>(afterRemove.getDeletedCapability()));
+        assertEquals(Collections.emptySet(), new HashSet<>(afterRemove.getAddedCapability()));
     }
-
 }