Merge "Update ONF tests"
authorTomas Slusny <tomas.slusny@pantheon.tech>
Mon, 21 Aug 2017 11:14:46 +0000 (11:14 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Mon, 21 Aug 2017 11:14:46 +0000 (11:14 +0000)
extension/openflowplugin-extension-api/src/main/java/org/opendaylight/openflowplugin/extension/api/OpenFlowPluginExtensionRegistratorProvider.java
extension/openflowplugin-extension-onf/src/main/java/org/opendaylight/openflowplugin/extension/onf/serializer/AbstractBundleMessageFactory.java
extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/OnfExtensionProviderTest.java [new file with mode: 0644]
extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/converter/BundleAddMessageConverterTest.java
extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/deserializer/BundleControlFactoryTest.java
extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/serializer/AbstractBundleMessageFactoryTest.java
extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/serializer/BundleAddMessageFactoryTest.java
extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/serializer/BundleControlFactoryTest.java

index 4470a3164f8c2518db49b0439b4d8f3ef79293b3..74d5c76380367d3ff536b634a9bc2a215811ec2e 100644 (file)
@@ -16,5 +16,5 @@ public interface OpenFlowPluginExtensionRegistratorProvider {
      * @return the extensionConverterRegistry - here extension converters can be registered in order to support
      * vendor messages
      */
-    public ExtensionConverterRegistrator getExtensionConverterRegistrator();
+    ExtensionConverterRegistrator getExtensionConverterRegistrator();
 }
index c4d487c8df58d82f3596b4bdc36041d2bf4abc9a..2845168acd9cc179a284e6485cb8af798fc98587 100644 (file)
@@ -38,12 +38,12 @@ public abstract class AbstractBundleMessageFactory<T extends DataContainer> impl
         this.serializerRegistry = serializerRegistry;
     }
 
