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