Fixes for sonar critical issues
[policy/engine.git] / PolicyEngineAPI / src / test / java / org / onap / policy / test / ConfigBasePolicyTest.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 java.util.HashMap;
24 import java.util.Map;
25 import java.util.UUID;
26
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;
39
40 import junit.framework.TestCase; 
41
42 /**
43  * The class <code>ConfigBasePolicyTest</code> contains tests for the class
44  * {@link <code>PolicyEngine</code>}
45  *
46  * @pattern JUnit Test Case
47  * *
48  */
49 public class ConfigBasePolicyTest extends TestCase {
50
51         private static final Logger logger = FlexLogger.getLogger(DecisionPolicyApiTest.class);
52
53         private PolicyEngine policyEngine = null;
54         private PolicyEngine mockPolicyEngine = null;
55         
56         PolicyChangeResponse result = null;
57         StdPolicyChangeResponse response = new StdPolicyChangeResponse();
58         PolicyParameters policyParameters = new PolicyParameters();
59
60         /**
61          * Perform pre-test initialization
62          *
63          * @throws Exception
64          *
65          * @see TestCase#setUp()
66          */
67         public void setUp() throws Exception {
68                 try {
69                         policyEngine = new PolicyEngine("Test/config_pass.properties");
70                 } catch (PolicyEngineException e) {
71                         logger.error(e.getMessage());
72                         fail("PolicyEngine Instantiation Error" + e);
73                 }
74                 logger.info("Loaded.. PolicyEngine");
75                 
76                 mockPolicyEngine = Mockito.mock(PolicyEngine.class);
77
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
86         
87         //Set the Component Attributes... These are Optional
88         Map<String, String> configAttributes = new HashMap<String, String>(); 
89         configAttributes.put("test", "testing");
90         
91         Map<AttributeType, Map<String,String>> attributes = new HashMap<AttributeType, Map<String,String>>();
92         attributes.put(AttributeType.MATCHING, configAttributes);
93         policyParameters.setAttributes(attributes);
94
95         policyParameters.setRequestID(UUID.randomUUID());
96         }
97
98         /**
99          * Perform post-test clean up
100          *
101          * @throws Exception
102          *
103          * @see TestCase#tearDown()
104          */
105         public void tearDown() throws Exception {
106                 super.tearDown();
107                 // Add additional tear down code here
108         }
109
110         /**
111          * Run the PolicyChangeResponse createPolicy(PolicyParameters) method test
112          */
113         public void testCreatePolicy() {
114                 response.setResponseMessage("success");
115                 PolicyChangeResponse result = null;
116                 try {
117                 
118                         Mockito.when(mockPolicyEngine.createPolicy(policyParameters)).thenReturn(response);
119                         result = mockPolicyEngine.createPolicy(policyParameters);
120                         
121                 } catch (Exception e) {
122                         logger.warn(e.getMessage());
123                 }
124                 assertEquals(result, response);
125         }
126         
127         /**
128          * Run the String createConfigPolicy() method test
129          */
130         @SuppressWarnings("deprecation")
131         @Test
132         public void testCreateConfigPolicy() {
133                 String response = "success";
134                 String result = null;
135                 try {
136                 
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);
139
140                 } catch (Exception e) {
141                         logger.warn(e.getMessage());
142                 }
143                 assertEquals(result, response);
144         }
145
146         /**
147          * Run the PolicyChangeResponse updatePolicy(PolicyParameters) method test
148          */
149         public void testUpdatePolicy() {
150                 response.setResponseMessage("success");
151                 PolicyChangeResponse result = null;
152                 try {
153                 
154                         Mockito.when(mockPolicyEngine.updatePolicy(policyParameters)).thenReturn(response);
155                         result = mockPolicyEngine.updatePolicy(policyParameters);
156                         
157                 } catch (Exception e) {
158                         logger.warn(e.getMessage());
159                 }
160                 assertEquals(result, response);
161         }
162         
163         /**
164          * Run the String updateConfigPolicy() method test
165          */
166         @SuppressWarnings("deprecation")
167         @Test
168         public void testUpdateConfigPolicy() {
169                 String response = "success";
170                 String result = null;
171                 try {
172                 
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);
175
176                 } catch (Exception e) {
177                         logger.warn(e.getMessage());
178                 }
179                 assertEquals(result, response);
180         }
181         
182         @Test
183         public final void testCreatePolicyNullPolicyName() {
184                 response.setResponseMessage("PE300 - Data Issue: No Policy Name given.");
185                 policyParameters.setPolicyName(null);
186                 try{
187                         result = policyEngine.createPolicy(policyParameters);
188                 } catch (Exception e){
189                         logger.warn(e.getMessage());
190                 }
191                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
192         }
193         
194         @Test
195         public final void testCreatePolicyNullPolicyScope() {
196                 response.setResponseMessage("PE300 - Data Issue: No Policy Scope given.");
197                 policyParameters.setPolicyName("test");
198                 try{
199                         result = policyEngine.createPolicy(policyParameters);
200                 } catch (Exception e){
201                         logger.warn(e.getMessage());
202                 }
203                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
204         }
205         
206         @Test
207         public final void testCreatePolicyNullOnapName() {
208                 response.setResponseMessage("PE300 - Data Issue: No ONAP Name given.");
209                 policyParameters.setOnapName(null);
210                 try{
211                         result = policyEngine.createPolicy(policyParameters);
212                 } catch (Exception e){
213                         logger.warn(e.getMessage());
214                 }
215                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
216         }
217         
218         @Test
219         public final void testCreatePolicyNullPolicyConfigName() {
220                 response.setResponseMessage("PE300 - Data Issue: No Config Name given.");
221                 policyParameters.setConfigName(null);;
222                 try{
223                         result = policyEngine.createPolicy(policyParameters);
224                 } catch (Exception e){
225                         logger.warn(e.getMessage());
226                 }
227                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
228         }
229         
230         @Test
231         public final void testCreatePolicyNullPolicyConfigBodyType() {
232                 response.setResponseMessage("PE300 - Data Issue: No Config Body Type given.");
233                 policyParameters.setConfigBodyType(null);
234                 try{
235                         result = policyEngine.createPolicy(policyParameters);
236                 } catch (Exception e){
237                         logger.warn(e.getMessage());
238                 }
239                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
240         }
241         
242         @Test
243         public final void testCreatePolicyNullPolicyConfigBody() {
244                 response.setResponseMessage("PE300 - Data Issue: No Config Body given.");
245                 policyParameters.setConfigBody(null);
246                 try{
247                         result = policyEngine.createPolicy(policyParameters);
248                 } catch (Exception e){
249                         logger.warn(e.getMessage());
250                 }
251                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
252         }
253         
254         @Test
255         public final void testUpdatePolicyNullPolicyName() {
256                 response.setResponseMessage("PE300 - Data Issue: No Policy Name given.");
257                 policyParameters.setPolicyName(null);
258                 try{
259                         result = policyEngine.updatePolicy(policyParameters);
260                 } catch (Exception e){
261                         logger.warn(e.getMessage());
262                 }
263                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
264         }
265         
266         @Test
267         public final void testUpdatePolicyNullPolicyScope() {
268                 response.setResponseMessage("PE300 - Data Issue: No Policy Scope given.");
269                 policyParameters.setPolicyName("test");
270                 try{
271                         result = policyEngine.updatePolicy(policyParameters);
272                 } catch (Exception e){
273                         logger.warn(e.getMessage());
274                 }
275                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
276         }
277         
278         @Test
279         public final void testUpdatePolicyNullOnapName() {
280                 response.setResponseMessage("PE300 - Data Issue: No ONAP Name given.");
281                 policyParameters.setOnapName(null);
282                 try{
283                         result = policyEngine.updatePolicy(policyParameters);
284                 } catch (Exception e){
285                         logger.warn(e.getMessage());
286                 }
287                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
288         }
289         
290         @Test
291         public final void testUpdatePolicyNullPolicyConfigName() {
292                 response.setResponseMessage("PE300 - Data Issue: No Config Name given.");
293                 policyParameters.setConfigName(null);;
294                 try{
295                         result = policyEngine.createPolicy(policyParameters);
296                 } catch (Exception e){
297                         logger.warn(e.getMessage());
298                 }
299                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
300         }
301         
302         @Test
303         public final void testUpdatePolicyNullPolicyConfigBodyType() {
304                 response.setResponseMessage("PE300 - Data Issue: No Config Body Type given.");
305                 policyParameters.setConfigBodyType(null);
306                 try{
307                         result = policyEngine.createPolicy(policyParameters);
308                 } catch (Exception e){
309                         logger.warn(e.getMessage());
310                 }
311                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
312         }
313         
314         @Test
315         public final void testUpdatePolicyNullPolicyConfigBody() {
316                 response.setResponseMessage("PE300 - Data Issue: No Config Body given.");
317                 policyParameters.setConfigBody(null);
318                 try{
319                         result = policyEngine.createPolicy(policyParameters);
320                 } catch (Exception e){
321                         logger.warn(e.getMessage());
322                 }
323                 //assertEquals(result.getResponseMessage(), response.getResponseMessage());
324         }
325 }