2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
\r
4 * This program and the accompanying materials are made available under the
\r
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
\r
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
\r
9 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.statistics;
\r
11 import static org.mockito.Mockito.mock;
\r
13 import java.util.Map;
\r
14 import java.util.concurrent.ScheduledExecutorService;
\r
16 import org.junit.Before;
\r
17 import org.junit.Test;
\r
18 import org.opendaylight.groupbasedpolicy.api.StatisticsManager;
\r
19 import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.test.TestUtils;
\r
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierName;
\r
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;
\r
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;
\r
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.RuleName;
\r
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SubjectName;
\r
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
\r
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.Classifier;
\r
27 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.ClassifierBuilder;
\r
28 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.ResolvedPolicy;
\r
29 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
\r
31 public class OFStatisticsManagerTest {
\r
33 private final EndpointGroupId consumerEpgId = new EndpointGroupId("consumerEpg1");
\r
34 private final EndpointGroupId providerEpgId = new EndpointGroupId("providerEpg1");
\r
35 private final ContractId contractId = new ContractId("contract1");
\r
36 private final TenantId tenantId = new TenantId("tenant1");
\r
37 private final ClassifierName classifierName = ClassifierName.getDefaultInstance("classifier1");
\r
38 private final SubjectName subjectName = SubjectName.getDefaultInstance("subject1");
\r
39 private final RuleName ruleName = new RuleName("rule1");
\r
41 private InstanceIdentifier<ResolvedPolicy> rpIid;
\r
42 private ResolvedPolicy resolvedPolicy;
\r
44 private ScheduledExecutorService executor;
\r
45 private StatisticsManager statisticsManager;
\r
47 private OFStatisticsManager ofStatisticsManager;
\r
48 private Classifier classifier;
\r
49 private Map<InstanceIdentifier<Classifier>, Classifier> classifierByIid;
\r
52 public void init() {
\r
53 executor = mock(ScheduledExecutorService.class);
\r
54 statisticsManager = mock(StatisticsManager.class);
\r
56 classifier = new ClassifierBuilder()
\r
57 .setName(classifierName)
\r
59 resolvedPolicy = TestUtils.newResolvedPolicy(tenantId, contractId, subjectName, ruleName,
\r
60 consumerEpgId, providerEpgId, classifier);
\r
62 rpIid = InstanceIdentifier.create(ResolvedPolicy.class);
\r
64 ofStatisticsManager = new OFStatisticsManager(executor, statisticsManager);
\r
65 ofStatisticsManager.setDelay(20L);
\r
66 ofStatisticsManager.setSflowCollectorUri("http://localhost:1234");
\r
69 ResolvedPolicyClassifierListener.resolveClassifiers(resolvedPolicy, rpIid);
\r
73 public void testConstructor() throws Exception {
\r
74 OFStatisticsManager other = new OFStatisticsManager(executor, statisticsManager);
\r
79 public void testTTT(){
\r
80 for (Map.Entry<InstanceIdentifier<Classifier>, Classifier> classifierEntry : classifierByIid.entrySet()) {
\r
81 ofStatisticsManager.pullStatsForClassifier(classifierEntry.getKey(),
\r
82 classifierEntry.getValue());
\r