88acc19191993c3d74d86b1b7b1670fc4a7e7c35
[ccsdk/sli.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : CCSDK
4  * ================================================================================
5  * Copyright (C) 2018 Samsung Electronics. All rights reserved.
6  * ================================================================================
7  *
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  *
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.SvcLogicException;
33
34 import java.util.Properties;
35
36 import static org.junit.Assert.assertEquals;
37 import static org.junit.Assert.assertNotNull;
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
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         assertNotNull(propProvider);
70     }
71
72     @Test(expected = SvcLogicException.class)
73     public void reqExecCommand_setPropertiesBasicPortString() throws SvcLogicException,
74             IllegalStateException, IllegalArgumentException {
75         params.put("org.onap.appc.adapter.saltstack.clientType", "BASIC");
76         params.put("org.onap.appc.adapter.saltstack.host", "test");
77         params.put("org.onap.appc.adapter.saltstack.port", "test");
78         params.put("org.onap.appc.adapter.saltstack.userName", "test");
79         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
80         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
81         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
82             @Override
83             public Properties getProperties() {
84                 return params;
85             }
86         };
87         adapter = new SaltstackAdapterImpl(propProvider);
88     }
89
90     @Test
91     public void reqExecCommand_setPropertiesBasicSuccess() throws SvcLogicException,
92             IllegalStateException, IllegalArgumentException {
93         params.put("org.onap.appc.adapter.saltstack.clientType", "BASIC");
94         params.put("org.onap.appc.adapter.saltstack.host", "test");
95         params.put("org.onap.appc.adapter.saltstack.port", "10");
96         params.put("org.onap.appc.adapter.saltstack.userName", "test");
97         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
98         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
99         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
100             @Override
101             public Properties getProperties() {
102                 return params;
103             }
104         };
105         adapter = new SaltstackAdapterImpl(propProvider);
106         assertNotNull(adapter);
107     }
108
109     @Test
110     public void reqExecCommand_setPropertiesSSH_CERTPortNull() throws SvcLogicException,
111             IllegalStateException, IllegalArgumentException {
112         params.put("org.onap.appc.adapter.saltstack.clientType", "SSH_CERT");
113         params.put("User", "test");
114         params.put("Password", "test");
115         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
116             @Override
117             public Properties getProperties() {
118                 return params;
119             }
120         };
121         adapter = new SaltstackAdapterImpl(propProvider);
122         assertNotNull(propProvider);
123     }
124
125     @Test(expected = SvcLogicException.class)
126     public void reqExecCommand_setPropertiesSSH_CERTPortString() throws SvcLogicException,
127             IllegalStateException, IllegalArgumentException {
128         params.put("org.onap.appc.adapter.saltstack.clientType", "SSH_CERT");
129         params.put("org.onap.appc.adapter.saltstack.host", "test");
130         params.put("org.onap.appc.adapter.saltstack.port", "test");
131         params.put("org.onap.appc.adapter.saltstack.userName", "test");
132         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
133         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
134         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
135             @Override
136             public Properties getProperties() {
137                 return params;
138             }
139         };
140         adapter = new SaltstackAdapterImpl(propProvider);
141     }
142
143     @Test
144     public void reqExecCommand_setPropertiesSSH_CERTSuccess() throws SvcLogicException,
145             IllegalStateException, IllegalArgumentException {
146         params.put("org.onap.appc.adapter.saltstack.clientType", "SSH_CERT");
147         params.put("org.onap.appc.adapter.saltstack.host", "test");
148         params.put("org.onap.appc.adapter.saltstack.port", "10");
149         params.put("org.onap.appc.adapter.saltstack.userName", "test");
150         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
151         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
152         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
153             @Override
154             public Properties getProperties() {
155                 return params;
156             }
157         };
158         adapter = new SaltstackAdapterImpl(propProvider);
159         assertNotNull(propProvider);
160     }
161
162     @Test
163     public void reqExecCommand_setPropertiesBOTHPortNull() throws SvcLogicException,
164             IllegalStateException, IllegalArgumentException {
165         params.put("org.onap.appc.adapter.saltstack.clientType", "BOTH");
166         params.put("User", "test");
167         params.put("Password", "test");
168         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
169             @Override
170             public Properties getProperties() {
171                 return params;
172             }
173         };
174         adapter = new SaltstackAdapterImpl(propProvider);
175         assertNotNull(propProvider);
176     }
177
178     @Test
179     public void reqExecCommand_setPropertiesBOTHSuccess() 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", "10");
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         assertNotNull(propProvider);
195     }
196
197     @Test
198     public void reqExecCommand_setPropertiesNonePortNull() throws SvcLogicException,
199             IllegalStateException, IllegalArgumentException {
200         params.put("org.onap.appc.adapter.saltstack.clientType", "NONE");
201         params.put("User", "test");
202         params.put("Password", "test");
203         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
204             @Override
205             public Properties getProperties() {
206                 return params;
207             }
208         };
209         adapter = new SaltstackAdapterImpl(propProvider);
210         assertNotNull(propProvider);
211     }
212
213     @Test
214     public void reqExecCommand_setPropertiesNonePortString() throws SvcLogicException,
215             IllegalStateException, IllegalArgumentException {
216         params.put("org.onap.appc.adapter.saltstack.clientType", "NONE");
217         params.put("org.onap.appc.adapter.saltstack.host", "test");
218         params.put("org.onap.appc.adapter.saltstack.port", "test");
219         params.put("org.onap.appc.adapter.saltstack.userName", "test");
220         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
221         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
222         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
223             @Override
224             public Properties getProperties() {
225                 return params;
226             }
227         };
228         adapter = new SaltstackAdapterImpl(propProvider);
229         assertNotNull(propProvider);
230     }
231
232     @Test
233     public void reqExecCommand_setPropertiesNoneSuccess() throws SvcLogicException,
234             IllegalStateException, IllegalArgumentException {
235         params.put("org.onap.appc.adapter.saltstack.clientType", "NONE");
236         params.put("org.onap.appc.adapter.saltstack.host", "test");
237         params.put("org.onap.appc.adapter.saltstack.port", "10");
238         params.put("org.onap.appc.adapter.saltstack.userName", "test");
239         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
240         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
241         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
242             @Override
243             public Properties getProperties() {
244                 return params;
245             }
246         };
247         adapter = new SaltstackAdapterImpl(propProvider);
248         assertNotNull(propProvider);
249     }
250
251
252     @Test
253     public void reqExecCommand_setPropertiesElsePortNull() throws SvcLogicException,
254             IllegalStateException, IllegalArgumentException {
255         params.put("User", "test");
256         params.put("Password", "test");
257         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
258             @Override
259             public Properties getProperties() {
260                 return params;
261             }
262         };
263         adapter = new SaltstackAdapterImpl(propProvider);
264         assertNotNull(propProvider);
265     }
266
267     @Test
268     public void reqExecCommand_setPropertiesElsePortString() throws SvcLogicException,
269             IllegalStateException, IllegalArgumentException {
270         params.put("org.onap.appc.adapter.saltstack.host", "test");
271         params.put("org.onap.appc.adapter.saltstack.port", "test");
272         params.put("org.onap.appc.adapter.saltstack.userName", "test");
273         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
274         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
275         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
276             @Override
277             public Properties getProperties() {
278                 return params;
279             }
280         };
281         adapter = new SaltstackAdapterImpl(propProvider);
282         assertNotNull(propProvider);
283     }
284
285     @Test
286     public void reqExecCommand_setPropertiesElseSuccess() throws SvcLogicException,
287             IllegalStateException, IllegalArgumentException {
288         params.put("org.onap.appc.adapter.saltstack.host", "test");
289         params.put("org.onap.appc.adapter.saltstack.port", "10");
290         params.put("org.onap.appc.adapter.saltstack.userName", "test");
291         params.put("org.onap.appc.adapter.saltstack.userPasswd", "test");
292         params.put("org.onap.appc.adapter.saltstack.sshKey", "test");
293         SaltstackAdapterPropertiesProvider propProvider = new SaltstackAdapterPropertiesProvider() {
294             @Override
295             public Properties getProperties() {
296                 return params;
297             }
298         };
299         adapter = new SaltstackAdapterImpl(propProvider);
300         String adaptorName = adapter.getAdapterName();
301         assertEquals("Saltstack Adapter", adaptorName);
302     }
303
304     @Test
305     public void reqExecCommand_setPropertiesDefault() throws SvcLogicException,
306             IllegalStateException, IllegalArgumentException {
307         adapter = new SaltstackAdapterImpl();
308         assertNotNull(adapter);
309     }
310 }