Disconnect NetconfDeviceCapabilities and NetconfSessionPreferences
[netconf.git] / netconf / sal-netconf-connector / src / test / java / org / opendaylight / netconf / sal / connect / netconf / listener / NetconfSessionPreferencesTest.java
index 50055813fee8570c18689827fc28ef16c0df3115..135edf324b6ee9424dc476050037299c8abf75d2 100644 (file)
@@ -13,39 +13,32 @@ import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import com.google.common.collect.Lists;
 import java.util.List;
 import org.junit.Test;
 import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil;
-import org.opendaylight.yangtools.yang.common.QName;
 
 public class NetconfSessionPreferencesTest {
-
     @Test
-    public void testMerge() throws Exception {
-        final List<String> caps1 = Lists.newArrayList(
-                "namespace:1?module=module1&revision=2012-12-12",
-                "namespace:2?module=module2&amp;revision=2012-12-12",
-                "urn:ietf:params:xml:ns:yang:"
-                        + "ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04",
-                "urn:ietf:params:netconf:base:1.0",
-                "urn:ietf:params:netconf:capability:rollback-on-error:1.0"
-        );
-        final NetconfSessionPreferences sessionCaps1 = NetconfSessionPreferences.fromStrings(caps1);
+    public void testMerge() {
+        final var sessionCaps1 = NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:1?module=module1&revision=2012-12-12",
+            "namespace:2?module=module2&amp;revision=2012-12-12",
+            "urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring"
+                + "&amp;revision=2010-10-04",
+            "urn:ietf:params:netconf:base:1.0",
+            "urn:ietf:params:netconf:capability:rollback-on-error:1.0"));
         assertCaps(sessionCaps1, 2, 3);
 
-        final List<String> caps2 = Lists.newArrayList(
-                "namespace:3?module=module3&revision=2012-12-12",
-                "namespace:4?module=module4&revision=2012-12-12",
-                "randomNonModuleCap"
-        );
-        final NetconfSessionPreferences sessionCaps2 = NetconfSessionPreferences.fromStrings(caps2);
+        final var sessionCaps2 = NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:3?module=module3&revision=2012-12-12",
+            "namespace:4?module=module4&revision=2012-12-12",
+            "randomNonModuleCap"));
         assertCaps(sessionCaps2, 1, 2);
 
-        final NetconfSessionPreferences merged = sessionCaps1.addModuleCaps(sessionCaps2);
+        final var merged = sessionCaps1.addModuleCaps(sessionCaps2);
         assertCaps(merged, 2, 2 + 1 /*Preserved monitoring*/ + 2 /*already present*/);
-        for (final QName qualifiedName : sessionCaps2.getModuleBasedCaps()) {
-            assertThat(merged.getModuleBasedCaps(), hasItem(qualifiedName));
+        for (var qname : sessionCaps2.getModuleBasedCaps()) {
+            assertThat(merged.getModuleBasedCaps(), hasItem(qname));
         }
         assertThat(merged.getModuleBasedCaps(), hasItem(NetconfMessageTransformUtil.IETF_NETCONF_MONITORING));
 
@@ -55,60 +48,49 @@ public class NetconfSessionPreferencesTest {
 
     @Test
     public void testReplace() throws Exception {
-        final List<String> caps1 = Lists.newArrayList(
-                "namespace:1?module=module1&revision=2012-12-12",
-                "namespace:2?module=module2&amp;revision=2012-12-12",
-                "urn:ietf:params:xml:ns:yang:"
-                        + "ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04",
-                "urn:ietf:params:netconf:base:1.0",
-                "urn:ietf:params:netconf:capability:rollback-on-error:1.0"
-        );
-        final NetconfSessionPreferences sessionCaps1 = NetconfSessionPreferences.fromStrings(caps1);
+        final var sessionCaps1 = NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:1?module=module1&revision=2012-12-12",
+            "namespace:2?module=module2&amp;revision=2012-12-12",
+            "urn:ietf:params:xml:ns:yang:"
+                    + "ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04",
+            "urn:ietf:params:netconf:base:1.0",
+            "urn:ietf:params:netconf:capability:rollback-on-error:1.0"));
         assertCaps(sessionCaps1, 2, 3);
 
-        final List<String> caps2 = Lists.newArrayList(
-                "namespace:3?module=module3&revision=2012-12-12",
-                "namespace:4?module=module4&revision=2012-12-12",
-                "randomNonModuleCap"
-        );
-        final NetconfSessionPreferences sessionCaps2 = NetconfSessionPreferences.fromStrings(caps2);
+        final var sessionCaps2 = NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:3?module=module3&revision=2012-12-12",
+            "namespace:4?module=module4&revision=2012-12-12",
+            "randomNonModuleCap"));
         assertCaps(sessionCaps2, 1, 2);
