X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fcompatibility%2Fsal-compatibility%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fcompatibility%2Ftest%2FTestToSalConversionsUtils.java;h=7c20c24becf8ffb3828372a07a35c60db073cb04;hp=16d0bb424d02746921d16f5c321915232f5219c8;hb=fdda2ebadfe3729e21448fe8f44a506aa67b5da9;hpb=34bc6ec632529a0dfe419aa7404bb42a456fbc96 diff --git a/opendaylight/md-sal/compatibility/sal-compatibility/src/test/java/org/opendaylight/controller/sal/compatibility/test/TestToSalConversionsUtils.java b/opendaylight/md-sal/compatibility/sal-compatibility/src/test/java/org/opendaylight/controller/sal/compatibility/test/TestToSalConversionsUtils.java index 16d0bb424d..7c20c24bec 100644 --- a/opendaylight/md-sal/compatibility/sal-compatibility/src/test/java/org/opendaylight/controller/sal/compatibility/test/TestToSalConversionsUtils.java +++ b/opendaylight/md-sal/compatibility/sal-compatibility/src/test/java/org/opendaylight/controller/sal/compatibility/test/TestToSalConversionsUtils.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.sal.compatibility.test; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import static org.opendaylight.controller.sal.compatibility.ProtocolConstants.CRUDP; import static org.opendaylight.controller.sal.compatibility.ProtocolConstants.ETHERNET_ARP; @@ -22,8 +23,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import junit.framework.Assert; - import org.junit.Test; import org.opendaylight.controller.sal.action.Flood; import org.opendaylight.controller.sal.action.FloodAll; @@ -198,7 +197,30 @@ public class TestToSalConversionsUtils { public void testFromNodeConnectorRef() throws ConstructionException { Node node = new Node(NodeIDType.OPENFLOW, 42L); NodeConnector nodeConnector = ToSalConversionsUtils.fromNodeConnectorRef(new Uri("1"), node); - Assert.assertEquals("OF|1@OF|00:00:00:00:00:00:00:2a", nodeConnector.toString()); + assertEquals("OF|1@OF|00:00:00:00:00:00:00:2a", nodeConnector.toString()); + } + + @Test + public void testActionFrom() throws ConstructionException { + // Bug 2021: Convert AD-SAL notation into MD-SAL notation before calling NodeConnector + Node node = new Node(NodeIDType.OPENFLOW, 42L); + List odActions = new ArrayList<>(); + + OutputActionBuilder outputActionBuilder = new OutputActionBuilder(); + outputActionBuilder.setOutputNodeConnector(new Uri("CONTROLLER")); + OutputActionCaseBuilder outputActionCaseBuilder = new OutputActionCaseBuilder(); + outputActionCaseBuilder.setOutputAction(outputActionBuilder.build()); + odActions.add(new ActionBuilder().setAction(outputActionCaseBuilder.build()).build()); + + List targetAction = + ToSalConversionsUtils.actionFrom(odActions, node); + assertNotNull(targetAction); + assertTrue( Output.class.isInstance(targetAction.get(0)) ); + Output targetActionOutput = (Output) targetAction.get(0); + NodeConnector port = targetActionOutput.getPort(); + assertNotNull(port); + assertEquals(port.getType(), NodeConnectorIDType.CONTROLLER); + assertEquals(port.getID(), org.opendaylight.controller.sal.core.NodeConnector.SPECIALNODECONNECTORID); } private void checkSalMatch(org.opendaylight.controller.sal.match.Match match, MtchType mt) throws ConstructionException { @@ -542,7 +564,7 @@ public class TestToSalConversionsUtils { private Address prapareIpv4Address(String ipv4Address) { Ipv4Builder ipv4Builder = new Ipv4Builder(); - ipv4Builder.setIpv4Address(new Ipv4Prefix(ipv4Address)); + ipv4Builder.setIpv4Address(new Ipv4Prefix(ipv4Address + "/32")); return ipv4Builder.build(); } @@ -647,8 +669,8 @@ public class TestToSalConversionsUtils { private Layer3Match prepLayer3MatchIpv4() { Ipv4MatchBuilder ipv4MatchBuilder = new Ipv4MatchBuilder(); - ipv4MatchBuilder.setIpv4Source(new Ipv4Prefix("192.168.1.104")); - ipv4MatchBuilder.setIpv4Destination(new Ipv4Prefix("192.168.1.105")); + ipv4MatchBuilder.setIpv4Source(new Ipv4Prefix("192.168.1.104/32")); + ipv4MatchBuilder.setIpv4Destination(new Ipv4Prefix("192.168.1.105/32")); return ipv4MatchBuilder.build(); } @@ -661,8 +683,8 @@ public class TestToSalConversionsUtils { private Layer3Match prepLayer3MatchArp() { ArpMatchBuilder arpMatchBuilder = new ArpMatchBuilder(); - arpMatchBuilder.setArpSourceTransportAddress(new Ipv4Prefix("192.168.1.101")); - arpMatchBuilder.setArpTargetTransportAddress(new Ipv4Prefix("192.168.1.102")); + arpMatchBuilder.setArpSourceTransportAddress(new Ipv4Prefix("192.168.1.101/32")); + arpMatchBuilder.setArpTargetTransportAddress(new Ipv4Prefix("192.168.1.102/32")); ArpSourceHardwareAddressBuilder arpSourAddressBuild = new ArpSourceHardwareAddressBuilder(); arpSourAddressBuild.setAddress(new MacAddress("22:44:66:88:AA:CC"));