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