2  * ============LICENSE_START=======================================================
 
   4  * ================================================================================
 
   5  * Copyright (C) 2018 Samsung Electronics. All rights reserved.
 
   6  * ================================================================================
 
   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
 
  13  *      http://www.apache.org/licenses/LICENSE-2.0
 
  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.
 
  22  * ============LICENSE_END=========================================================
 
  25 package org.onap.ccsdk.adapter.impl;
 
  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;
 
  35 import java.util.Properties;
 
  37 import static org.junit.Assert.assertEquals;
 
  39 public class TestSaltstackAdapterPropertiesProviderImpl {
 
  41     private SaltstackAdapterImpl adapter;
 
  42     private Properties params;
 
  46     public void setup() throws IllegalArgumentException {
 
  47         params = new Properties();
 
  51     public void tearDown() {
 
  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() {
 
  64             public Properties getProperties() {
 
  68         adapter = new SaltstackAdapterImpl(propProvider);
 
  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() {
 
  82             public Properties getProperties() {
 
  86         adapter = new SaltstackAdapterImpl(propProvider);
 
  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() {
 
 100             public Properties getProperties() {
 
 104         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 115             public Properties getProperties() {
 
 119         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 133             public Properties getProperties() {
 
 137         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 151             public Properties getProperties() {
 
 155         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 166             public Properties getProperties() {
 
 170         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 184             public Properties getProperties() {
 
 188         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 202             public Properties getProperties() {
 
 206         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 217             public Properties getProperties() {
 
 221         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 235             public Properties getProperties() {
 
 239         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 253             public Properties getProperties() {
 
 257         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 269             public Properties getProperties() {
 
 273         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 286             public Properties getProperties() {
 
 290         adapter = new SaltstackAdapterImpl(propProvider);
 
 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() {
 
 303             public Properties getProperties() {
 
 307         adapter = new SaltstackAdapterImpl(propProvider);
 
 308         String adaptorName = adapter.getAdapterName();
 
 309         assertEquals("Saltstack Adapter", adaptorName);
 
 313     public void reqExecCommand_setPropertiesDefault() throws SvcLogicException,
 
 314             IllegalStateException, IllegalArgumentException {
 
 315         adapter = new SaltstackAdapterImpl();