-
-        final NetconfSessionPreferences replaced = sessionCaps1.replaceModuleCaps(sessionCaps2);
-        assertCaps(replaced, 2, 2);
+        assertCaps(sessionCaps1.replaceModuleCaps(sessionCaps2), 2, 2);
     }
 
     @Test
     public void testNonModuleMerge() throws Exception {
-        final List<String> caps1 = Lists.newArrayList(
-                "namespace:1?module=module1&revision=2012-12-12",
-                "namespace:2?module=module2&amp;revision=2012-12-12",
-                "urn:ietf:params:xml:ns:yang:"
-                        + "ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04",
-                "urn:ietf:params:netconf:base:1.0",
-                "urn:ietf:params:netconf:capability:rollback-on-error:1.0",
-                "urn:ietf:params:netconf:capability:candidate:1.0"
-        );
-        final NetconfSessionPreferences sessionCaps1 = NetconfSessionPreferences.fromStrings(caps1);
+        final var sessionCaps1 = NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:1?module=module1&revision=2012-12-12",
+            "namespace:2?module=module2&amp;revision=2012-12-12",
+            "urn:ietf:params:xml:ns:yang:"
+                    + "ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04",
+            "urn:ietf:params:netconf:base:1.0",
+            "urn:ietf:params:netconf:capability:rollback-on-error:1.0",
+            "urn:ietf:params:netconf:capability:candidate:1.0"));
         assertCaps(sessionCaps1, 3, 3);
         assertTrue(sessionCaps1.isCandidateSupported());
 
-        final List<String> caps2 = Lists.newArrayList(
-                "namespace:3?module=module3&revision=2012-12-12",
-                "namespace:4?module=module4&revision=2012-12-12",
-                "urn:ietf:params:netconf:capability:writable-running:1.0",
-                "urn:ietf:params:netconf:capability:notification:1.0"
-        );
-        final NetconfSessionPreferences sessionCaps2 = NetconfSessionPreferences.fromStrings(caps2);
+        final var sessionCaps2 = NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:3?module=module3&revision=2012-12-12",
+            "namespace:4?module=module4&revision=2012-12-12",
+            "urn:ietf:params:netconf:capability:writable-running:1.0",
+            "urn:ietf:params:netconf:capability:notification:1.0"));
         assertCaps(sessionCaps2, 2, 2);
         assertTrue(sessionCaps2.isRunningWritable());
 
-        final NetconfSessionPreferences merged = sessionCaps1.addNonModuleCaps(sessionCaps2);
+        final var merged = sessionCaps1.addNonModuleCaps(sessionCaps2);
 
         assertCaps(merged, 3 + 2, 3);
-        for (final String capability : sessionCaps2.getNonModuleCaps()) {
-            assertThat(merged.getNonModuleCaps(), hasItem(capability));
-        }
+        sessionCaps2.getNonModuleCaps().forEach(
+            capability -> assertThat(merged.getNonModuleCaps(), hasItem(capability)));
 
         assertThat(merged.getNonModuleCaps(), hasItem("urn:ietf:params:netconf:base:1.0"));
         assertThat(merged.getNonModuleCaps(), hasItem("urn:ietf:params:netconf:capability:rollback-on-error:1.0"));
