+/*\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