Initial OpenECOMP policy/engine commit
[policy/engine.git] / PolicyEngineAPI / src / test / java / org / openecomp / policy / test / GetConfigStringStringMapTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * PolicyEngineAPI
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.policy.test;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNotNull;
25 import static org.junit.Assert.assertNull;
26 import static org.junit.Assert.fail;
27
28 import java.util.Collection;
29 import java.util.HashMap;
30 import java.util.Map;
31
32 import org.apache.commons.logging.Log;
33 import org.apache.commons.logging.LogFactory;
34 import org.junit.Before;
35 import org.junit.Test;
36 import org.openecomp.policy.api.PolicyConfig;
37 import org.openecomp.policy.api.PolicyConfigException;
38 import org.openecomp.policy.api.PolicyConfigStatus;
39 import org.openecomp.policy.api.PolicyEngine;
40 import org.openecomp.policy.api.PolicyEngineException;
41 import org.openecomp.policy.api.PolicyType;
42
43 import org.openecomp.policy.common.logging.flexlogger.*; 
44
45 public class GetConfigStringStringMapTest {
46
47         private PolicyEngine policyEngine = null;
48         private String eCOMPComponentName = null;
49         private String configName = null;
50         private Map<String,String> configAttributes = new HashMap<String,String>();
51         private Collection<PolicyConfig> policyConfig = null;
52         private static final Logger logger = FlexLogger.getLogger(GetConfigStringStringMapTest.class);
53         @Before
54         public void setUp() {
55                 try {
56                         policyEngine = new PolicyEngine("Test/config_pass.properties");
57                 } catch (PolicyEngineException e) {
58                         logger.error(e.getMessage());
59                         fail("PolicyEngine Instantiation Error" + e);
60                 }
61                 logger.info("Loaded.. PolicyEngine");
62         }
63
64         @Test
65         public void testGetConfigStringStringMapFail() {
66                 eCOMPComponentName = null;
67                 configName = null;
68                 configAttributes = null;
69                 try {
70                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
71                 } catch (PolicyConfigException e) {
72                         logger.warn(e.getMessage());
73                 }
74                 assertNull(policyConfig);
75         }
76         
77         @Test
78         public void testGetConfigStringStringMapFail1() {
79                 eCOMPComponentName = null;
80                 configName = "testFail";
81                 configAttributes.put("TestValue", "Fail");
82                 try {
83                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
84                 } catch (PolicyConfigException e) {
85                         logger.warn(e.getMessage());
86                 }
87                 assertNull(policyConfig);
88         }
89         
90         @Test
91         public void testGetConfigStringStringMapFail2() {
92                 eCOMPComponentName = "TestFail";
93                 configName = null;
94                 configAttributes.put("TestValue", "Fail");
95                 try {
96                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
97                 } catch (PolicyConfigException e) {
98                         logger.warn(e.getMessage());
99                 }
100                 assertNull(policyConfig);
101         }
102         
103         @Test
104         public void testGetConfigStringStringMapFail3() {
105                 eCOMPComponentName = "TestFail";
106                 configName = "configFail";
107                 configAttributes= null;
108                 try {
109                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
110                 } catch (PolicyConfigException e) {
111                         logger.warn(e.getMessage());
112                 }
113                 assertNull(policyConfig);
114         }
115         
116         @Test
117         public void testGetConfigStringStringMapfail4() {
118                 eCOMPComponentName = "TestFail";
119                 configName = "configFail";
120                 configAttributes.put("", "");
121                 try {
122                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
123                 } catch (PolicyConfigException e) {
124                         logger.warn(e.getMessage());
125                 }
126                 assertNull(policyConfig);
127         }
128         
129         //@Test
130         public void testGetConfigStringStringMapNotValid() {
131                 eCOMPComponentName = "TestFail";
132                 configName = "configFail";
133                 configAttributes.put("Action:com.test.fail", "Value");
134                 try {
135                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
136                 } catch (PolicyConfigException e) {
137                         logger.warn(e.getMessage());
138                 }
139                 for(PolicyConfig policyConfig : this.policyConfig){
140                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
141                         assertNotNull(policyConfig);
142                         assertEquals(PolicyConfigStatus.CONFIG_NOT_FOUND,policyConfig.getPolicyConfigStatus());
143                         assertNotNull(policyConfig.getPolicyConfigMessage());
144                         assertNull(policyConfig.getType());
145                         assertNull(policyConfig.toJSON());
146                         assertNull(policyConfig.toProperties());
147                         assertNull(policyConfig.toXML());
148                         assertNull(policyConfig.toOther());
149                 }
150         }
151         
152         //@Test
153         public void testGetConfigStringStringMapValidJSON() {
154                 eCOMPComponentName = "JSON";
155                 configName = "JSONconfig";
156                 configAttributes.put("Resource.com:test:resource:json", "Test");
157                 configAttributes.put("Action.com:test:action:json", "TestJSON");
158                 configAttributes.put("Subject.com:test:subject:json", "TestSubject");
159                 try {
160                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
161                 } catch (PolicyConfigException e) {
162                         logger.warn(e.getMessage());
163                 }
164                 for(PolicyConfig policyConfig : this.policyConfig){
165                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
166                         assertNotNull(policyConfig);
167                         assertEquals(PolicyConfigStatus.CONFIG_RETRIEVED,policyConfig.getPolicyConfigStatus());
168                         assertNotNull(policyConfig.getPolicyConfigMessage());
169                         assertEquals(PolicyType.JSON,policyConfig.getType());
170                         assertNotNull(policyConfig.toJSON());
171                         assertNull(policyConfig.toProperties());
172                         assertNull(policyConfig.toXML());
173                         assertNull(policyConfig.toOther());
174                 }
175         }
176         
177         //@Test
178         public void testGetConfigStringStringMapValidXML() {
179                 eCOMPComponentName = "XML";
180                 configName = "XMLconfig";
181                 configAttributes.put("Resource.com:test:resource:json", "Test");
182                 configAttributes.put("Action.com:test:action:json", "TestJSON");
183                 configAttributes.put("Subject.com:test:subject:json", "TestSubject");
184                 try {
185                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
186                 } catch (PolicyConfigException e) {
187                         logger.warn(e.getMessage());
188                 }
189                 for(PolicyConfig policyConfig : this.policyConfig){
190                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
191                         assertNotNull(policyConfig);
192                         assertEquals(PolicyConfigStatus.CONFIG_RETRIEVED,policyConfig.getPolicyConfigStatus());
193                         assertNotNull(policyConfig.getPolicyConfigMessage());
194                         assertEquals(PolicyType.XML,policyConfig.getType());
195                         assertNull(policyConfig.toJSON());
196                         assertNull(policyConfig.toProperties());
197                         assertNotNull(policyConfig.toXML());
198                         assertNull(policyConfig.toOther());
199                 }
200         }
201         
202         //@Test
203         public void testGetConfigStringStringMapValidProperties() {
204                 eCOMPComponentName = "Properties";
205                 configName = "PropConfig" ;
206                 configAttributes.put("Resource.com:test:resource:json", "Test");
207                 configAttributes.put("Action.com:test:action:json", "TestJSON");
208                 configAttributes.put("Subject.com:test:subject:json", "TestSubject");
209                 try {
210                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
211                 } catch (PolicyConfigException e) {
212                         logger.warn(e.getMessage());
213                 }
214                 for(PolicyConfig policyConfig : this.policyConfig){
215                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
216                         assertNotNull(policyConfig);
217                         assertEquals(PolicyConfigStatus.CONFIG_RETRIEVED,policyConfig.getPolicyConfigStatus());
218                         assertNotNull(policyConfig.getPolicyConfigMessage());
219                         assertEquals(PolicyType.PROPERTIES,policyConfig.getType());
220                         assertNull(policyConfig.toJSON());
221                         assertNotNull(policyConfig.toProperties());
222                         assertNull(policyConfig.toXML());
223                         assertNull(policyConfig.toOther());
224                 }
225         }
226         
227         //@Test
228         public void testGetConfigStringStringMapValidOther() {
229                 eCOMPComponentName = "Other";
230                 configName = "OtherConfig" ;
231                 configAttributes.put("Resource.com:test:resource:json", "Test");
232                 configAttributes.put("Action.com:test:action:json", "TestJSON");
233                 configAttributes.put("Subject.com:test:subject:json", "TestSubject");
234                 try {
235                         policyConfig = policyEngine.getConfig(eCOMPComponentName, configName, configAttributes);
236                 } catch (PolicyConfigException e) {
237                         logger.warn(e.getMessage());
238                 }
239                 for(PolicyConfig policyConfig : this.policyConfig){
240                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
241                         assertNotNull(policyConfig);
242                         assertEquals(PolicyConfigStatus.CONFIG_RETRIEVED,policyConfig.getPolicyConfigStatus());
243                         assertNotNull(policyConfig.getPolicyConfigMessage());
244                         assertEquals(PolicyType.OTHER,policyConfig.getType());
245                         assertNull(policyConfig.toJSON());
246                         assertNull(policyConfig.toProperties());
247                         assertNull(policyConfig.toXML());
248                         assertNotNull(policyConfig.toOther());
249                 }
250         }
251 }