@@ -121,30 +103,26 @@ public class NetconfSessionPreferencesTest {
 
     @Test
     public void testNonmoduleReplace() throws Exception {
-        final List<String> caps1 = Lists.newArrayList(
-                "namespace:1?module=module1&revision=2012-12-12",
-                "namespace:2?module=module2&amp;revision=2012-12-12",
-                "urn:ietf:params:xml:ns:yang:"
-                        + "ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04",
-                "urn:ietf:params:netconf:base:1.0",
-                "urn:ietf:params:netconf:capability:rollback-on-error:1.0",
-                "urn:ietf:params:netconf:capability:candidate:1.0"
-        );
-        final NetconfSessionPreferences sessionCaps1 = NetconfSessionPreferences.fromStrings(caps1);
+        final var sessionCaps1 = NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:1?module=module1&revision=2012-12-12",
+            "namespace:2?module=module2&amp;revision=2012-12-12",
+            "urn:ietf:params:xml:ns:yang:"
+                    + "ietf-netconf-monitoring?module=ietf-netconf-monitoring&amp;revision=2010-10-04",
+            "urn:ietf:params:netconf:base:1.0",
+            "urn:ietf:params:netconf:capability:rollback-on-error:1.0",
+            "urn:ietf:params:netconf:capability:candidate:1.0"));
         assertCaps(sessionCaps1, 3, 3);
         assertTrue(sessionCaps1.isCandidateSupported());
 
-        final List<String> caps2 = Lists.newArrayList(
-                "namespace:3?module=module3&revision=2012-12-12",
-                "namespace:4?module=module4&revision=2012-12-12",
-                "randomNonModuleCap",
-                "urn:ietf:params:netconf:capability:writable-running:1.0"
-        );
-        final NetconfSessionPreferences sessionCaps2 = NetconfSessionPreferences.fromStrings(caps2);
+        final var sessionCaps2 = NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:3?module=module3&revision=2012-12-12",
+            "namespace:4?module=module4&revision=2012-12-12",
+            "randomNonModuleCap",
+            "urn:ietf:params:netconf:capability:writable-running:1.0"));
         assertCaps(sessionCaps2, 2, 2);
         assertTrue(sessionCaps2.isRunningWritable());
 
-        final NetconfSessionPreferences replaced = sessionCaps1.replaceNonModuleCaps(sessionCaps2);
+        final var replaced = sessionCaps1.replaceNonModuleCaps(sessionCaps2);
         assertCaps(replaced, 2, 3);
         assertFalse(replaced.isCandidateSupported());
         assertTrue(replaced.isRunningWritable());
@@ -152,18 +130,15 @@ public class NetconfSessionPreferencesTest {
 
     @Test
     public void testCapabilityNoRevision() throws Exception {
-        final List<String> caps1 = Lists.newArrayList(
-                "namespace:2?module=module2",
-                "namespace:2?module=module2&amp;revision=2012-12-12",
-                "namespace:2?module=module1&amp;RANDOMSTRING;revision=2013-12-12",
-                // Revision parameter present, but no revision defined
-                "namespace:2?module=module4&amp;RANDOMSTRING;revision=",
-                // This one should be ignored(same as first), since revision is in wrong format
-                "namespace:2?module=module2&amp;RANDOMSTRING;revision=2013-12-12"
-        );
-
-        final NetconfSessionPreferences sessionCaps1 = NetconfSessionPreferences.fromStrings(caps1);
-        assertCaps(sessionCaps1, 0, 4);
+        assertCaps(NetconfSessionPreferences.fromStrings(List.of(
+            "namespace:2?module=module2",
+            "namespace:2?module=module2&amp;revision=2012-12-12",
+            "namespace:2?module=module1&amp;RANDOMSTRING;revision=2013-12-12",
+            // Revision parameter present, but no revision defined
+            "namespace:2?module=module4&amp;RANDOMSTRING;revision=",
+            // This one should be ignored(same as first), since revision is in wrong format
+            "namespace:2?module=module2&amp;RANDOMSTRING;revision=2013-12-12")),
+            0, 4);
     }
 
     private static void assertCaps(final NetconfSessionPreferences sessionCaps1, final int nonModuleCaps,