37cd5c7816c9e4ac3823604bc5e140da9f1ff3a8
[groupbasedpolicy.git] / renderers / ofoverlay / src / test / java / org / opendaylight / groupbasedpolicy / renderer / ofoverlay / statistics / util / IidSflowNameUtilTest.java
1 package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.statistics.util;\r
2 \r
3 import static org.junit.Assert.assertEquals;\r
4 import static org.mockito.Mockito.mock;\r
5 import static org.mockito.Mockito.when;\r
6 \r
7 import org.junit.Before;\r
8 import org.junit.Test;\r
9 import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.statistics.ResolvedPolicyClassifierListener;\r
10 import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.test.TestUtils;\r
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ClassifierName;\r
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.ContractId;\r
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.EndpointGroupId;\r
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.RuleName;\r
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.SubjectName;\r
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.common.rev140421.TenantId;\r
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.Classifier;\r
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.has.classifiers.ClassifierKey;\r
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.resolved.policy.rev150828.resolved.policies.ResolvedPolicy;\r
20 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;\r
21 \r
22 public class IidSflowNameUtilTest {\r
23 \r
24     private final EndpointGroupId consumerEpgId = new EndpointGroupId("consumerEpg1");\r
25     private final EndpointGroupId providerEpgId = new EndpointGroupId("providerEpg1");\r
26     private final ContractId contractId = new ContractId("contract1");\r
27     private final TenantId tenantId = new TenantId("tenant1");\r
28     private final ClassifierName classifierName = ClassifierName.getDefaultInstance("classifier1");\r
29     private final SubjectName subjectName = SubjectName.getDefaultInstance("subject1");\r
30     private final RuleName ruleName = new RuleName("rule1");\r
31     private InstanceIdentifier<ResolvedPolicy> rpIid;\r
32     private String testName;\r
33     private ResolvedPolicy resolvedPolicy;\r
34 \r
35     @Before\r
36     public void init() {\r
37         Classifier classifier = mock(Classifier.class);\r
38         when(classifier.getKey()).thenReturn(new ClassifierKey(classifierName));\r
39 \r
40         resolvedPolicy = TestUtils.newResolvedPolicy(tenantId, contractId, subjectName, ruleName,\r
41                 consumerEpgId, providerEpgId, classifier);\r
42 \r
43         rpIid = InstanceIdentifier.create(ResolvedPolicy.class);\r
44         testName =\r
45                 tenantId.getValue() + IidSflowNameUtil.KEY_DELIMETER + contractId.getValue() + IidSflowNameUtil.KEY_DELIMETER + subjectName\r
46                         .getValue() + IidSflowNameUtil.DELIMETER + ruleName.getValue() + IidSflowNameUtil.DELIMETER + classifierName\r
47                         .getValue() + IidSflowNameUtil.DELIMETER + FlowCacheCons.Value.BYTES.get();\r
48     }\r
49 \r
50     @Test\r
51     public void testCreateFlowCacheName() {\r
52         InstanceIdentifier<Classifier> classifierIid = TestUtils.getClassifierIid(\r
53                 ResolvedPolicyClassifierListener.resolveClassifiers(resolvedPolicy, rpIid));\r
54 \r
55         assertEquals(testName,\r
56                 IidSflowNameUtil.createFlowCacheName(classifierIid, FlowCacheCons.Value.BYTES));\r
57     }\r
58 \r
59     @Test\r
60     public void testResolveContractIdFromFlowCacheName() {\r
61         assertEquals(contractId.getValue(),\r
62                 IidSflowNameUtil.resolveContractIdFromFlowCacheName(testName).getValue());\r
63     }\r
64 \r
65     @Test\r
66     public void testResolveSubjectNameFromFlowCacheName() {\r
67         assertEquals(subjectName.getValue(),\r
68                 IidSflowNameUtil.resolveSubjectNameFromFlowCacheName(testName).getValue());\r
69     }\r
70 \r
71     @Test\r
72     public void testResolveRuleNameFromFlowCacheName() {\r
73         assertEquals(ruleName.getValue(),\r
74                 IidSflowNameUtil.resolveRuleNameFromFlowCacheName(testName).getValue());\r
75     }\r
76 \r
77     @Test\r
78     public void testResolveClassifierNameFromFlowCacheName() {\r
79         assertEquals(classifierName.getValue(),\r
80                 IidSflowNameUtil.resolveClassifierNameFromFlowCacheName(testName).getValue());\r
81     }\r
82 \r
83     @Test\r
84     public void testResolveFlowCacheValue() {\r
85         assertEquals(FlowCacheCons.Value.BYTES.get(),\r
86                 IidSflowNameUtil.resolveFlowCacheValue(testName));\r
87     }\r
88 \r
89 }\r