-    protected static void writeBundleFlags(final BundleFlags bundleFlags, final ByteBuf outBuffer) {
+    static void writeBundleFlags(final BundleFlags bundleFlags, final ByteBuf outBuffer) {
         short flagsBitMap = fillBitMask(bundleFlags.isAtomic(), bundleFlags.isOrdered());
         outBuffer.writeShort(flagsBitMap);
     }
 
-    protected void writeBundleProperties(final List<BundleProperty> properties, final ByteBuf outBuffer) {
+    void writeBundleProperties(final List<BundleProperty> properties, final ByteBuf outBuffer) {
         for (BundleProperty property : properties) {
             BundlePropertyType type = property.getType();
             if (type != null && type.equals(BundlePropertyType.ONFETBPTEXPERIMENTER)) {
@@ -54,12 +54,13 @@ public abstract class AbstractBundleMessageFactory<T extends DataContainer> impl
                 writeBundleExperimenterProperty((BundlePropertyExperimenter)property.getBundlePropertyEntry(), outBuffer);
                 outBuffer.setShort(lengthIndex, outBuffer.writerIndex() - startIndex);
             } else {
-                LOG.warn("Trying to serialize unknown bundle property (type: {}), skipping", type.getIntValue());
+                LOG.warn("Trying to serialize unknown bundle property (type: {}), skipping",
+                        type != null ? type.getIntValue() : 0);
             }
         }
     }
 
-    protected void writeBundleExperimenterProperty(final BundlePropertyExperimenter property, final ByteBuf outBuffer) {
+    private void writeBundleExperimenterProperty(final BundlePropertyExperimenter property, final ByteBuf outBuffer) {
         int experimenterId = property.getExperimenter().getValue().intValue();
         int expType = property.getExpType().intValue();
         outBuffer.writeInt(experimenterId);
diff --git a/extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/OnfExtensionProviderTest.java b/extension/openflowplugin-extension-onf/src/test/java/org/opendaylight/openflowplugin/extension/onf/OnfExtensionProviderTest.java
new file mode 100644 (file)
index 0000000..4987a2c
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2017 Pantheon Technologies s.r.o. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.openflowplugin.extension.onf;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.runners.MockitoJUnitRunner;
+import org.opendaylight.openflowjava.protocol.spi.connection.SwitchConnectionProvider;
+import org.opendaylight.openflowplugin.extension.api.ExtensionConverterRegistrator;
+import org.opendaylight.openflowplugin.extension.api.OpenFlowPluginExtensionRegistratorProvider;
+import org.opendaylight.openflowplugin.extension.api.TypeVersionKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowplugin.experimenter.types.rev151020.experimenter.core.message.ExperimenterMessageOfChoice;
+
+@RunWith(MockitoJUnitRunner.class)
+public class OnfExtensionProviderTest {
+
+    @Mock
+    private SwitchConnectionProvider switchConnectionProvider;
+    @Mock
+    private OpenFlowPluginExtensionRegistratorProvider openFlowPluginExtensionRegistratorProvider;
+    @Mock
+    private ExtensionConverterRegistrator extensionConverterRegistrator;
+
+    private OnfExtensionProvider onfExtensionProvider;
+
+    @Before
+    public void setUp() throws Exception {
+        Mockito
+                .when(openFlowPluginExtensionRegistratorProvider.getExtensionConverterRegistrator())
+                .thenReturn(extensionConverterRegistrator);
+
+        onfExtensionProvider =
+                new OnfExtensionProvider(switchConnectionProvider, openFlowPluginExtensionRegistratorProvider);
+    }
+
+    @Test
+    public void init() throws Exception {
+        onfExtensionProvider.init();
+        Mockito.verify(switchConnectionProvider, Mockito.times(2))
+                .registerExperimenterMessageSerializer(Mockito.any(), Mockito.any());
+        Mockito.verify(switchConnectionProvider)
+                .registerExperimenterMessageDeserializer(Mockito.any(), Mockito.any());
+        Mockito.verify(switchConnectionProvider)
+                .registerErrorDeserializer(Mockito.any(), Mockito.any());
+        Mockito.verify(extensionConverterRegistrator, Mockito.times(2))
+                .registerMessageConvertor(Mockito.<TypeVersionKey<? extends ExperimenterMessageOfChoice>>any(),
+                        Mockito.any());
+    }
+
+}
\ No newline at end of file
index eb5f87de9a80ec97b2566664065911145a56c387..950dcfddcb5ac92fa8bf0aa5600ca8a90c3e9366 100644 (file)
@@ -12,6 +12,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.mockito.Mockito;
@@ -67,6 +68,11 @@ public class BundleAddMessageConverterTest {
             .child(Node.class, new NodeKey(new NodeId("openflow:1"))));
     private static final GroupId GROUP_ID = new GroupId(1L);
 
+    @Before
+    public void setUp() throws Exception {
+        converter.setNode(NODE_REF);
+    }
+
     @Test
     public void testGetExperimenterId() {
         Assert.assertEquals("Wrong ExperimenterId.", new ExperimenterId(0x4F4E4600L), converter.getExperimenterId());
@@ -78,55 +84,46 @@ public class BundleAddMessageConverterTest {
     }
 
     @Test
-    @Ignore
     public void testConvertWithoutProperty() throws Exception {
         testConvert(false);
     }
 
     @Test
-    @Ignore
     public void testConvertWithProperty() throws Exception {
         testConvert(true);
     }
 
     @Test
-    @Ignore
     public void testConvertAddFlowCase() throws Exception {
         testConvert(new BundleAddFlowCaseBuilder().setAddFlowCaseData(new AddFlowCaseDataBuilder().build()).build(), BundleFlowModCase.class);
     }
 
     @Test
-    @Ignore
     public void testConvertUpdateFlowCase() throws Exception {
         testConvert(new BundleUpdateFlowCaseBuilder().setUpdateFlowCaseData(new UpdateFlowCaseDataBuilder().build()).build(), BundleFlowModCase.class);
     }
 
     @Test
-    @Ignore
     public void testConvertRemoveFlowCase() throws Exception {
         testConvert(new BundleRemoveFlowCaseBuilder().setRemoveFlowCaseData(new RemoveFlowCaseDataBuilder().build()).build(), BundleFlowModCase.class);
     }
 
     @Test
-    @Ignore
     public void testConvertAddGroupCase() throws Exception {
         testConvert(new BundleAddGroupCaseBuilder().setAddGroupCaseData(new AddGroupCaseDataBuilder().setGroupId(GROUP_ID).build()).build(), BundleGroupModCase.class);
     }
 
     @Test
-    @Ignore
     public void testConvertUpdateGroupCase() throws Exception {
         testConvert(new BundleUpdateGroupCaseBuilder().setUpdateGroupCaseData(new UpdateGroupCaseDataBuilder().setGroupId(GROUP_ID).build()).build(), BundleGroupModCase.class);
     }
 
     @Test
-    @Ignore
     public void testConvertRemoveGroupCase() throws Exception {
         testConvert(new BundleRemoveGroupCaseBuilder().setRemoveGroupCaseData(new RemoveGroupCaseDataBuilder().setGroupId(GROUP_ID).build()).build(), BundleGroupModCase.class);
     }
 
     @Test
-    @Ignore
     public void testConvertUpdatePortCase() throws Exception {
         testConvert(new BundleUpdatePortCaseBuilder()
                 .setUpdatePortCaseData(new UpdatePortCaseDataBuilder()
@@ -146,7 +143,7 @@ public class BundleAddMessageConverterTest {
     }
 
     private void testConvert(final boolean withProperty) throws Exception {
-        final BundleInnerMessage message = new BundleAddFlowCaseBuilder().build();
+        final BundleInnerMessage message = new BundleAddFlowCaseBuilder().setAddFlowCaseData(new AddFlowCaseDataBuilder().build()).build();
         testConvert(message, BundleFlowModCase.class, withProperty);
     }
 
index 44a559e5f34ca7d7859b0a76d8d2287c33df3ee3..554b2d6035cdb570c162271e88baacaf88cb319c 100644 (file)
@@ -37,9 +37,9 @@ public class BundleControlFactoryTest {
 
     private final OFDeserializer<BundleControlOnf> factory = new BundleControlFactory();
     @Mock
-    DeserializerRegistry registry;
+    private DeserializerRegistry registry;
     @Mock
-    OFDeserializer<BundlePropertyExperimenterData> experimenterPropertyDeserializer;
+    private OFDeserializer<BundlePropertyExperimenterData> experimenterPropertyDeserializer;
 
     @Test
     public void testDeserializeWithoutProperties() {
index 6df8f5ba2d0772b23f39a6eb8a9f98c46fb6d5b9..3829246316466fef7a06d5888ab8e6f1eeca942e 100644 (file)
@@ -27,9 +27,9 @@ public abstract class AbstractBundleMessageFactoryTest {
     @Mock
     protected SerializerRegistry registry;
     @Mock
-    protected OFSerializer<BundlePropertyExperimenterData> propertySerializer;
+    OFSerializer<BundlePropertyExperimenterData> propertySerializer;
     @Mock
-    protected BundlePropertyExperimenterData propertyExperimenterData;
+    BundlePropertyExperimenterData propertyExperimenterData;
 
     @Test
     public void writeBundleFlags() {
index cf5b66016bd160d6b4b42fd8fefa556f67c9a44c..03e65735ddea631d15eb41996b057c6735dfabaf 100644 (file)
@@ -13,7 +13,6 @@ import io.netty.buffer.UnpooledByteBufAllocator;
 import java.util.ArrayList;
 import java.util.Collections;
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Matchers;
@@ -41,34 +40,29 @@ public class BundleAddMessageFactoryTest extends AbstractBundleMessageFactoryTes
 
     private final OFSerializer<BundleAddMessageOnf> factory = new BundleAddMessageFactory();
     @Mock
-    private OFSerializer caseSerializer;
+    private OFSerializer<BundleInnerMessage> caseSerializer;
 
     @Test
-    @Ignore
     public void testSerializeWithoutProperties() {
         testSerialize(false);
     }
 
     @Test
-    @Ignore
     public void testSerializeWithExperimenterProperty() {
         testSerialize(true);
     }
 
     @Test
-    @Ignore
     public void testSerializeFlowModCase() {
         testSerialize(new BundleFlowModCaseBuilder().build());
     }
 
     @Test
-    @Ignore
     public void testSerializeGroupModCase() {
         testSerialize(new BundleGroupModCaseBuilder().build());
     }
 
     @Test
-    @Ignore
     public void testSerializePortModCase() {
         testSerialize(new BundlePortModCaseBuilder().build());
     }
@@ -99,6 +93,8 @@ public class BundleAddMessageFactoryTest extends AbstractBundleMessageFactoryTes
             Mockito.when(registry.getSerializer(Matchers.any())).thenReturn(caseSerializer);
         }
 
+        builder.setOnfAddMessageGroupingData(dataBuilder.build());
+
         ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();
         ((SerializerRegistryInjector) factory).injectSerializerRegistry(registry);
         factory.serialize(builder.build(), out);
@@ -106,7 +102,7 @@ public class BundleAddMessageFactoryTest extends AbstractBundleMessageFactoryTes
         Assert.assertEquals("Wrong bundle ID", 1L, out.readUnsignedInt());
         long padding = out.readUnsignedShort();
         Assert.assertEquals("Wrong flags", 1, out.readUnsignedShort());
-        Mockito.verify(caseSerializer).serialize(innerMessage, out);
+        Mockito.verify(caseSerializer).serialize(Mockito.any(), Mockito.any());
 
         if (withProperty) {
             Mockito.verify(propertySerializer).serialize(propertyExperimenterData, out);
index 8f3444bb08c0905a3258c37171008f40b260f359..0025e6160515171a1613ebeb85886346f8de6a1e 100644 (file)
@@ -57,7 +57,7 @@ public class BundleControlFactoryTest extends AbstractBundleMessageFactoryTest {
         if (withProperty) {
             dataBuilder.setBundleProperty((new ArrayList<>(Collections.singleton(
                     BundleTestUtils.createExperimenterProperty(propertyExperimenterData)))));
-            Mockito.when(registry.getSerializer(Matchers.any(MessageTypeKey.class))).thenReturn(propertySerializer);
+            Mockito.when(registry.getSerializer(Matchers.any())).thenReturn(propertySerializer);
             ((SerializerRegistryInjector) factory).injectSerializerRegistry(registry);
         }