2 * ============LICENSE_START=======================================================
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
23 package org.onap.policy.test;
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;
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;
43 public class GetConfigStringStringMapTest {
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);
55 policyEngine = new PolicyEngine("Test/config_pass.properties");
56 } catch (PolicyEngineException e) {
57 logger.error(e.getMessage());
58 fail("PolicyEngine Instantiation Error" + e);
60 logger.info("Loaded.. PolicyEngine");
63 @SuppressWarnings("deprecation")
65 public void testGetConfigStringStringMapFail() {
66 onapComponentName = null;
68 configAttributes = null;
70 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
71 } catch (PolicyConfigException e) {
72 logger.warn(e.getMessage());
74 assertNull(policyConfig);
77 @SuppressWarnings("deprecation")
79 public void testGetConfigStringStringMapFail1() {
80 onapComponentName = null;
81 configName = "testFail";
82 configAttributes.put("TestValue", "Fail");
84 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
85 } catch (PolicyConfigException e) {
86 logger.warn(e.getMessage());
88 assertNull(policyConfig);
91 @SuppressWarnings("deprecation")
93 public void testGetConfigStringStringMapFail2() {
94 onapComponentName = "TestFail";
96 configAttributes.put("TestValue", "Fail");
98 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
99 } catch (PolicyConfigException e) {
100 logger.warn(e.getMessage());
102 assertNull(policyConfig);
105 @SuppressWarnings("deprecation")
107 public void testGetConfigStringStringMapFail3() {
108 onapComponentName = "TestFail";
109 configName = "configFail";
110 configAttributes = null;
112 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
113 } catch (PolicyConfigException e) {
114 logger.warn(e.getMessage());
116 assertNull(policyConfig);
119 @SuppressWarnings("deprecation")
121 public void testGetConfigStringStringMapfail4() {
122 onapComponentName = "TestFail";
123 configName = "configFail";
124 configAttributes.put("", "");
126 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
127 } catch (PolicyConfigException e) {
128 logger.warn(e.getMessage());
130 assertNull(policyConfig);
134 @SuppressWarnings("deprecation")
135 public void testGetConfigStringStringMapNotValid() {
136 onapComponentName = "TestFail";
137 configName = "configFail";
138 configAttributes.put("Action:com.test.fail", "Value");
140 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
141 } catch (PolicyConfigException e) {
142 logger.warn(e.getMessage());
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());
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");
167 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
168 } catch (PolicyConfigException e) {
169 logger.warn(e.getMessage());
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());
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");
194 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
195 } catch (PolicyConfigException e) {
196 logger.warn(e.getMessage());
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());
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");
221 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
222 } catch (PolicyConfigException e) {
223 logger.warn(e.getMessage());
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());
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");
248 policyConfig = policyEngine.getConfig(onapComponentName, configName, configAttributes);
249 } catch (PolicyConfigException e) {
250 logger.warn(e.getMessage());
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());