Unit tests for ofoverlay
[groupbasedpolicy.git] / renderers / ofoverlay / src / test / java / org / opendaylight / groupbasedpolicy / renderer / ofoverlay / statistics / OFStatisticsManagerTest.java
index de1f7c2b7a0b745a96bbf2bc4aef96fe0a7d16f0..f819633e312da8fca3c2432d9872542d81f404b2 100755 (executable)
@@ -1,27 +1,85 @@
+/*\r
+ * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.statistics;\r
 \r
 import static org.mockito.Mockito.mock;\r
 \r
+import java.util.Map;\r
 import java.util.concurrent.ScheduledExecutorService;\r
 \r
 import org.junit.Before;\r
 import org.junit.Test;\r
 import org.opendaylight.groupbasedpolicy.api.StatisticsManager;\r
+import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.test.TestUtils;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierName;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.RuleName;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SubjectName;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.Classifier;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.ClassifierBuilder;\r
+import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.ResolvedPolicy;\r
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
 \r
 public class OFStatisticsManagerTest {\r
 \r
-    ScheduledExecutorService executor;\r
-    StatisticsManager statisticsManager;\r
+    private final EndpointGroupId consumerEpgId = new EndpointGroupId("consumerEpg1");\r
+    private final EndpointGroupId providerEpgId = new EndpointGroupId("providerEpg1");\r
+    private final ContractId contractId = new ContractId("contract1");\r
+    private final TenantId tenantId = new TenantId("tenant1");\r
+    private final ClassifierName classifierName = ClassifierName.getDefaultInstance("classifier1");\r
+    private final SubjectName subjectName = SubjectName.getDefaultInstance("subject1");\r
+    private final RuleName ruleName = new RuleName("rule1");\r
+\r
+    private InstanceIdentifier<ResolvedPolicy> rpIid;\r
+    private ResolvedPolicy resolvedPolicy;\r
+\r
+    private ScheduledExecutorService executor;\r
+    private StatisticsManager statisticsManager;\r
+\r
+    private OFStatisticsManager ofStatisticsManager;\r
+    private Classifier classifier;\r
+    private Map<InstanceIdentifier<Classifier>, Classifier> classifierByIid;\r
 \r
     @Before\r
     public void init() {\r
         executor = mock(ScheduledExecutorService.class);\r
         statisticsManager = mock(StatisticsManager.class);\r
+\r
+        classifier = new ClassifierBuilder()\r
+                .setName(classifierName)\r
+                .build();\r
+        resolvedPolicy = TestUtils.newResolvedPolicy(tenantId, contractId, subjectName, ruleName,\r
+                consumerEpgId, providerEpgId, classifier);\r
+\r
+        rpIid = InstanceIdentifier.create(ResolvedPolicy.class);\r
+\r
+        ofStatisticsManager = new OFStatisticsManager(executor, statisticsManager);\r
+        ofStatisticsManager.setDelay(20L);\r
+        ofStatisticsManager.setSflowCollectorUri("http://localhost:1234");\r
+\r
+        classifierByIid =\r
+                ResolvedPolicyClassifierListener.resolveClassifiers(resolvedPolicy, rpIid);\r
     }\r
 \r
     @Test\r
     public void testConstructor() throws Exception {\r
-        new OFStatisticsManager(executor, statisticsManager);\r
+        OFStatisticsManager other = new OFStatisticsManager(executor, statisticsManager);\r
+        other.close();\r
     }\r
 \r
+    @Test\r
+    public void testTTT(){\r
+        for (Map.Entry<InstanceIdentifier<Classifier>, Classifier> classifierEntry : classifierByIid.entrySet()) {\r
+            ofStatisticsManager.pullStatsForClassifier(classifierEntry.getKey(),\r
+                    classifierEntry.getValue());\r
+        }\r
+    }\r
 }\r