diff options
author | CNlucius <lukai1@huawei.com> | 2016-09-13 11:40:12 +0800 |
---|---|---|
committer | CNlucius <lukai1@huawei.com> | 2016-09-13 11:41:53 +0800 |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/incubator/net/src/test/java/org/onosproject | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (diff) |
ONOSFW-171
O/S-SFC-ONOS scenario documentation
Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365
Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/incubator/net/src/test/java/org/onosproject')
3 files changed, 0 insertions, 701 deletions
diff --git a/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/intf/impl/InterfaceManagerTest.java b/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/intf/impl/InterfaceManagerTest.java deleted file mode 100644 index cc2908bc..00000000 --- a/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/intf/impl/InterfaceManagerTest.java +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.onosproject.incubator.net.intf.impl; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import org.junit.Before; -import org.junit.Test; -import org.onlab.packet.Ip4Address; -import org.onlab.packet.IpAddress; -import org.onlab.packet.MacAddress; -import org.onlab.packet.VlanId; -import org.onosproject.incubator.net.config.basics.ConfigException; -import org.onosproject.incubator.net.config.basics.InterfaceConfig; -import org.onosproject.incubator.net.intf.Interface; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.config.Config; -import org.onosproject.net.config.NetworkConfigEvent; -import org.onosproject.net.config.NetworkConfigListener; -import org.onosproject.net.config.NetworkConfigServiceAdapter; -import org.onosproject.net.host.InterfaceIpAddress; - -import java.util.Collections; -import java.util.Map; -import java.util.Set; - -import static junit.framework.TestCase.assertEquals; -import static org.junit.Assert.assertNull; - -/** - * Unit tests for InterfaceManager. - */ -public class InterfaceManagerTest { - private static final Class<InterfaceConfig> CONFIG_CLASS = InterfaceConfig.class; - - private static final int NUM_INTERFACES = 4; - - private Set<ConnectPoint> subjects = Sets.newHashSet(); - private Map<ConnectPoint, InterfaceConfig> configs = Maps.newHashMap(); - - private Set<Interface> interfaces = Sets.newHashSet(); - - private NetworkConfigListener listener; - - private InterfaceManager interfaceManager; - - @Before - public void setUp() throws Exception { - for (int i = 0; i < NUM_INTERFACES; i++) { - ConnectPoint cp = createConnectPoint(i); - subjects.add(cp); - - Interface intf = createInterface(i); - - interfaces.add(intf); - - InterfaceConfig ic = new TestInterfaceConfig(cp, Sets.newHashSet(intf)); - - configs.put(cp, ic); - } - - TestNetworkConfigService configService = - new TestNetworkConfigService(subjects, configs); - - interfaceManager = new InterfaceManager(); - interfaceManager.configService = configService; - interfaceManager.activate(); - } - - private Interface createInterface(int i) { - ConnectPoint cp = createConnectPoint(i); - - InterfaceIpAddress ia = InterfaceIpAddress.valueOf("192.168." + i + ".1/24"); - - Interface intf = new Interface(cp, - Sets.newHashSet(ia), - MacAddress.valueOf(i), - VlanId.vlanId((short) i)); - - return intf; - } - - private ConnectPoint createConnectPoint(int i) { - return ConnectPoint.deviceConnectPoint("of:000000000000000" + i + "/1"); - } - - @Test - public void testGetInterfaces() throws Exception { - assertEquals(interfaces, interfaceManager.getInterfaces()); - } - - @Test - public void testGetInterfacesByPort() throws Exception { - ConnectPoint cp = ConnectPoint.deviceConnectPoint("of:0000000000000001/1"); - - Set<Interface> byPort = Collections.singleton(createInterface(1)); - - assertEquals(byPort, interfaceManager.getInterfacesByPort(cp)); - } - - @Test - public void testGetInterfacesByIp() throws Exception { - IpAddress ip = Ip4Address.valueOf("192.168.2.1"); - - Set<Interface> byIp = Collections.singleton(createInterface(2)); - - assertEquals(byIp, interfaceManager.getInterfacesByIp(ip)); - } - - @Test - public void testGetMatchingInterface() throws Exception { - IpAddress ip = Ip4Address.valueOf("192.168.1.100"); - - Interface matchingIntf = createInterface(1); - - assertEquals(matchingIntf, interfaceManager.getMatchingInterface(ip)); - - // Searching for an IP with no match should return null - ip = Ip4Address.valueOf("1.1.1.1"); - - assertNull(interfaceManager.getMatchingInterface(ip)); - } - - @Test - public void testGetInterfacesByVlan() throws Exception { - VlanId vlanId = VlanId.vlanId((short) 1); - - Set<Interface> byVlan = Collections.singleton(createInterface(1)); - - assertEquals(byVlan, interfaceManager.getInterfacesByVlan(vlanId)); - } - - @Test - public void testAddInterface() throws Exception { - // Create a new InterfaceConfig which will get added - VlanId vlanId = VlanId.vlanId((short) 1); - ConnectPoint cp = ConnectPoint.deviceConnectPoint("of:0000000000000001/2"); - Interface newIntf = new Interface(cp, - Collections.emptySet(), - MacAddress.valueOf(100), - vlanId); - - InterfaceConfig ic = new TestInterfaceConfig(cp, Collections.singleton(newIntf)); - - subjects.add(cp); - configs.put(cp, ic); - interfaces.add(newIntf); - - NetworkConfigEvent event = new NetworkConfigEvent( - NetworkConfigEvent.Type.CONFIG_ADDED, cp, CONFIG_CLASS); - - assertEquals(NUM_INTERFACES, interfaceManager.getInterfaces().size()); - - // Send in a config event containing a new interface config - listener.event(event); - - // Check the new interface exists in the InterfaceManager's inventory - assertEquals(interfaces, interfaceManager.getInterfaces()); - assertEquals(NUM_INTERFACES + 1, interfaceManager.getInterfaces().size()); - - // There are now two interfaces with vlan ID 1 - Set<Interface> byVlan = Sets.newHashSet(createInterface(1), newIntf); - assertEquals(byVlan, interfaceManager.getInterfacesByVlan(vlanId)); - } - - @Test - public void testUpdateInterface() throws Exception { - ConnectPoint cp = createConnectPoint(1); - - // Create an interface that is the same as the existing one, but adds a - // new IP address - Interface intf = createInterface(1); - Set<InterfaceIpAddress> addresses = Sets.newHashSet(intf.ipAddresses()); - addresses.add(InterfaceIpAddress.valueOf("192.168.100.1/24")); - intf = new Interface(intf.connectPoint(), addresses, intf.mac(), intf.vlan()); - - // Create a new interface on the same connect point as the existing one - InterfaceIpAddress newAddr = InterfaceIpAddress.valueOf("192.168.101.1/24"); - Interface newIntf = new Interface(cp, - Collections.singleton(newAddr), - MacAddress.valueOf(101), - VlanId.vlanId((short) 101)); - - Set<Interface> interfaces = Sets.newHashSet(intf, newIntf); - - // New interface config updates the existing interface and adds a new - // interface to the same connect point - InterfaceConfig ic = new TestInterfaceConfig(cp, interfaces); - - configs.put(cp, ic); - - NetworkConfigEvent event = new NetworkConfigEvent( - NetworkConfigEvent.Type.CONFIG_UPDATED, cp, CONFIG_CLASS); - - // Send in the event signalling the interfaces for this connect point - // have been updated - listener.event(event); - - assertEquals(NUM_INTERFACES + 1, interfaceManager.getInterfaces().size()); - assertEquals(interfaces, interfaceManager.getInterfacesByPort(cp)); - } - - @Test - public void testRemoveInterface() throws Exception { - ConnectPoint cp = createConnectPoint(1); - - NetworkConfigEvent event = new NetworkConfigEvent( - NetworkConfigEvent.Type.CONFIG_REMOVED, cp, CONFIG_CLASS); - - assertEquals(NUM_INTERFACES, interfaceManager.getInterfaces().size()); - - // Send in a config event removing an interface config - listener.event(event); - - assertEquals(NUM_INTERFACES - 1, interfaceManager.getInterfaces().size()); - } - - /** - * Test version of NetworkConfigService which allows us to pass in subjects - * and InterfaceConfigs directly. - */ - private class TestNetworkConfigService extends NetworkConfigServiceAdapter { - private final Set<ConnectPoint> subjects; - private final Map<ConnectPoint, InterfaceConfig> configs; - - public TestNetworkConfigService(Set<ConnectPoint> subjects, - Map<ConnectPoint, InterfaceConfig> configs) { - this.subjects = subjects; - this.configs = configs; - } - - @Override - public <S, C extends Config<S>> Set<S> getSubjects(Class<S> subjectClass, - Class<C> configClass) { - return (Set<S>) subjects; - } - - @Override - public <S, C extends Config<S>> C getConfig(S subject, Class<C> configClass) { - return (C) configs.get(subject); - } - - @Override - public void addListener(NetworkConfigListener listener) { - InterfaceManagerTest.this.listener = listener; - } - } - - /** - * Test version of InterfaceConfig where we can inject interfaces directly, - * rather than parsing them from JSON. - */ - private class TestInterfaceConfig extends InterfaceConfig { - private final ConnectPoint subject; - private final Set<Interface> interfaces; - - @Override - public ConnectPoint subject() { - return subject; - } - - public TestInterfaceConfig(ConnectPoint subject, Set<Interface> interfaces) { - this.subject = subject; - this.interfaces = interfaces; - } - - @Override - public Set<Interface> getInterfaces() throws ConfigException { - return interfaces; - } - } - -} diff --git a/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/mcast/impl/MulticastRouteManagerTest.java b/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/mcast/impl/MulticastRouteManagerTest.java deleted file mode 100644 index bec9cded..00000000 --- a/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/mcast/impl/MulticastRouteManagerTest.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.incubator.net.mcast.impl; - -import com.google.common.collect.Lists; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onlab.junit.TestUtils; -import org.onlab.packet.IpPrefix; -import org.onosproject.common.event.impl.TestEventDispatcher; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.CoreServiceAdapter; -import org.onosproject.core.DefaultApplicationId; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.PortNumber; -import org.onosproject.net.mcast.McastEvent; -import org.onosproject.net.mcast.McastListener; -import org.onosproject.net.mcast.McastRoute; -import org.onosproject.store.service.TestStorageService; - -import java.util.List; - -import static junit.framework.Assert.fail; -import static junit.framework.TestCase.assertEquals; -import static org.onosproject.net.NetTestTools.did; -import static org.onosproject.net.NetTestTools.injectEventDispatcher; - -/** - * Tests for the multicast RIB. - */ -public class MulticastRouteManagerTest { - - McastRoute r1 = new McastRoute(IpPrefix.valueOf("1.1.1.1/8"), - IpPrefix.valueOf("1.1.1.2/8"), - McastRoute.Type.IGMP); - - McastRoute r11 = new McastRoute(IpPrefix.valueOf("1.1.1.1/8"), - IpPrefix.valueOf("1.1.1.2/8"), - McastRoute.Type.STATIC); - - McastRoute r2 = new McastRoute(IpPrefix.valueOf("2.2.2.1/8"), - IpPrefix.valueOf("2.2.2.2/8"), - McastRoute.Type.PIM); - - ConnectPoint cp1 = new ConnectPoint(did("1"), PortNumber.portNumber(1)); - - ConnectPoint cp2 = new ConnectPoint(did("2"), PortNumber.portNumber(2)); - - private TestMulticastListener listener = new TestMulticastListener(); - - private MulticastRouteManager manager; - - private List<McastEvent> events; - - @Before - public void setUp() throws Exception { - manager = new MulticastRouteManager(); - injectEventDispatcher(manager, new TestEventDispatcher()); - TestUtils.setField(manager, "storageService", new TestStorageService()); - TestUtils.setField(manager, "coreService", new TestCoreService()); - events = Lists.newArrayList(); - manager.activate(); - manager.addListener(listener); - } - - @After - public void tearDown() { - manager.removeListener(listener); - manager.deactivate(); - } - - @Test - public void testAdd() { - manager.add(r1); - - assertEquals("Add failed", manager.mcastRoutes.size(), 1); - validateEvents(McastEvent.Type.ROUTE_ADDED); - } - - @Test - public void testRemove() { - manager.add(r1); - - manager.remove(r1); - - assertEquals("Remove failed", manager.mcastRoutes.size(), 0); - validateEvents(McastEvent.Type.ROUTE_ADDED, McastEvent.Type.ROUTE_REMOVED); - } - - @Test - public void testAddSource() { - manager.add(r1); - - manager.addSource(r1, cp1); - - validateEvents(McastEvent.Type.ROUTE_ADDED, McastEvent.Type.SOURCE_ADDED); - assertEquals("Route is not equal", cp1, manager.fetchSource(r1)); - } - - @Test - public void testAddSink() { - manager.add(r1); - - manager.addSource(r1, cp1); - manager.addSink(r1, cp1); - - validateEvents(McastEvent.Type.ROUTE_ADDED, - McastEvent.Type.SOURCE_ADDED, - McastEvent.Type.SINK_ADDED); - assertEquals("Route is not equal", Lists.newArrayList(cp1), manager.fetchSinks(r1)); - } - - @Test - public void testRemoveSink() { - manager.add(r1); - - manager.addSource(r1, cp1); - manager.addSink(r1, cp1); - manager.addSink(r1, cp2); - manager.removeSink(r1, cp2); - - validateEvents(McastEvent.Type.ROUTE_ADDED, - McastEvent.Type.SOURCE_ADDED, - McastEvent.Type.SINK_ADDED, - McastEvent.Type.SINK_ADDED, - McastEvent.Type.SINK_REMOVED); - assertEquals("Route is not equal", Lists.newArrayList(cp1), manager.fetchSinks(r1)); - } - - private void validateEvents(McastEvent.Type... evs) { - if (events.size() != evs.length) { - fail(String.format("Mismatch number of events# obtained -> %s : expected %s", - events, evs)); - } - - for (int i = 0; i < evs.length; i++) { - if (evs[i] != events.get(i).type()) { - fail(String.format("Mismatched events# obtained -> %s : expected %s", - events, evs)); - } - } - } - - class TestMulticastListener implements McastListener { - @Override - public void event(McastEvent event) { - events.add(event); - } - } - - private class TestCoreService extends CoreServiceAdapter { - @Override - public ApplicationId registerApplication(String name) { - return new DefaultApplicationId(0, name); - } - } -} diff --git a/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/meter/impl/MeterManagerTest.java b/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/meter/impl/MeterManagerTest.java deleted file mode 100644 index 76caebcb..00000000 --- a/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/meter/impl/MeterManagerTest.java +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright 2015 Open Networking Laboratory - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.onosproject.incubator.net.meter.impl; - -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onlab.junit.TestUtils; -import org.onlab.packet.IpAddress; -import org.onosproject.cluster.ClusterServiceAdapter; -import org.onosproject.cluster.ControllerNode; -import org.onosproject.cluster.DefaultControllerNode; -import org.onosproject.cluster.NodeId; -import org.onosproject.common.event.impl.TestEventDispatcher; -import org.onosproject.core.ApplicationId; -import org.onosproject.core.DefaultApplicationId; -import org.onosproject.incubator.store.meter.impl.DistributedMeterStore; -import org.onosproject.mastership.MastershipServiceAdapter; -import org.onosproject.net.DeviceId; -import org.onosproject.net.meter.Band; -import org.onosproject.net.meter.DefaultBand; -import org.onosproject.net.meter.DefaultMeter; -import org.onosproject.net.meter.DefaultMeterRequest; -import org.onosproject.net.meter.Meter; -import org.onosproject.net.meter.MeterId; -import org.onosproject.net.meter.MeterOperation; -import org.onosproject.net.meter.MeterOperations; -import org.onosproject.net.meter.MeterProvider; -import org.onosproject.net.meter.MeterProviderRegistry; -import org.onosproject.net.meter.MeterProviderService; -import org.onosproject.net.meter.MeterRequest; -import org.onosproject.net.meter.MeterService; -import org.onosproject.net.meter.MeterState; -import org.onosproject.net.provider.AbstractProvider; -import org.onosproject.net.provider.ProviderId; -import org.onosproject.store.service.TestStorageService; - -import java.util.Collections; -import java.util.Map; -import java.util.Set; - -import static org.hamcrest.Matchers.is; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.assertTrue; -import static org.onosproject.net.NetTestTools.APP_ID; -import static org.onosproject.net.NetTestTools.did; -import static org.onosproject.net.NetTestTools.injectEventDispatcher; - -/** - * Meter manager tests. - */ -public class MeterManagerTest { - - private static final ProviderId PID = new ProviderId("of", "foo"); - private static final NodeId NID_LOCAL = new NodeId("local"); - private static final IpAddress LOCALHOST = IpAddress.valueOf("127.0.0.1"); - - private MeterService service; - private MeterManager manager; - private DistributedMeterStore meterStore; - private MeterProviderRegistry registry; - private MeterProviderService providerService; - - private TestProvider provider; - - private ApplicationId appId; - - - private Meter m1; - private Meter m2; - private MeterRequest.Builder m1Request; - private MeterRequest.Builder m2Request; - - private Map<MeterId, Meter> meters = Maps.newHashMap(); - - @Before - public void setup() throws Exception { - meterStore = new DistributedMeterStore(); - TestUtils.setField(meterStore, "storageService", new TestStorageService()); - TestUtils.setField(meterStore, "clusterService", new TestClusterService()); - TestUtils.setField(meterStore, "mastershipService", new TestMastershipService()); - meterStore.activate(); - - manager = new MeterManager(); - manager.store = meterStore; - TestUtils.setField(manager, "storageService", new TestStorageService()); - injectEventDispatcher(manager, new TestEventDispatcher()); - service = manager; - registry = manager; - - manager.activate(); - - provider = new TestProvider(PID); - providerService = registry.register(provider); - - appId = new TestApplicationId(0, "MeterManagerTest"); - - assertTrue("provider should be registered", - registry.getProviders().contains(provider.id())); - - Band band = DefaultBand.builder() - .ofType(Band.Type.DROP) - .withRate(500) - .build(); - - m1 = DefaultMeter.builder() - .forDevice(did("1")) - .fromApp(APP_ID) - .withId(MeterId.meterId(1)) - .withUnit(Meter.Unit.KB_PER_SEC) - .withBands(Collections.singletonList(band)) - .build(); - - m2 = DefaultMeter.builder() - .forDevice(did("2")) - .fromApp(APP_ID) - .withId(MeterId.meterId(1)) - .withUnit(Meter.Unit.KB_PER_SEC) - .withBands(Collections.singletonList(band)) - .build(); - - m1Request = DefaultMeterRequest.builder() - .forDevice(did("1")) - .fromApp(APP_ID) - .withUnit(Meter.Unit.KB_PER_SEC) - .withBands(Collections.singletonList(band)); - - m2Request = DefaultMeterRequest.builder() - .forDevice(did("2")) - .fromApp(APP_ID) - .withUnit(Meter.Unit.KB_PER_SEC) - .withBands(Collections.singletonList(band)); - - - } - - @After - public void tearDown() { - registry.unregister(provider); - assertFalse("provider should not be registered", - registry.getProviders().contains(provider.id())); - - manager.deactivate(); - injectEventDispatcher(manager, null); - - } - - @Test - public void testAddition() { - manager.submit(m1Request.add()); - - assertTrue("The meter was not added", manager.getAllMeters().size() == 1); - - assertThat(manager.getMeter(did("1"), MeterId.meterId(1)), is(m1)); - } - - @Test - public void testRemove() { - manager.submit(m1Request.add()); - manager.withdraw(m1Request.remove(), m1.id()); - - assertThat(manager.getMeter(did("1"), MeterId.meterId(1)).state(), - is(MeterState.PENDING_REMOVE)); - - providerService.pushMeterMetrics(m1.deviceId(), Collections.emptyList()); - - assertTrue("The meter was not removed", manager.getAllMeters().size() == 0); - - } - - @Test - public void testMultipleDevice() { - manager.submit(m1Request.add()); - manager.submit(m2Request.add()); - - assertTrue("The meters were not added", manager.getAllMeters().size() == 2); - - assertThat(manager.getMeter(did("1"), MeterId.meterId(1)), is(m1)); - assertThat(manager.getMeter(did("2"), MeterId.meterId(1)), is(m2)); - } - - public class TestApplicationId extends DefaultApplicationId { - public TestApplicationId(int id, String name) { - super(id, name); - } - } - - private class TestProvider extends AbstractProvider implements MeterProvider { - - protected TestProvider(ProviderId id) { - super(PID); - } - - @Override - public void performMeterOperation(DeviceId deviceId, MeterOperations meterOps) { - //Currently unused. - } - - @Override - public void performMeterOperation(DeviceId deviceId, MeterOperation meterOp) { - meters.put(meterOp.meter().id(), meterOp.meter()); - } - } - - private final class TestClusterService extends ClusterServiceAdapter { - - ControllerNode local = new DefaultControllerNode(NID_LOCAL, LOCALHOST); - - @Override - public ControllerNode getLocalNode() { - return local; - } - - @Override - public Set<ControllerNode> getNodes() { - return Sets.newHashSet(); - } - - } - - private class TestMastershipService extends MastershipServiceAdapter { - @Override - public NodeId getMasterFor(DeviceId deviceId) { - return NID_LOCAL; - } - } -} |