/** * Licensed to jclouds, Inc. (jclouds) under one or more * contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. jclouds licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.jclouds.ibm.smartcloud; import static com.google.common.base.Preconditions.checkNotNull; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Map; import java.util.Properties; import org.jclouds.Constants; import org.jclouds.compute.ComputeTestUtils; import org.jclouds.logging.log4j.config.Log4JLoggingModule; import org.jclouds.rest.RestContext; import org.jclouds.rest.RestContextFactory; import org.jclouds.sshj.config.SshjSshClientModule; import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; import com.google.common.collect.ImmutableSet; import com.google.inject.Module; /** * * @author Adrian Cole */ @Test(groups = "live", singleThreaded = true, testName = "BaseIBMSmartCloudClientLiveTest") public abstract class BaseIBMSmartCloudClientLiveTest { protected RestContext<IBMSmartCloudClient, IBMSmartCloudAsyncClient> context; protected String provider = "ibm-smartcloud"; protected String identity; protected String credential; protected String endpoint; protected String apiVersion; protected IBMSmartCloudClient connection; protected Map<String, String> keyPair; protected void setupCredentials() { identity = checkNotNull(System.getProperty("test." + provider + ".identity"), "test." + provider + ".identity must be set. ex. apiKey"); credential = checkNotNull(System.getProperty("test." + provider + ".credential"), "test." + provider + ".credential must be set. ex. secretKey"); endpoint = System.getProperty("test." + provider + ".endpoint"); apiVersion = System.getProperty("test." + provider + ".api-version"); } protected Properties setupProperties() { Properties overrides = new Properties(); overrides.setProperty(Constants.PROPERTY_TRUST_ALL_CERTS, "true"); overrides.setProperty(Constants.PROPERTY_RELAX_HOSTNAME, "true"); overrides.setProperty(provider + ".identity", identity); overrides.setProperty(provider + ".credential", credential); if (endpoint != null) overrides.setProperty(provider + ".endpoint", endpoint); if (apiVersion != null) overrides.setProperty(provider + ".api-version", apiVersion); return overrides; } @BeforeGroups(groups = "live") public void setupClient() throws FileNotFoundException, IOException { setupCredentials(); Properties overrides = setupProperties(); context = new RestContextFactory().createContext(provider, ImmutableSet.<Module> of(new Log4JLoggingModule(), new SshjSshClientModule()), overrides); connection = context.getApi(); keyPair = ComputeTestUtils.setupKeyPair(); } }