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