Bug 5540 - PortConvertor, MatchConvertor
[openflowplugin.git] / openflowplugin / src / test / java / org / opendaylight / openflowplugin / openflow / md / core / sal / convertor / match / MatchConvertorImpl2Test.java
index 09da99443dbd04352634b1a7882fd0d4bc89b738..edaac8a445e37316c8827e916c7c3aead6c51fa1 100644 (file)
@@ -13,10 +13,17 @@ import java.util.List;
 import org.junit.Assert;\r
 import org.junit.Before;\r
 import org.junit.Test;\r
+import org.opendaylight.openflowplugin.openflow.md.core.sal.convertor.common.Convertor;\r
 import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.*;\r
-import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Dscp;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6FlowLabel;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;\r
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DottedQuad;\r
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.Match;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.flow.MatchBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeConnectorId;\r
@@ -43,6 +50,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4MatchBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv6MatchArbitraryBitMaskBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv6MatchBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.TunnelIpv4MatchBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.SctpMatchBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.TcpMatchBuilder;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._4.match.UdpMatchBuilder;\r
@@ -132,8 +140,6 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.matc
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.UdpSrcCase;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.VlanPcpCase;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.oxm.rev150225.match.entry.value.grouping.match.entry.value.VlanVidCase;\r
-import java.math.BigInteger;\r
-import java.util.List;\r
 \r
 /**\r
  * @author michal.polkorab\r
@@ -151,7 +157,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testEmptyAndNullInput() {\r
@@ -166,7 +172,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testConversion() {\r
@@ -338,7 +344,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testIpv4MatchArbitraryBitMaskwithNoMask(){\r
@@ -361,7 +367,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testIpv4MatchArbitraryBitMaskwithMask(){\r
@@ -386,7 +392,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testUdpMatchConversion() {\r
@@ -410,7 +416,31 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
+     */\r
+    @Test\r
+    public void testTunnelIpv4MatchConversion() {\r
+        MatchBuilder builder = new MatchBuilder();\r
+        TunnelIpv4MatchBuilder tunnelIpv4MatchBuilder = new TunnelIpv4MatchBuilder();\r
+        tunnelIpv4MatchBuilder.setTunnelIpv4Source(new Ipv4Prefix("10.0.0.1/32"));\r
+        tunnelIpv4MatchBuilder.setTunnelIpv4Destination(new Ipv4Prefix("10.0.0.2/32"));\r
+        builder.setLayer3Match(tunnelIpv4MatchBuilder.build());\r
+        Match match = builder.build();\r
+\r
+        List<MatchEntry> entries = convertor.convert(match);\r
+        Assert.assertEquals("Wrong entries size", 2, entries.size());\r
+        MatchEntry entry = entries.get(0);\r
+        checkEntryHeader(entry, Ipv4Src.class, false);\r
+        Assert.assertEquals("Wrong ipv4 tunnel src", "10.0.0.1", ((Ipv4SrcCase) entry.getMatchEntryValue()).getIpv4Src()\r
+                .getIpv4Address().getValue());\r
+        entry = entries.get(1);\r
+        checkEntryHeader(entry, Ipv4Dst.class, false);\r
+        Assert.assertEquals("Wrong ipv4 tunnel dst", "10.0.0.2", ((Ipv4DstCase) entry.getMatchEntryValue()).getIpv4Dst()\r
+                .getIpv4Address().getValue());\r
+    }\r
+\r
+    /**\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testSctpMatchConversion() {\r
@@ -434,7 +464,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testArpMatchConversion() {\r
@@ -477,7 +507,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testArpMatchConversionWithMasks() {\r
@@ -527,7 +557,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testIpv6MatchConversion() {\r
@@ -583,7 +613,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testIpv6MatchConversionWithMasks() {\r
@@ -612,7 +642,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testIpv6ExtHeaderConversion() {\r
@@ -636,7 +666,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testConversionWithMasks() {\r
@@ -732,7 +762,7 @@ public class MatchConvertorImpl2Test {
     }\r
 \r
     /**\r
-     * Test {@link MatchConvertorImpl#convert(org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.Match, java.math.BigInteger)}\r
+     * Test {@link Convertor#convert(Object)}\r
      */\r
     @Test\r
     public void testIpv6MatchArbitraryBitMask(){\r