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