Add missing license headers
[groupbasedpolicy.git] / renderers / ofoverlay / src / test / java / org / opendaylight / groupbasedpolicy / renderer / ofoverlay / statistics / util / IidSflowNameUtilTest.java
1 /*\r
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.\r
3  *\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
7  */\r
8 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.statistics.util;\r
9 \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
13 \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
28 \r
29 public class IidSflowNameUtilTest {\r
30 \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
41 \r
42     @Before\r
43     public void init() {\r
44         Classifier classifier = mock(Classifier.class);\r
45         when(classifier.getKey()).thenReturn(new ClassifierKey(classifierName));\r
46 \r
47         resolvedPolicy = TestUtils.newResolvedPolicy(tenantId, contractId, subjectName, ruleName,\r
48                 consumerEpgId, providerEpgId, classifier);\r
49 \r
50         rpIid = InstanceIdentifier.create(ResolvedPolicy.class);\r
51         testName =\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
55     }\r
56 \r
57     @Test\r
58     public void testCreateFlowCacheName() {\r
59         InstanceIdentifier<Classifier> classifierIid = TestUtils.getClassifierIid(\r
60                 ResolvedPolicyClassifierListener.resolveClassifiers(resolvedPolicy, rpIid));\r
61 \r
62         assertEquals(testName,\r
63                 IidSflowNameUtil.createFlowCacheName(classifierIid, FlowCacheCons.Value.BYTES));\r
64     }\r
65 \r
66     @Test\r
67     public void testResolveContractIdFromFlowCacheName() {\r
68         assertEquals(contractId.getValue(),\r
69                 IidSflowNameUtil.resolveContractIdFromFlowCacheName(testName).getValue());\r
70     }\r
71 \r
72     @Test\r
73     public void testResolveSubjectNameFromFlowCacheName() {\r
74         assertEquals(subjectName.getValue(),\r
75                 IidSflowNameUtil.resolveSubjectNameFromFlowCacheName(testName).getValue());\r
76     }\r
77 \r
78     @Test\r
79     public void testResolveRuleNameFromFlowCacheName() {\r
80         assertEquals(ruleName.getValue(),\r
81                 IidSflowNameUtil.resolveRuleNameFromFlowCacheName(testName).getValue());\r
82     }\r
83 \r
84     @Test\r
85     public void testResolveClassifierNameFromFlowCacheName() {\r
86         assertEquals(classifierName.getValue(),\r
87                 IidSflowNameUtil.resolveClassifierNameFromFlowCacheName(testName).getValue());\r
88     }\r
89 \r
90     @Test\r
91     public void testResolveFlowCacheValue() {\r
92         assertEquals(FlowCacheCons.Value.BYTES.get(),\r
93                 IidSflowNameUtil.resolveFlowCacheValue(testName));\r
94     }\r
95 \r
96 }\r