\r
import org.junit.Before;\r
import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.OfWriter;\r
+import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.PolicyManager;\r
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.IpAddress;\r
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Address;\r
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Address;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv4Match;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.model.match.types.rev131026.match.layer._3.match.Ipv6Match;\r
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.overlay.rev150105.TunnelTypeVxlan;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
+import org.powermock.api.mockito.PowerMockito;\r
+import org.powermock.core.classloader.annotations.PrepareForTest;\r
+import org.powermock.modules.junit4.PowerMockRunner;\r
\r
import com.google.common.collect.ImmutableList;\r
import com.google.common.collect.ImmutableSet;\r
\r
import static org.junit.Assert.*;\r
\r
+@RunWith(PowerMockRunner.class)\r
+@PrepareForTest({PolicyManager.class})\r
public class PortSecurityTest extends FlowTableTest {\r
- protected static final Logger LOG =\r
- LoggerFactory.getLogger(PortSecurityTest.class);\r
\r
+ private Endpoint ep = localEP()\r
+ .setL3Address(ImmutableList.of(new L3AddressBuilder()\r
+ .setIpAddress(new IpAddress(new Ipv4Address("10.10.10.10")))\r
+ .build(),\r
+ new L3AddressBuilder()\r
+ .setIpAddress(new IpAddress(new Ipv6Address("2001:db8:85a3::8a2e:370:7334")))\r
+ .build()))\r
+ .build();\r
@Override\r
@Before\r
public void setup() throws Exception {\r
+ PowerMockito.stub(PowerMockito.method(PolicyManager.class, "setSfcTableOffset")).toReturn(true);\r
+\r
initCtx();\r
table = new PortSecurity(ctx,ctx.getPolicyManager().getTABLEID_PORTSECURITY());\r
super.setup();\r
for (Flow f : fm.getTableForNode(nodeId, ctx.getPolicyManager().getTABLEID_PORTSECURITY()).getFlow()) {\r
flowMap.put(f.getId().getValue(), f);\r
if (f.getMatch() != null && f.getMatch().getInPort() != null &&\r
- ncs.contains(f.getMatch().getInPort().getValue())) {\r
+ (ncs.contains(f.getMatch().getInPort().getValue()))) {\r
assertTrue(f.getInstructions().equals(\r
FlowUtils.gotoTableInstructions(ctx.getPolicyManager().getTABLEID_INGRESS_NAT()))\r
|| f.getInstructions().equals(\r
count += 1;\r
}\r
}\r
- assertEquals(2, count);\r
+ assertEquals(1, count);\r
int numberOfFlows = fm.getTableForNode(nodeId, ctx.getPolicyManager().getTABLEID_PORTSECURITY()).getFlow().size();\r
fm = dosync(flowMap);\r
assertEquals(numberOfFlows, fm.getTableForNode(nodeId, ctx.getPolicyManager().getTABLEID_PORTSECURITY()).getFlow().size());\r
\r
@Test\r
public void testL3() throws Exception {\r
- Endpoint ep = localEP()\r
- .setL3Address(ImmutableList.of(new L3AddressBuilder()\r
- .setIpAddress(new IpAddress(new Ipv4Address("10.10.10.10")))\r
- .build(),\r
- new L3AddressBuilder()\r
- .setIpAddress(new IpAddress(new Ipv6Address("2001:db8:85a3::8a2e:370:7334")))\r
- .build()))\r
- .build();\r
-\r
endpointManager.addEndpoint(ep);\r
\r
OfWriter fm = dosync(null);\r
fm = dosync(flowMap);\r
assertEquals(numberOfFlows, fm.getTableForNode(nodeId, ctx.getPolicyManager().getTABLEID_PORTSECURITY()).getFlow().size());\r
}\r
+\r
+ @Test\r
+ public void testExternal() throws Exception {\r
+ endpointManager.addEndpoint(ep);\r
+ switchManager.addSwitch(\r
+ new NodeId("openflow:12"),\r
+ new NodeConnectorId("openflow:12:1"),\r
+ ImmutableSet.of(new NodeConnectorId("openflow:12:2")),\r
+ new OfOverlayNodeConfigBuilder().setTunnel(\r
+ ImmutableList.of(new TunnelBuilder().setTunnelType(TunnelTypeVxlan.class)\r
+ .setNodeConnectorId(new NodeConnectorId("openflow:12:1"))\r
+ .build())).build());\r
+ ctx.addTenant(baseTenant().build());\r
+ }\r
}\r