2 * ============LICENSE_START=======================================================
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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.policy.test;
23 import java.util.HashMap;
25 import java.util.UUID;
27 import org.junit.Test;
28 import org.mockito.Mockito;
29 import org.onap.policy.api.AttributeType;
30 import org.onap.policy.api.PolicyChangeResponse;
31 import org.onap.policy.api.PolicyConfigType;
32 import org.onap.policy.api.PolicyEngine;
33 import org.onap.policy.api.PolicyEngineException;
34 import org.onap.policy.api.PolicyParameters;
35 import org.onap.policy.api.PolicyType;
36 import org.onap.policy.common.logging.flexlogger.FlexLogger;
37 import org.onap.policy.common.logging.flexlogger.Logger;
38 import org.onap.policy.std.StdPolicyChangeResponse;
40 import junit.framework.TestCase;
43 * The class <code>ConfigBasePolicyTest</code> contains tests for the class
44 * {@link <code>PolicyEngine</code>}
46 * @pattern JUnit Test Case
49 public class ConfigBasePolicyTest extends TestCase {
51 private static final Logger logger = FlexLogger.getLogger(DecisionPolicyApiTest.class);
53 private PolicyEngine policyEngine = null;
54 private PolicyEngine mockPolicyEngine = null;
56 PolicyChangeResponse result = null;
57 StdPolicyChangeResponse response = new StdPolicyChangeResponse();
58 PolicyParameters policyParameters = new PolicyParameters();
61 * Perform pre-test initialization
65 * @see TestCase#setUp()
67 public void setUp() throws Exception {
69 policyEngine = new PolicyEngine("Test/config_pass.properties");
70 } catch (PolicyEngineException e) {
71 logger.error(e.getMessage());
72 fail("PolicyEngine Instantiation Error" + e);
74 logger.info("Loaded.. PolicyEngine");
76 mockPolicyEngine = Mockito.mock(PolicyEngine.class);
78 policyParameters.setPolicyConfigType(PolicyConfigType.Base); //required
79 policyParameters.setPolicyName("test.junitTest"); //required
80 policyParameters.setOnapName("test");
81 policyParameters.setConfigName("testBase");
82 policyParameters.setConfigBodyType(PolicyType.OTHER);
83 policyParameters.setConfigBody("testing");
84 policyParameters.setPolicyDescription("testing"); //optional
85 //policyParameters.setPolicyScope("test"); //Directory will be created where the Policies are saved... this displays a a subscope on the GUI
87 //Set the Component Attributes... These are Optional
88 Map<String, String> configAttributes = new HashMap<String, String>();
89 configAttributes.put("test", "testing");
91 Map<AttributeType, Map<String,String>> attributes = new HashMap<AttributeType, Map<String,String>>();
92 attributes.put(AttributeType.MATCHING, configAttributes);
93 policyParameters.setAttributes(attributes);
95 policyParameters.setRequestID(UUID.randomUUID());
99 * Perform post-test clean up
103 * @see TestCase#tearDown()
105 public void tearDown() throws Exception {
107 // Add additional tear down code here
111 * Run the PolicyChangeResponse createPolicy(PolicyParameters) method test
113 public void testCreatePolicy() {
114 response.setResponseMessage("success");
115 PolicyChangeResponse result = null;
118 Mockito.when(mockPolicyEngine.createPolicy(policyParameters)).thenReturn(response);
119 result = mockPolicyEngine.createPolicy(policyParameters);
121 } catch (Exception e) {
122 logger.warn(e.getMessage());
124 assertEquals(result, response);
128 * Run the String createConfigPolicy() method test
130 @SuppressWarnings("deprecation")
132 public void testCreateConfigPolicy() {
133 String response = "success";
134 String result = null;
137 Mockito.when(mockPolicyEngine.createConfigPolicy("testPolicy","test","test","testConfig",null,"OTHER","test","test",null, null, null, null, null)).thenReturn(response);
138 result = mockPolicyEngine.createConfigPolicy("testPolicy","test","test","testConfig",null,"OTHER","test","test",null, null, null, null, null);
140 } catch (Exception e) {
141 logger.warn(e.getMessage());
143 assertEquals(result, response);
147 * Run the PolicyChangeResponse updatePolicy(PolicyParameters) method test
149 public void testUpdatePolicy() {
150 response.setResponseMessage("success");
151 PolicyChangeResponse result = null;
154 Mockito.when(mockPolicyEngine.updatePolicy(policyParameters)).thenReturn(response);
155 result = mockPolicyEngine.updatePolicy(policyParameters);
157 } catch (Exception e) {
158 logger.warn(e.getMessage());
160 assertEquals(result, response);
164 * Run the String updateConfigPolicy() method test
166 @SuppressWarnings("deprecation")
168 public void testUpdateConfigPolicy() {
169 String response = "success";
170 String result = null;
173 Mockito.when(mockPolicyEngine.updateConfigPolicy("testPolicy","test","test","testConfig",null,"OTHER","test","test",null, null, null, null, null)).thenReturn(response);
174 result = mockPolicyEngine.updateConfigPolicy("testPolicy","test","test","testConfig",null,"OTHER","test","test",null, null, null, null, null);
176 } catch (Exception e) {
177 logger.warn(e.getMessage());
179 assertEquals(result, response);
183 public final void testCreatePolicyNullPolicyName() {
184 response.setResponseMessage("PE300 - Data Issue: No Policy Name given.");
185 policyParameters.setPolicyName(null);
187 result = policyEngine.createPolicy(policyParameters);
188 } catch (Exception e){
189 logger.warn(e.getMessage());
191 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
195 public final void testCreatePolicyNullPolicyScope() {
196 response.setResponseMessage("PE300 - Data Issue: No Policy Scope given.");
197 policyParameters.setPolicyName("test");
199 result = policyEngine.createPolicy(policyParameters);
200 } catch (Exception e){
201 logger.warn(e.getMessage());
203 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
207 public final void testCreatePolicyNullOnapName() {
208 response.setResponseMessage("PE300 - Data Issue: No ONAP Name given.");
209 policyParameters.setOnapName(null);
211 result = policyEngine.createPolicy(policyParameters);
212 } catch (Exception e){
213 logger.warn(e.getMessage());
215 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
219 public final void testCreatePolicyNullPolicyConfigName() {
220 response.setResponseMessage("PE300 - Data Issue: No Config Name given.");
221 policyParameters.setConfigName(null);;
223 result = policyEngine.createPolicy(policyParameters);
224 } catch (Exception e){
225 logger.warn(e.getMessage());
227 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
231 public final void testCreatePolicyNullPolicyConfigBodyType() {
232 response.setResponseMessage("PE300 - Data Issue: No Config Body Type given.");
233 policyParameters.setConfigBodyType(null);
235 result = policyEngine.createPolicy(policyParameters);
236 } catch (Exception e){
237 logger.warn(e.getMessage());
239 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
243 public final void testCreatePolicyNullPolicyConfigBody() {
244 response.setResponseMessage("PE300 - Data Issue: No Config Body given.");
245 policyParameters.setConfigBody(null);
247 result = policyEngine.createPolicy(policyParameters);
248 } catch (Exception e){
249 logger.warn(e.getMessage());
251 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
255 public final void testUpdatePolicyNullPolicyName() {
256 response.setResponseMessage("PE300 - Data Issue: No Policy Name given.");
257 policyParameters.setPolicyName(null);
259 result = policyEngine.updatePolicy(policyParameters);
260 } catch (Exception e){
261 logger.warn(e.getMessage());
263 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
267 public final void testUpdatePolicyNullPolicyScope() {
268 response.setResponseMessage("PE300 - Data Issue: No Policy Scope given.");
269 policyParameters.setPolicyName("test");
271 result = policyEngine.updatePolicy(policyParameters);
272 } catch (Exception e){
273 logger.warn(e.getMessage());
275 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
279 public final void testUpdatePolicyNullOnapName() {
280 response.setResponseMessage("PE300 - Data Issue: No ONAP Name given.");
281 policyParameters.setOnapName(null);
283 result = policyEngine.updatePolicy(policyParameters);
284 } catch (Exception e){
285 logger.warn(e.getMessage());
287 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
291 public final void testUpdatePolicyNullPolicyConfigName() {
292 response.setResponseMessage("PE300 - Data Issue: No Config Name given.");
293 policyParameters.setConfigName(null);;
295 result = policyEngine.createPolicy(policyParameters);
296 } catch (Exception e){
297 logger.warn(e.getMessage());
299 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
303 public final void testUpdatePolicyNullPolicyConfigBodyType() {
304 response.setResponseMessage("PE300 - Data Issue: No Config Body Type given.");
305 policyParameters.setConfigBodyType(null);
307 result = policyEngine.createPolicy(policyParameters);
308 } catch (Exception e){
309 logger.warn(e.getMessage());
311 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
315 public final void testUpdatePolicyNullPolicyConfigBody() {
316 response.setResponseMessage("PE300 - Data Issue: No Config Body given.");
317 policyParameters.setConfigBody(null);
319 result = policyEngine.createPolicy(policyParameters);
320 } catch (Exception e){
321 logger.warn(e.getMessage());
323 //assertEquals(result.getResponseMessage(), response.getResponseMessage());