/**
* Copyright Microsoft Corporation
*
* Licensed 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 com.microsoft.windowsazure.management;
import java.net.URI;
import java.util.ArrayList;
import java.util.Map;
import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
import com.microsoft.windowsazure.core.pipeline.apache.ApacheConfigurationProperties;
import com.microsoft.windowsazure.core.utils.KeyStoreType;
import com.microsoft.windowsazure.Configuration;
import com.microsoft.windowsazure.core.Builder;
import com.microsoft.windowsazure.core.Builder.Alteration;
import com.microsoft.windowsazure.core.Builder.Registry;
import com.microsoft.windowsazure.management.configuration.ManagementConfiguration;
import com.microsoft.windowsazure.management.models.LocationAvailableServiceNames;
import com.microsoft.windowsazure.management.models.LocationsListResponse;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.filter.LoggingFilter;
public abstract class ManagementIntegrationTestBase {
protected static ManagementClient managementClient;
protected static String smLocation = null;
protected static void createService() throws Exception {
// reinitialize configuration from known state
Configuration config = createConfiguration();
config.setProperty(ApacheConfigurationProperties.PROPERTY_RETRY_HANDLER, new DefaultHttpRequestRetryHandler());
// add LoggingFilter to any pipeline that is created
Registry builder = (Registry) config.getBuilder();
builder.alter(ManagementClient.class, Client.class, new Alteration<Client>() {
@Override
public Client alter(String profile, Client client, Builder builder, Map<String, Object> properties) {
client.addFilter(new LoggingFilter());
return client;
}
});
managementClient = ManagementService.create(config);
}
protected static Configuration createConfiguration() throws Exception {
String baseUri = System.getenv(ManagementConfiguration.URI);
return ManagementConfiguration.configure(
baseUri != null ? new URI(baseUri) : null,
System.getenv(ManagementConfiguration.SUBSCRIPTION_ID),
System.getenv(ManagementConfiguration.KEYSTORE_PATH),
System.getenv(ManagementConfiguration.KEYSTORE_PASSWORD),
KeyStoreType.fromString(System.getenv(ManagementConfiguration.KEYSTORE_TYPE))
);
}
protected static void getLocation() throws Exception {
ArrayList<String> serviceName = new ArrayList<String>();
serviceName.add(LocationAvailableServiceNames.STORAGE);
LocationsListResponse locationsListResponse = managementClient.getLocationsOperations().list();
for (LocationsListResponse.Location location : locationsListResponse) {
ArrayList<String> availableServicelist = location.getAvailableServices();
String locationName = location.getName();
if (availableServicelist.containsAll(serviceName)== true) {
if (locationName.contains("West US") == true)
{
smLocation = locationName;
}
if (smLocation==null)
{
smLocation = locationName;
}
}
}
}
}