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
8 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.statistics.util;
\r
10 import static org.junit.Assert.assertEquals;
\r
11 import static org.mockito.Mockito.mock;
\r
12 import static org.mockito.Mockito.when;
\r
14 import org.junit.Before;
\r
15 import org.junit.Test;
\r
16 import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.statistics.ResolvedPolicyClassifierListener;
\r
17 import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.test.TestUtils;
\r
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierName;
\r
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;
\r
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;
\r
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.RuleName;
\r
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SubjectName;
\r
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;
\r
24 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.Classifier;
\r
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.ClassifierKey;
\r
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.ResolvedPolicy;
\r
27 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
\r
29 public class IidSflowNameUtilTest {
\r
31 private final EndpointGroupId consumerEpgId = new EndpointGroupId("consumerEpg1");
\r
32 private final EndpointGroupId providerEpgId = new EndpointGroupId("providerEpg1");
\r
33 private final ContractId contractId = new ContractId("contract1");
\r
34 private final TenantId tenantId = new TenantId("tenant1");
\r
35 private final ClassifierName classifierName = ClassifierName.getDefaultInstance("classifier1");
\r
36 private final SubjectName subjectName = SubjectName.getDefaultInstance("subject1");
\r
37 private final RuleName ruleName = new RuleName("rule1");
\r
38 private InstanceIdentifier<ResolvedPolicy> rpIid;
\r
39 private String testName;
\r
40 private ResolvedPolicy resolvedPolicy;
\r
43 public void init() {
\r
44 Classifier classifier = mock(Classifier.class);
\r
45 when(classifier.getKey()).thenReturn(new ClassifierKey(classifierName));
\r
47 resolvedPolicy = TestUtils.newResolvedPolicy(tenantId, contractId, subjectName, ruleName,
\r
48 consumerEpgId, providerEpgId, classifier);
\r
50 rpIid = InstanceIdentifier.create(ResolvedPolicy.class);
\r
52 tenantId.getValue() + IidSflowNameUtil.KEY_DELIMETER + contractId.getValue() + IidSflowNameUtil.KEY_DELIMETER + subjectName
\r
53 .getValue() + IidSflowNameUtil.DELIMETER + ruleName.getValue() + IidSflowNameUtil.DELIMETER + classifierName
\r
54 .getValue() + IidSflowNameUtil.DELIMETER + FlowCacheCons.Value.BYTES.get();
\r
58 public void testCreateFlowCacheName() {
\r
59 InstanceIdentifier<Classifier> classifierIid = TestUtils.getClassifierIid(
\r
60 ResolvedPolicyClassifierListener.resolveClassifiers(resolvedPolicy, rpIid));
\r
62 assertEquals(testName,
\r
63 IidSflowNameUtil.createFlowCacheName(classifierIid, FlowCacheCons.Value.BYTES));
\r
67 public void testResolveContractIdFromFlowCacheName() {
\r
68 assertEquals(contractId.getValue(),
\r
69 IidSflowNameUtil.resolveContractIdFromFlowCacheName(testName).getValue());
\r
73 public void testResolveSubjectNameFromFlowCacheName() {
\r
74 assertEquals(subjectName.getValue(),
\r
75 IidSflowNameUtil.resolveSubjectNameFromFlowCacheName(testName).getValue());
\r
79 public void testResolveRuleNameFromFlowCacheName() {
\r
80 assertEquals(ruleName.getValue(),
\r
81 IidSflowNameUtil.resolveRuleNameFromFlowCacheName(testName).getValue());
\r
85 public void testResolveClassifierNameFromFlowCacheName() {
\r
86 assertEquals(classifierName.getValue(),
\r
87 IidSflowNameUtil.resolveClassifierNameFromFlowCacheName(testName).getValue());
\r
91 public void testResolveFlowCacheValue() {
\r
92 assertEquals(FlowCacheCons.Value.BYTES.get(),
\r
93 IidSflowNameUtil.resolveFlowCacheValue(testName));
\r