f70a16a98d6ee250eb1563aaac962e65adb0b7a2
[policy/engine.git] / PolicyEngineAPI / src / test / java / org / onap / 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.onap.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.junit.Before;
33 import org.junit.Test;
34 import org.onap.policy.api.PolicyConfig;
35 import org.onap.policy.api.PolicyConfigException;
36 import org.onap.policy.api.PolicyConfigStatus;
37 import org.onap.policy.api.PolicyEngine;
38 import org.onap.policy.api.PolicyEngineException;
39 import org.onap.policy.api.PolicyType;
40 import org.onap.policy.common.logging.flexlogger.FlexLogger;
41 import org.onap.policy.common.logging.flexlogger.Logger; 
42
43 public class GetConfigStringStringMapTest {
44
45         private PolicyEngine policyEngine = null;
46         private String onapComponentName = null;
47         private String configName = null;
48         private Map<String,String> configAttributes = new HashMap<String,String>();
49         private Collection<PolicyConfig> policyConfig = null;
50         private static final Logger logger = FlexLogger.getLogger(GetConfigStringStringMapTest.class);
51         @Before
52         public void setUp() {
53                 try {
54                         policyEngine = new PolicyEngine("Test/config_pass.properties");
55                 } catch (PolicyEngineException e) {
56                         logger.error(e.getMessage());
57                         fail("PolicyEngine Instantiation Error" + e);
58                 }
59                 logger.info("Loaded.. PolicyEngine");
60         }
61
62         @SuppressWarnings("deprecation")
63         @Test
64         public void testGetConfigStringStringMapFail() {
65                 onapComponentName = null;
66                 configName = null;
67                 configAttributes = null;
68                 try {
69                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
70                 } catch (PolicyConfigException e) {
71                         logger.warn(e.getMessage());
72                 }
73                 assertNull(policyConfig);
74         }
75         
76         @SuppressWarnings("deprecation")
77         @Test
78         public void testGetConfigStringStringMapFail1() {
79                 onapComponentName = null;
80                 configName = "testFail";
81                 configAttributes.put("TestValue", "Fail");
82                 try {
83                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
84                 } catch (PolicyConfigException e) {
85                         logger.warn(e.getMessage());
86                 }
87                 assertNull(policyConfig);
88         }
89         
90         @SuppressWarnings("deprecation")
91         @Test
92         public void testGetConfigStringStringMapFail2() {
93                 onapComponentName = "TestFail";
94                 configName = null;
95                 configAttributes.put("TestValue", "Fail");
96                 try {
97                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
98                 } catch (PolicyConfigException e) {
99                         logger.warn(e.getMessage());
100                 }
101                 assertNull(policyConfig);
102         }
103         
104         @SuppressWarnings("deprecation")
105         @Test
106         public void testGetConfigStringStringMapFail3() {
107                 onapComponentName = "TestFail";
108                 configName = "configFail";
109                 configAttributes= null;
110                 try {
111                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
112                 } catch (PolicyConfigException e) {
113                         logger.warn(e.getMessage());
114                 }
115                 assertNull(policyConfig);
116         }
117         
118         @SuppressWarnings("deprecation")
119         @Test
120         public void testGetConfigStringStringMapfail4() {
121                 onapComponentName = "TestFail";
122                 configName = "configFail";
123                 configAttributes.put("", "");
124                 try {
125                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
126                 } catch (PolicyConfigException e) {
127                         logger.warn(e.getMessage());
128                 }
129                 assertNull(policyConfig);
130         }
131         
132         //@Test
133         @SuppressWarnings("deprecation")
134         public void testGetConfigStringStringMapNotValid() {
135                 onapComponentName = "TestFail";
136                 configName = "configFail";
137                 configAttributes.put("Action:com.test.fail", "Value");
138                 try {
139                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
140                 } catch (PolicyConfigException e) {
141                         logger.warn(e.getMessage());
142                 }
143                 for(PolicyConfig policyConfig : this.policyConfig){
144                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
145                         assertNotNull(policyConfig);
146                         assertEquals(PolicyConfigStatus.CONFIG_NOT_FOUND,policyConfig.getPolicyConfigStatus());
147                         assertNotNull(policyConfig.getPolicyConfigMessage());
148                         assertNull(policyConfig.getType());
149                         assertNull(policyConfig.toJSON());
150                         assertNull(policyConfig.toProperties());
151                         assertNull(policyConfig.toXML());
152                         assertNull(policyConfig.toOther());
153                 }
154         }
155         
156         //@Test
157         @SuppressWarnings("deprecation")
158         public void testGetConfigStringStringMapValidJSON() {
159                 onapComponentName = "JSON";
160                 configName = "JSONconfig";
161                 configAttributes.put("Resource.com:test:resource:json", "Test");
162                 configAttributes.put("Action.com:test:action:json", "TestJSON");
163                 configAttributes.put("Subject.com:test:subject:json", "TestSubject");
164                 try {
165                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
166                 } catch (PolicyConfigException e) {
167                         logger.warn(e.getMessage());
168                 }
169                 for(PolicyConfig policyConfig : this.policyConfig){
170                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
171                         assertNotNull(policyConfig);
172                         assertEquals(PolicyConfigStatus.CONFIG_RETRIEVED,policyConfig.getPolicyConfigStatus());
173                         assertNotNull(policyConfig.getPolicyConfigMessage());
174                         assertEquals(PolicyType.JSON,policyConfig.getType());
175                         assertNotNull(policyConfig.toJSON());
176                         assertNull(policyConfig.toProperties());
177                         assertNull(policyConfig.toXML());
178                         assertNull(policyConfig.toOther());
179                 }
180         }
181         
182         //@Test
183         @SuppressWarnings("deprecation")
184         public void testGetConfigStringStringMapValidXML() {
185                 onapComponentName = "XML";
186                 configName = "XMLconfig";
187                 configAttributes.put("Resource.com:test:resource:json", "Test");
188                 configAttributes.put("Action.com:test:action:json", "TestJSON");
189                 configAttributes.put("Subject.com:test:subject:json", "TestSubject");
190                 try {
191                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
192                 } catch (PolicyConfigException e) {
193                         logger.warn(e.getMessage());
194                 }
195                 for(PolicyConfig policyConfig : this.policyConfig){
196                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
197                         assertNotNull(policyConfig);
198                         assertEquals(PolicyConfigStatus.CONFIG_RETRIEVED,policyConfig.getPolicyConfigStatus());
199                         assertNotNull(policyConfig.getPolicyConfigMessage());
200                         assertEquals(PolicyType.XML,policyConfig.getType());
201                         assertNull(policyConfig.toJSON());
202                         assertNull(policyConfig.toProperties());
203                         assertNotNull(policyConfig.toXML());
204                         assertNull(policyConfig.toOther());
205                 }
206         }
207         
208         //@Test
209         @SuppressWarnings("deprecation")
210         public void testGetConfigStringStringMapValidProperties() {
211                 onapComponentName = "Properties";
212                 configName = "PropConfig" ;
213                 configAttributes.put("Resource.com:test:resource:json", "Test");
214                 configAttributes.put("Action.com:test:action:json", "TestJSON");
215                 configAttributes.put("Subject.com:test:subject:json", "TestSubject");
216                 try {
217                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
218                 } catch (PolicyConfigException e) {
219                         logger.warn(e.getMessage());
220                 }
221                 for(PolicyConfig policyConfig : this.policyConfig){
222                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
223                         assertNotNull(policyConfig);
224                         assertEquals(PolicyConfigStatus.CONFIG_RETRIEVED,policyConfig.getPolicyConfigStatus());
225                         assertNotNull(policyConfig.getPolicyConfigMessage());
226                         assertEquals(PolicyType.PROPERTIES,policyConfig.getType());
227                         assertNull(policyConfig.toJSON());
228                         assertNotNull(policyConfig.toProperties());
229                         assertNull(policyConfig.toXML());
230                         assertNull(policyConfig.toOther());
231                 }
232         }
233         
234         //@Test
235         @SuppressWarnings("deprecation")
236         public void testGetConfigStringStringMapValidOther() {
237                 onapComponentName = "Other";
238                 configName = "OtherConfig" ;
239                 configAttributes.put("Resource.com:test:resource:json", "Test");
240                 configAttributes.put("Action.com:test:action:json", "TestJSON");
241                 configAttributes.put("Subject.com:test:subject:json", "TestSubject");
242                 try {
243                         policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
244                 } catch (PolicyConfigException e) {
245                         logger.warn(e.getMessage());
246                 }
247                 for(PolicyConfig policyConfig : this.policyConfig){
248                         logger.info(policyConfig.getPolicyConfigMessage() + " , " +policyConfig.getPolicyConfigStatus());
249                         assertNotNull(policyConfig);
250                         assertEquals(PolicyConfigStatus.CONFIG_RETRIEVED,policyConfig.getPolicyConfigStatus());
251                         assertNotNull(policyConfig.getPolicyConfigMessage());
252                         assertEquals(PolicyType.OTHER,policyConfig.getType());
253                         assertNull(policyConfig.toJSON());
254                         assertNull(policyConfig.toProperties());
255                         assertNull(policyConfig.toXML());
256                         assertNotNull(policyConfig.toOther());
257                 }
258         }
259 }