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/core/net/src/test/java/org/onosproject/net/link | |
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/core/net/src/test/java/org/onosproject/net/link')
2 files changed, 0 insertions, 383 deletions
diff --git a/framework/src/onos/core/net/src/test/java/org/onosproject/net/link/impl/BasicLinkOperatorTest.java b/framework/src/onos/core/net/src/test/java/org/onosproject/net/link/impl/BasicLinkOperatorTest.java deleted file mode 100644 index eadbb5c9..00000000 --- a/framework/src/onos/core/net/src/test/java/org/onosproject/net/link/impl/BasicLinkOperatorTest.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2014-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.net.link.impl; - -import static org.onosproject.net.DeviceId.deviceId; -import static org.onosproject.net.PortNumber.portNumber; -import static org.junit.Assert.assertEquals; - -import java.time.Duration; -import org.junit.Before; -import org.junit.Test; -import org.onosproject.net.config.ConfigApplyDelegate; -import org.onosproject.net.config.basics.BasicLinkConfig; -import org.onosproject.net.AnnotationKeys; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.DefaultAnnotations; -import org.onosproject.net.DeviceId; -import org.onosproject.net.Link; -import org.onosproject.net.LinkKey; -import org.onosproject.net.PortNumber; -import org.onosproject.net.SparseAnnotations; -import org.onosproject.net.link.DefaultLinkDescription; -import org.onosproject.net.link.LinkDescription; - -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.node.JsonNodeFactory; - -public class BasicLinkOperatorTest { - - private static final DeviceId DID1 = deviceId("of:foo"); - private static final DeviceId DID2 = deviceId("of:bar"); - private static final PortNumber P1 = portNumber(1); - - private static final ConnectPoint SRC = new ConnectPoint(DID1, P1); - private static final ConnectPoint DST = new ConnectPoint(DID2, P1); - private static final LinkKey LK = LinkKey.linkKey(SRC, DST); - private static final Duration NTIME = Duration.ofNanos(200); - - private static final SparseAnnotations SA = DefaultAnnotations.builder() - .set(AnnotationKeys.DURABLE, "true").build(); - private static final LinkDescription LD = new DefaultLinkDescription(SRC, DST, Link.Type.DIRECT, SA); - private final ConfigApplyDelegate delegate = config -> { }; - private final ObjectMapper mapper = new ObjectMapper(); - - private static final BasicLinkConfig BLC = new BasicLinkConfig(); - - @Before - public void setUp() { - BLC.init(LK, "optest", JsonNodeFactory.instance.objectNode(), mapper, delegate); - BLC.latency(NTIME); - } - - @Test - public void testDescOps() { - LinkDescription desc = BasicLinkOperator.combine(BLC, LD); - assertEquals(NTIME.toString(), desc.annotations().value(AnnotationKeys.LATENCY)); - assertEquals("true", desc.annotations().value(AnnotationKeys.DURABLE)); - } -} diff --git a/framework/src/onos/core/net/src/test/java/org/onosproject/net/link/impl/LinkManagerTest.java b/framework/src/onos/core/net/src/test/java/org/onosproject/net/link/impl/LinkManagerTest.java deleted file mode 100644 index dad5429e..00000000 --- a/framework/src/onos/core/net/src/test/java/org/onosproject/net/link/impl/LinkManagerTest.java +++ /dev/null @@ -1,311 +0,0 @@ -/* - * Copyright 2014 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.net.link.impl; - -import com.google.common.collect.ImmutableSet; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.onosproject.event.Event; -import org.onosproject.net.config.NetworkConfigServiceAdapter; -import org.onosproject.net.ConnectPoint; -import org.onosproject.net.DefaultDevice; -import org.onosproject.net.Device; -import org.onosproject.net.DeviceId; -import org.onosproject.net.Link; -import org.onosproject.net.MastershipRole; -import org.onosproject.net.PortNumber; -import org.onosproject.net.link.DefaultLinkDescription; -import org.onosproject.net.link.LinkAdminService; -import org.onosproject.net.link.LinkEvent; -import org.onosproject.net.link.LinkListener; -import org.onosproject.net.link.LinkProvider; -import org.onosproject.net.link.LinkProviderRegistry; -import org.onosproject.net.link.LinkProviderService; -import org.onosproject.net.link.LinkService; -import org.onosproject.net.provider.AbstractProvider; -import org.onosproject.net.provider.ProviderId; -import org.onosproject.common.event.impl.TestEventDispatcher; -import org.onosproject.net.device.impl.DeviceManager; -import org.onosproject.store.trivial.SimpleLinkStore; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import static org.junit.Assert.*; -import static org.onosproject.net.DeviceId.deviceId; -import static org.onosproject.net.Link.Type.DIRECT; -import static org.onosproject.net.Link.Type.INDIRECT; -import static org.onosproject.net.NetTestTools.injectEventDispatcher; -import static org.onosproject.net.link.LinkEvent.Type.*; - -/** - * Test codifying the link service & link provider service contracts. - */ -public class LinkManagerTest { - - private static final ProviderId PID = new ProviderId("of", "foo"); - private static final DeviceId DID1 = deviceId("of:foo"); - private static final DeviceId DID2 = deviceId("of:bar"); - private static final DeviceId DID3 = deviceId("of:goo"); - private static final Device DEV1 = new DefaultDevice( - PID, DID1, Device.Type.SWITCH, "", "", "", "", null); - private static final Device DEV2 = new DefaultDevice( - PID, DID2, Device.Type.SWITCH, "", "", "", "", null); - private static final Device DEV3 = new DefaultDevice( - PID, DID2, Device.Type.SWITCH, "", "", "", "", null); - - private static final PortNumber P1 = PortNumber.portNumber(1); - private static final PortNumber P2 = PortNumber.portNumber(2); - private static final PortNumber P3 = PortNumber.portNumber(3); - private static final Map<DeviceId, Device> DEVICEIDMAP = new HashMap<>(); - - private LinkManager mgr; - - protected LinkService service; - protected LinkAdminService admin; - protected LinkProviderRegistry registry; - protected LinkProviderService providerService; - protected TestProvider provider; - protected TestListener listener = new TestListener(); - protected DeviceManager devmgr = new TestDeviceManager(); - - - - @Before - public void setUp() { - mgr = new LinkManager(); - service = mgr; - admin = mgr; - registry = mgr; - mgr.store = new SimpleLinkStore(); - injectEventDispatcher(mgr, new TestEventDispatcher()); - mgr.deviceService = devmgr; - mgr.networkConfigService = new TestNetworkConfigService(); - mgr.activate(); - - DEVICEIDMAP.put(DID1, DEV1); - DEVICEIDMAP.put(DID2, DEV2); - DEVICEIDMAP.put(DID3, DEV3); - - service.addListener(listener); - - provider = new TestProvider(); - providerService = registry.register(provider); - assertTrue("provider should be registered", - registry.getProviders().contains(provider.id())); - } - - @After - public void tearDown() { - registry.unregister(provider); - assertFalse("provider should not be registered", - registry.getProviders().contains(provider.id())); - service.removeListener(listener); - mgr.deactivate(); - } - - @Test - public void createLink() { - addLink(DID1, P1, DID2, P2, DIRECT); - addLink(DID2, P2, DID1, P1, DIRECT); - assertEquals("incorrect link count", 2, service.getLinkCount()); - - Iterator<Link> it = service.getLinks().iterator(); - it.next(); - it.next(); - assertFalse("incorrect link count", it.hasNext()); - } - - @Test - public void updateLink() { - addLink(DID1, P1, DID2, P2, DIRECT); - addLink(DID2, P2, DID1, P1, INDIRECT); - assertEquals("incorrect link count", 2, service.getLinkCount()); - - providerService.linkDetected(new DefaultLinkDescription(cp(DID2, P2), cp(DID1, P1), DIRECT)); - validateEvents(LINK_UPDATED); - assertEquals("incorrect link count", 2, service.getLinkCount()); - - providerService.linkDetected(new DefaultLinkDescription(cp(DID2, P2), cp(DID1, P1), INDIRECT)); - providerService.linkDetected(new DefaultLinkDescription(cp(DID2, P2), cp(DID1, P1), DIRECT)); - assertEquals("no events expected", 0, listener.events.size()); - } - - @Test - public void removeLink() { - addLink(DID1, P1, DID2, P2, DIRECT); - addLink(DID2, P2, DID1, P1, DIRECT); - assertEquals("incorrect link count", 2, service.getLinkCount()); - - providerService.linkVanished(new DefaultLinkDescription(cp(DID1, P1), cp(DID2, P2), DIRECT)); - validateEvents(LINK_REMOVED); - assertEquals("incorrect link count", 1, service.getLinkCount()); - assertNull("link should not be found", service.getLink(cp(DID1, P1), cp(DID2, P2))); - assertNotNull("link should be found", service.getLink(cp(DID2, P2), cp(DID1, P1))); - - providerService.linkVanished(new DefaultLinkDescription(cp(DID1, P1), cp(DID2, P2), DIRECT)); - assertEquals("no events expected", 0, listener.events.size()); - } - - @Test - public void removeLinksByConnectionPoint() { - Link l1 = addLink(DID1, P1, DID2, P2, DIRECT); - Link l2 = addLink(DID2, P2, DID1, P1, DIRECT); - addLink(DID3, P3, DID2, P1, DIRECT); - addLink(DID2, P1, DID3, P3, DIRECT); - assertEquals("incorrect link count", 4, service.getLinkCount()); - - providerService.linksVanished(cp(DID1, P1)); - assertEquals("incorrect link count", 2, service.getLinkCount()); - assertNull("link should be gone", service.getLink(l1.src(), l1.dst())); - assertNull("link should be gone", service.getLink(l2.src(), l2.dst())); - } - - @Test - public void removeLinksByDevice() { - addLink(DID1, P1, DID2, P2, DIRECT); - addLink(DID2, P2, DID1, P1, DIRECT); - addLink(DID3, P3, DID2, P1, DIRECT); - addLink(DID2, P1, DID3, P3, DIRECT); - Link l5 = addLink(DID3, P1, DID1, P2, DIRECT); - Link l6 = addLink(DID1, P2, DID3, P1, DIRECT); - assertEquals("incorrect link count", 6, service.getLinkCount()); - - providerService.linksVanished(DID2); - assertEquals("incorrect link count", 2, service.getLinkCount()); - assertNotNull("link should not be gone", service.getLink(l5.src(), l5.dst())); - assertNotNull("link should not be gone", service.getLink(l6.src(), l6.dst())); - } - - @Test - public void removeLinksAsAdminByConnectionPoint() { - Link l1 = addLink(DID1, P1, DID2, P2, DIRECT); - Link l2 = addLink(DID2, P2, DID1, P1, DIRECT); - addLink(DID3, P3, DID2, P1, DIRECT); - addLink(DID2, P1, DID3, P3, DIRECT); - assertEquals("incorrect link count", 4, service.getLinkCount()); - - admin.removeLinks(cp(DID1, P1)); - assertEquals("incorrect link count", 2, service.getLinkCount()); - assertNull("link should be gone", service.getLink(l1.src(), l1.dst())); - assertNull("link should be gone", service.getLink(l2.src(), l2.dst())); - } - - @Test - public void removeLinksAsAdminByDevice() { - addLink(DID1, P1, DID2, P2, DIRECT); - addLink(DID2, P2, DID1, P1, DIRECT); - addLink(DID3, P3, DID2, P1, DIRECT); - addLink(DID2, P1, DID3, P3, DIRECT); - Link l5 = addLink(DID3, P1, DID1, P2, DIRECT); - Link l6 = addLink(DID1, P2, DID3, P1, DIRECT); - assertEquals("incorrect link count", 6, service.getLinkCount()); - - admin.removeLinks(DID2); - assertEquals("incorrect link count", 2, service.getLinkCount()); - assertNotNull("link should not be gone", service.getLink(l5.src(), l5.dst())); - assertNotNull("link should not be gone", service.getLink(l6.src(), l6.dst())); - } - - @Test - public void getLinks() { - Link l1 = addLink(DID1, P1, DID2, P2, DIRECT); - Link l2 = addLink(DID2, P2, DID1, P1, DIRECT); - Link l3 = addLink(DID3, P3, DID2, P1, DIRECT); - Link l4 = addLink(DID2, P1, DID3, P3, DIRECT); - assertEquals("incorrect link count", 4, service.getLinkCount()); - - Set<Link> links = service.getLinks(cp(DID1, P1)); - assertEquals("incorrect links", ImmutableSet.of(l1, l2), links); - links = service.getEgressLinks(cp(DID1, P1)); - assertEquals("incorrect links", ImmutableSet.of(l1), links); - links = service.getIngressLinks(cp(DID1, P1)); - assertEquals("incorrect links", ImmutableSet.of(l2), links); - - links = service.getDeviceLinks(DID2); - assertEquals("incorrect links", ImmutableSet.of(l1, l2, l3, l4), links); - links = service.getDeviceLinks(DID3); - assertEquals("incorrect links", ImmutableSet.of(l3, l4), links); - - links = service.getDeviceEgressLinks(DID2); - assertEquals("incorrect links", ImmutableSet.of(l2, l4), links); - links = service.getDeviceIngressLinks(DID2); - assertEquals("incorrect links", ImmutableSet.of(l1, l3), links); - } - - - private Link addLink(DeviceId sd, PortNumber sp, DeviceId dd, PortNumber dp, - Link.Type type) { - providerService.linkDetected(new DefaultLinkDescription(cp(sd, sp), cp(dd, dp), type)); - Link link = listener.events.get(0).subject(); - validateEvents(LINK_ADDED); - return link; - } - - private ConnectPoint cp(DeviceId id, PortNumber portNumber) { - return new ConnectPoint(id, portNumber); - } - - protected void validateEvents(Enum... types) { - int i = 0; - assertEquals("wrong events received", types.length, listener.events.size()); - for (Event event : listener.events) { - assertEquals("incorrect event type", types[i], event.type()); - i++; - } - listener.events.clear(); - } - - - private class TestProvider extends AbstractProvider implements LinkProvider { - private Device deviceReceived; - private MastershipRole roleReceived; - - public TestProvider() { - super(PID); - } - } - - private static class TestListener implements LinkListener { - final List<LinkEvent> events = new ArrayList<>(); - - @Override - public void event(LinkEvent event) { - events.add(event); - } - } - - private static class TestDeviceManager extends DeviceManager { - - @Override - public MastershipRole getRole(DeviceId deviceId) { - return MastershipRole.MASTER; - } - - @Override - public Device getDevice(DeviceId deviceId) { - return DEVICEIDMAP.get(deviceId); - } - - } - private class TestNetworkConfigService extends NetworkConfigServiceAdapter { - } -} |