aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/meter/impl/MeterManagerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/meter/impl/MeterManagerTest.java')
-rw-r--r--framework/src/onos/incubator/net/src/test/java/org/onosproject/incubator/net/meter/impl/MeterManagerTest.java243
1 files changed, 0 insertions, 243 deletions
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;
- }
- }
-}