Merge "Fix sonar issue in AAIClientRESTExecutor"
[ccsdk/sli/adaptors.git] / saltstack-adapter / saltstack-adapter-provider / src / test / java / org / onap / appc / adapter / impl / TestSaltstackAdapterPropertiesProviderImpl.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
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  *
21  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  * ============LICENSE_END=========================================================
23  */
24
25 package org.onap.appc.adapter.impl;
26
27 import org.junit.After;
28 import org.junit.Before;
29 import org.junit.Test;
30 import org.onap.ccsdk.sli.adaptors.saltstack.SaltstackAdapterPropertiesProvider;
31 import org.onap.ccsdk.sli.adaptors.saltstack.impl.SaltstackAdapterImpl;
32 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
33 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
34
35 import java.util.Properties;
36
37 import static org.junit.Assert.assertEquals;
38
39 public class TestSaltstackAdapterPropertiesProviderImpl {
40     private final String PENDING = "100";
41     private final String SUCCESS = "400";
42     private String message = "{\"Results\":{\"192.168.1.10\":{\"Id\":\"101\",\"StatusCode\":200,\"StatusMessage\":\"SUCCESS\"}},\"StatusCode\":200,\"StatusMessage\":\"FINISHED\"}";
43
44     private SaltstackAdapterImpl adapter;
45     private Properties params;
46     private SvcLogicContext svcContext;
47
48
49     @Before
50     public void setup() throws IllegalArgumentException {
51         params = new Properties();
52     }
53
54     @After
55     public void tearDown() {
56         adapter = null;
57         params = null;
58         svcContext = null;
59     }
60
61     @Test(expected = SvcLogicException.class)
62     public void reqExecCommand_setPropertiesBasicPortNull() throws SvcLogicException,
63             IllegalStateException, IllegalArgumentException {
64         params.put("org.onap.appc.adapter.saltstack.clientType", "BASIC");
65         params.put("User", "test");
66         params.put("Password", "test");
67         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
68             @Override
69             public Properties getProperties() {
70                 return params;
71             }
72         };
73         adapter = new SaltstackAdapterImpl(propProvider);
74     }
75
76     @Test(expected = SvcLogicException.class)
77     public void reqExecCommand_setPropertiesBasicPortString() throws SvcLogicException,
78             IllegalStateException, IllegalArgumentException {
79         params.put("org.onap.appc.adapter.saltstack.clientType", "BASIC");
80         params.put("org.onap.appc.adapter.saltstack.host", "test");
81         params.put("org.onap.appc.adapter.saltstack.port", "test");
82         params.put("org.onap.appc.adapter.saltstack.userName", "test");
83         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
84         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
85         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
86             @Override
87             public Properties getProperties() {
88                 return params;
89             }
90         };
91         adapter = new SaltstackAdapterImpl(propProvider);
92     }
93
94     @Test
95     public void reqExecCommand_setPropertiesBasicSuccess() throws SvcLogicException,
96             IllegalStateException, IllegalArgumentException {
97         params.put("org.onap.appc.adapter.saltstack.clientType", "BASIC");
98         params.put("org.onap.appc.adapter.saltstack.host", "test");
99         params.put("org.onap.appc.adapter.saltstack.port", "10");
100         params.put("org.onap.appc.adapter.saltstack.userName", "test");
101         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
102         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
103         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
104             @Override
105             public Properties getProperties() {
106                 return params;
107             }
108         };
109         adapter = new SaltstackAdapterImpl(propProvider);
110     }
111
112     @Test(expected = SvcLogicException.class)
113     public void reqExecCommand_setPropertiesSSH_CERTPortNull() throws SvcLogicException,
114             IllegalStateException, IllegalArgumentException {
115         params.put("org.onap.appc.adapter.saltstack.clientType", "SSH_CERT");
116         params.put("User", "test");
117         params.put("Password", "test");
118         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
119             @Override
120             public Properties getProperties() {
121                 return params;
122             }
123         };
124         adapter = new SaltstackAdapterImpl(propProvider);
125     }
126
127     @Test(expected = SvcLogicException.class)
128     public void reqExecCommand_setPropertiesSSH_CERTPortString() throws SvcLogicException,
129             IllegalStateException, IllegalArgumentException {
130         params.put("org.onap.appc.adapter.saltstack.clientType", "SSH_CERT");
131         params.put("org.onap.appc.adapter.saltstack.host", "test");
132         params.put("org.onap.appc.adapter.saltstack.port", "test");
133         params.put("org.onap.appc.adapter.saltstack.userName", "test");
134         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
135         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
136         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
137             @Override
138             public Properties getProperties() {
139                 return params;
140             }
141         };
142         adapter = new SaltstackAdapterImpl(propProvider);
143     }
144
145     @Test
146     public void reqExecCommand_setPropertiesSSH_CERTSuccess() throws SvcLogicException,
147             IllegalStateException, IllegalArgumentException {
148         params.put("org.onap.appc.adapter.saltstack.clientType", "SSH_CERT");
149         params.put("org.onap.appc.adapter.saltstack.host", "test");
150         params.put("org.onap.appc.adapter.saltstack.port", "10");
151         params.put("org.onap.appc.adapter.saltstack.userName", "test");
152         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
153         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
154         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
155             @Override
156             public Properties getProperties() {
157                 return params;
158             }
159         };
160         adapter = new SaltstackAdapterImpl(propProvider);
161     }
162
163     @Test(expected = SvcLogicException.class)
164     public void reqExecCommand_setPropertiesBOTHPortNull() throws SvcLogicException,
165             IllegalStateException, IllegalArgumentException {
166         params.put("org.onap.appc.adapter.saltstack.clientType", "BOTH");
167         params.put("User", "test");
168         params.put("Password", "test");
169         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
170             @Override
171             public Properties getProperties() {
172                 return params;
173             }
174         };
175         adapter = new SaltstackAdapterImpl(propProvider);
176     }
177
178     @Test(expected = SvcLogicException.class)
179     public void reqExecCommand_setPropertiesBOTHPortString() throws SvcLogicException,
180             IllegalStateException, IllegalArgumentException {
181         params.put("org.onap.appc.adapter.saltstack.clientType", "BOTH");
182         params.put("org.onap.appc.adapter.saltstack.host", "test");
183         params.put("org.onap.appc.adapter.saltstack.port", "test");
184         params.put("org.onap.appc.adapter.saltstack.userName", "test");
185         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
186         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
187         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
188             @Override
189             public Properties getProperties() {
190                 return params;
191             }
192         };
193         adapter = new SaltstackAdapterImpl(propProvider);
194     }
195
196     @Test
197     public void reqExecCommand_setPropertiesBOTHSuccess() throws SvcLogicException,
198             IllegalStateException, IllegalArgumentException {
199         params.put("org.onap.appc.adapter.saltstack.clientType", "BOTH");
200         params.put("org.onap.appc.adapter.saltstack.host", "test");
201         params.put("org.onap.appc.adapter.saltstack.port", "10");
202         params.put("org.onap.appc.adapter.saltstack.userName", "test");
203         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
204         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
205         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
206             @Override
207             public Properties getProperties() {
208                 return params;
209             }
210         };
211         adapter = new SaltstackAdapterImpl(propProvider);
212     }
213
214     @Test
215     public void reqExecCommand_setPropertiesNonePortNull() throws SvcLogicException,
216             IllegalStateException, IllegalArgumentException {
217         params.put("org.onap.appc.adapter.saltstack.clientType", "NONE");
218         params.put("User", "test");
219         params.put("Password", "test");
220         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
221             @Override
222             public Properties getProperties() {
223                 return params;
224             }
225         };
226         adapter = new SaltstackAdapterImpl(propProvider);
227     }
228
229     @Test
230     public void reqExecCommand_setPropertiesNonePortString() throws SvcLogicException,
231             IllegalStateException, IllegalArgumentException {
232         params.put("org.onap.appc.adapter.saltstack.clientType", "NONE");
233         params.put("org.onap.appc.adapter.saltstack.host", "test");
234         params.put("org.onap.appc.adapter.saltstack.port", "test");
235         params.put("org.onap.appc.adapter.saltstack.userName", "test");
236         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
237         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
238         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
239             @Override
240             public Properties getProperties() {
241                 return params;
242             }
243         };
244         adapter = new SaltstackAdapterImpl(propProvider);
245     }
246
247     @Test
248     public void reqExecCommand_setPropertiesNoneSuccess() throws SvcLogicException,
249             IllegalStateException, IllegalArgumentException {
250         params.put("org.onap.appc.adapter.saltstack.clientType", "NONE");
251         params.put("org.onap.appc.adapter.saltstack.host", "test");
252         params.put("org.onap.appc.adapter.saltstack.port", "10");
253         params.put("org.onap.appc.adapter.saltstack.userName", "test");
254         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
255         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
256         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
257             @Override
258             public Properties getProperties() {
259                 return params;
260             }
261         };
262         adapter = new SaltstackAdapterImpl(propProvider);
263     }
264
265
266
267     @Test
268     public void reqExecCommand_setPropertiesElsePortNull() throws SvcLogicException,
269             IllegalStateException, IllegalArgumentException {
270         params.put("User", "test");
271         params.put("Password", "test");
272         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
273             @Override
274             public Properties getProperties() {
275                 return params;
276             }
277         };
278         adapter = new SaltstackAdapterImpl(propProvider);
279     }
280
281     @Test
282     public void reqExecCommand_setPropertiesElsePortString() throws SvcLogicException,
283             IllegalStateException, IllegalArgumentException {
284         params.put("org.onap.appc.adapter.saltstack.host", "test");
285         params.put("org.onap.appc.adapter.saltstack.port", "test");
286         params.put("org.onap.appc.adapter.saltstack.userName", "test");
287         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
288         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
289         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
290             @Override
291             public Properties getProperties() {
292                 return params;
293             }
294         };
295         adapter = new SaltstackAdapterImpl(propProvider);
296     }
297
298     @Test
299     public void reqExecCommand_setPropertiesElseSuccess() throws SvcLogicException,
300             IllegalStateException, IllegalArgumentException {
301         params.put("org.onap.appc.adapter.saltstack.host", "test");
302         params.put("org.onap.appc.adapter.saltstack.port", "10");
303         params.put("org.onap.appc.adapter.saltstack.userName", "test");
304         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
305         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
306         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
307             @Override
308             public Properties getProperties() {
309                 return params;
310             }
311         };
312         adapter = new SaltstackAdapterImpl(propProvider);
313         String adaptorName = adapter.getAdapterName();
314         assertEquals("Saltstack Adapter", adaptorName);
315         adapter.setExecTimeout(10);
316     }
317
318     @Test
319     public void reqExecCommand_setPropertiesDefault() throws SvcLogicException,
320             IllegalStateException, IllegalArgumentException {
321         adapter = new SaltstackAdapterImpl();
322     }
323 }