JCLOUDS-423 - Adds support for Rackspace Cloud Files UK provider.

This commit is contained in:
Jeremy Daggett 2014-03-03 15:10:40 -08:00 committed by Zack Shoylev
parent 2ca0dac76c
commit 07d234a09f
23 changed files with 664 additions and 17 deletions

View File

@ -20,11 +20,10 @@ import org.jclouds.rackspace.cloudfiles.v1.internal.BaseCloudFilesApiLiveTest;
import org.testng.annotations.Test;
/**
* Tests behavior of {@code CloudFilesApi}
* Tests live behavior of {@code CloudFilesApi}.
*
* @author Jeremy Daggett
*/
@Test(groups = "live", testName = "CloudFilesApiLiveTest")
public class CloudFilesApiLiveTest extends BaseCloudFilesApiLiveTest {
}
}

View File

@ -1,4 +1,3 @@
package org.jclouds.rackspace.cloudfiles.v1;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@ -15,6 +14,7 @@ package org.jclouds.rackspace.cloudfiles.v1;
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.rackspace.cloudfiles.v1;
import org.jclouds.View;
import org.jclouds.apis.internal.BaseApiMetadataTest;
@ -24,6 +24,7 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.reflect.TypeToken;
/**
* Tests the behavior of {@link CloudFilesApiMetadata}.
*
* @author Jeremy Daggett
*/

View File

@ -24,13 +24,12 @@ import org.jclouds.http.HttpRequest;
import org.jclouds.openstack.v2_0.internal.BaseOpenStackMockTest;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import org.jclouds.rackspace.cloudfiles.v1.reference.CloudFilesHeaders;
import org.testng.Assert;
import org.testng.annotations.Test;
import com.google.common.collect.ImmutableList;
/**
* Tests behavior of {@code BindCDNPurgeEmailAddressesToHeaders}
* Tests the behavior of {@code BindCDNPurgeEmailAddressesToHeaders}.
*
* @author Jeremy Daggett
*/
@ -50,7 +49,7 @@ public class BindCDNPurgeEmailAddressesToHeadersMockTest extends BaseOpenStackMo
.method("DELETE")
.endpoint("https://storage101.dfw1.clouddrive.com/v1/MossoCloudFS_XXXXXX/")
.addHeader(CloudFilesHeaders.CDN_PURGE_OBJECT_EMAIL, "foo@bar.com, bar@foo.com")
.build();
.build();
assertEquals(actualRequest, expectedRequest);

View File

@ -20,9 +20,15 @@ import static org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCrede
import java.util.Properties;
import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContextLiveTest;
import org.testng.annotations.Test;
/**
* Tests the live behavior of the {@link RegionScopedBlobStoreContext}.
*
* @author Jeremy Daggett
*/
@Test(groups = "live")
public class CloudFilesRegionScopedBlobStoreContextLiveTest extends RegionScopedBlobStoreContextLiveTest {

View File

@ -19,16 +19,24 @@ package org.jclouds.rackspace.cloudfiles.v1.features;
import static org.testng.Assert.assertTrue;
import org.jclouds.openstack.swift.v1.domain.Account;
import org.jclouds.openstack.swift.v1.features.AccountApi;
import org.jclouds.openstack.swift.v1.features.AccountApiLiveTest;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import org.testng.annotations.Test;
/**
* Tests the live behavior of the OpenStack Object Storage {@link AccountApi}
* via the {@link CloudFilesApi}.
*
* @author Jeremy Daggett
*/
@Test(groups = "live", testName = "CloudFilesAccountApiLiveTest")
public class CloudFilesAccountApiLiveTest extends AccountApiLiveTest {
public CloudFilesAccountApiLiveTest() {
provider = "rackspace-cloudfiles";
}
public void testUrlKeyExists() throws Exception {
for (String regionId : regions) {
Account account = api.accountApiInRegion(regionId).get();

View File

@ -17,12 +17,18 @@
package org.jclouds.rackspace.cloudfiles.v1.features;
import org.jclouds.openstack.swift.v1.features.BulkApiLiveTest;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import org.testng.annotations.Test;
/**
* Tests the live behavior of the OpenStack Object Storage {@link BulkApi}
* via the {@link CloudFilesApi}.
*
* @author Jeremy Daggett
*/
@Test(groups = "live", testName = "CloudFilesBulkApiLiveTest")
public class CloudFilesBulkApiLiveTest extends BulkApiLiveTest {
public CloudFilesBulkApiLiveTest() {
provider = "rackspace-cloudfiles";
}
}
}

View File

@ -30,6 +30,8 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
/**
* Tests the live behavior of the {@code CloudFilesCDNApi}.
*
* @author Jeremy Daggett
*/
@Test(groups = "live", testName = "CloudFilesCDNApiLiveTest")
@ -40,7 +42,7 @@ public class CloudFilesCDNApiLiveTest extends BaseCloudFilesApiLiveTest {
public CloudFilesCDNApiLiveTest() {
super();
}
public void testList() throws Exception {
for (String regionId : regions) {
CDNApi cdnApi = api.cdnApiInRegion(regionId);

View File

@ -50,6 +50,11 @@ import com.google.common.collect.ImmutableList;
import com.squareup.okhttp.mockwebserver.MockResponse;
import com.squareup.okhttp.mockwebserver.MockWebServer;
/**
* Tests the behavior of the {@link CloudFilesCDNApi}.
*
* @author Jeremy Daggett
*/
@Test(groups = "unit", testName = "CloudFilesCDNApiMockTest")
public class CloudFilesCDNApiMockTest extends BaseOpenStackMockTest<CloudFilesApi> {

View File

@ -16,9 +16,17 @@
*/
package org.jclouds.rackspace.cloudfiles.v1.features;
import org.jclouds.openstack.swift.v1.features.ContainerApi;
import org.jclouds.openstack.swift.v1.features.ContainerApiLiveTest;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import org.testng.annotations.Test;
/**
* Tests the live behavior of the OpenStack Object Storage {@link ContainerApi}
* via the {@link CloudFilesApi}.
*
* @author Jeremy Daggett
*/
@Test(groups = "live", testName = "CloudFilesContainerApiLiveTest")
public class CloudFilesContainerApiLiveTest extends ContainerApiLiveTest {
public CloudFilesContainerApiLiveTest() {

View File

@ -16,9 +16,17 @@
*/
package org.jclouds.rackspace.cloudfiles.v1.features;
import org.jclouds.openstack.swift.v1.features.ObjectApi;
import org.jclouds.openstack.swift.v1.features.ObjectApiLiveTest;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import org.testng.annotations.Test;
/**
* Tests the live behavior of the OpenStack Object Storage {@link ObjectApi}
* via the {@link CloudFilesApi}.
*
* @author Jeremy Daggett
*/
@Test(groups = "live", testName = "CloudFilesObjectApiLiveTest")
public class CloudFilesObjectApiLiveTest extends ObjectApiLiveTest {
public CloudFilesObjectApiLiveTest() {

View File

@ -16,21 +16,17 @@
*/
package org.jclouds.rackspace.cloudfiles.v1.internal;
import static org.testng.Assert.assertNotNull;
import org.jclouds.openstack.swift.v1.domain.Container;
import org.jclouds.openstack.swift.v1.internal.BaseSwiftApiLiveTest;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApi;
import org.testng.annotations.Test;
/**
* Base class for all Cloud Files API Live tests.
* Base class for all {@link CloudFilesApi} live tests.
*
* @author Jeremy Daggett
*/
@Test(groups = "live", testName = "BaseCloudFilesApiLiveTest")
public abstract class BaseCloudFilesApiLiveTest extends BaseSwiftApiLiveTest<CloudFilesApi> {
protected BaseCloudFilesApiLiveTest() {
provider = "rackspace-cloudfiles";
}

View File

@ -0,0 +1,19 @@
Rackspace Cloud Files UK
========================
The new Rackspace Cloud Files UK multi-region based provider.
This new "rackspace-cloudfiles-uk" provider supercedes the jclouds "cloudfiles-uk" provider, which will eventually be deprecated.
With this multi-region support, a BlobStore can be isolated to a specific region:
RegionScopedBlobStoreContext ctx =
contextBuilder.buildView(RegionScopedBlobStoreContext.class);
Set<String> regionIds = ctx.configuredRegions();
// isolated to the only UK region
BlobStore dfwBlobStore = ctx.blobStoreInRegion("LON");
Production ready?
No

View File

@ -0,0 +1,176 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF 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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.jclouds</groupId>
<artifactId>jclouds-project</artifactId>
<version>1.8.0-SNAPSHOT</version>
</parent>
<!-- TODO: when out of labs, switch to org.jclouds.provider -->
<groupId>org.apache.jclouds.labs</groupId>
<artifactId>rackspace-cloudfiles-uk</artifactId>
<version>1.8.0-SNAPSHOT</version>
<name>jclouds Rackspace Cloud Files UK provider</name>
<description>OpenStack Object Storage implementation targeted to Rackspace Cloud Files UK</description>
<packaging>bundle</packaging>
<properties>
<!-- identity endpoint -->
<test.rackspace-cloudfiles-uk.endpoint>https://lon.identity.api.rackspacecloud.com/v2.0/</test.rackspace-cloudfiles-uk.endpoint>
<test.rackspace-cloudfiles-uk.api-version>1</test.rackspace-cloudfiles-uk.api-version>
<test.rackspace-cloudfiles-uk.build-version />
<test.rackspace-cloudfiles-uk.identity>${test.rackspace-uk.identity}</test.rackspace-cloudfiles-uk.identity>
<test.rackspace-cloudfiles-uk.credential>${test.rackspace-uk.credential}</test.rackspace-cloudfiles-uk.credential>
<jclouds.osgi.export>org.jclouds.rackspace.cloudfiles.uk*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.rest.internal;version="${jclouds.version}",
org.jclouds.labs*;version="${project.version}",
org.jclouds*;version="${jclouds.version}",
*
</jclouds.osgi.import>
</properties>
<repositories>
<repository>
<id>apache-snapshots</id>
<url>https://repository.apache.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.apache.jclouds.labs</groupId>
<artifactId>openstack-swift</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jclouds.labs</groupId>
<artifactId>openstack-swift</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jclouds.labs</groupId>
<artifactId>rackspace-cloudfiles</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jclouds.labs</groupId>
<artifactId>rackspace-cloudfiles</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jclouds.api</groupId>
<artifactId>openstack-keystone</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jclouds.api</groupId>
<artifactId>openstack-keystone</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jclouds</groupId>
<artifactId>jclouds-blobstore</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jclouds</groupId>
<artifactId>jclouds-core</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jclouds</groupId>
<artifactId>jclouds-core</artifactId>
<version>${project.parent.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jclouds.driver</groupId>
<artifactId>jclouds-slf4j</artifactId>
<version>${project.parent.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.jclouds.api</groupId>
<artifactId>rackspace-cloudidentity</artifactId>
<version>${project.parent.version}</version>
</dependency>
</dependencies>
<profiles>
<profile>
<id>live</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<executions>
<execution>
<id>integration</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<forkCount>5</forkCount>
<reuseForks>true</reuseForks>
<parallel>classes</parallel>
<systemPropertyVariables>
<test.rackspace-cloudfiles-uk.endpoint>${test.rackspace-cloudfiles-uk.endpoint}</test.rackspace-cloudfiles-uk.endpoint>
<test.rackspace-cloudfiles-uk.api-version>${test.rackspace-cloudfiles-uk.api-version}</test.rackspace-cloudfiles-uk.api-version>
<test.rackspace-cloudfiles-uk.build-version>${test.rackspace-cloudfiles-uk.build-version}</test.rackspace-cloudfiles-uk.build-version>
<test.rackspace-cloudfiles-uk.identity>${test.rackspace-cloudfiles-uk.identity}</test.rackspace-cloudfiles-uk.identity>
<test.rackspace-cloudfiles-uk.credential>${test.rackspace-cloudfiles-uk.credential}</test.rackspace-cloudfiles-uk.credential>
<jclouds.blobstore.httpstream.url>${jclouds.blobstore.httpstream.url}</jclouds.blobstore.httpstream.url>
<jclouds.blobstore.httpstream.md5>${jclouds.blobstore.httpstream.md5}</jclouds.blobstore.httpstream.md5>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,125 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.rackspace.cloudfiles.uk;
import static org.jclouds.location.reference.LocationConstants.ISO3166_CODES;
import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGION;
import static org.jclouds.location.reference.LocationConstants.PROPERTY_REGIONS;
import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.CREDENTIAL_TYPE;
import static org.jclouds.openstack.keystone.v2_0.config.KeystoneProperties.SERVICE_TYPE;
import static org.jclouds.reflect.Reflection2.typeToken;
import java.net.URI;
import java.util.Properties;
import org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule.RegionModule;
import org.jclouds.openstack.swift.v1.blobstore.RegionScopedBlobStoreContext;
import org.jclouds.openstack.swift.v1.blobstore.config.SignUsingTemporaryUrls;
import org.jclouds.openstack.swift.v1.blobstore.config.SwiftBlobStoreContextModule;
import org.jclouds.openstack.swift.v1.config.SwiftTypeAdapters;
import org.jclouds.openstack.v2_0.ServiceType;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.providers.internal.BaseProviderMetadata;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata;
import org.jclouds.rackspace.cloudfiles.v1.config.CloudFilesHttpApiModule;
import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationApiModule;
import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityAuthenticationModule;
import org.jclouds.rackspace.cloudidentity.v2_0.config.CloudIdentityCredentialTypes;
import com.google.common.collect.ImmutableSet;
import com.google.inject.Module;
/**
*
* @author Jeremy Daggett
*/
public class CloudFilesUKProviderMetadata extends BaseProviderMetadata {
public static Builder builder() {
return new Builder();
}
@Override
public Builder toBuilder() {
return builder().fromProviderMetadata(this);
}
public CloudFilesUKProviderMetadata() {
this(new Builder());
}
protected CloudFilesUKProviderMetadata(Builder builder) {
super(builder);
}
public static Properties defaultProperties() {
Properties properties = new Properties();
properties.setProperty(CREDENTIAL_TYPE, CloudIdentityCredentialTypes.API_KEY_CREDENTIALS);
properties.setProperty(SERVICE_TYPE, ServiceType.OBJECT_STORE);
properties.setProperty(PROPERTY_REGIONS, "LON");
properties.setProperty(PROPERTY_REGION + ".LON." + ISO3166_CODES, "GB-SLG");
return properties;
}
public static class Builder extends BaseProviderMetadata.Builder {
protected Builder() {
id("rackspace-cloudfiles-uk")
.name("Rackspace Cloud Files UK")
.apiMetadata(new CloudFilesApiMetadata().toBuilder()
.identityName("${userName}")
.credentialName("${apiKey}")
.defaultEndpoint("https://identity.api.rackspacecloud.com/v2.0/")
.documentation(URI.create("http://docs.rackspace.com/files/api/v1/cf-devguide/content/index.html"))
.endpointName("Rackspace Cloud Identity service URL ending in /v2.0/")
.version("1.0")
.view(typeToken(RegionScopedBlobStoreContext.class))
.defaultModules(ImmutableSet.<Class<? extends Module>>builder()
.add(CloudIdentityAuthenticationApiModule.class)
.add(CloudIdentityAuthenticationModule.class)
.add(RegionModule.class)
.add(SwiftTypeAdapters.class)
.add(CloudFilesHttpApiModule.class)
.add(SwiftBlobStoreContextModule.class)
.add(SignUsingTemporaryUrls.class)
.build())
.build())
.homepage(URI.create("http://www.rackspace.com/cloud/files"))
.console(URI.create("https://mycloud.rackspace.com"))
.linkedServices("rackspace-autoscale-us", "rackspace-cloudblockstorage-us",
"rackspace-clouddatabases-us", "rackspace-clouddns-us",
"rackspace-cloudidentity", "rackspace-cloudloadbalancers-us",
"rackspace-cloudqueues-us")
.iso3166Codes("GB-SLG")
.defaultProperties(CloudFilesUKProviderMetadata.defaultProperties());
}
@Override
public CloudFilesUKProviderMetadata build() {
return new CloudFilesUKProviderMetadata(this);
}
@Override
public Builder fromProviderMetadata(ProviderMetadata in) {
super.fromProviderMetadata(in);
return this;
}
}
}

View File

@ -0,0 +1,18 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF 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.
#
org.jclouds.rackspace.cloudfiles.uk.CloudFilesUKProviderMetadata

View File

@ -0,0 +1,29 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.rackspace.cloudfiles.uk;
import org.jclouds.providers.internal.BaseProviderMetadataTest;
import org.jclouds.rackspace.cloudfiles.uk.CloudFilesUKProviderMetadata;
import org.jclouds.rackspace.cloudfiles.v1.CloudFilesApiMetadata;
import org.testng.annotations.Test;
@Test(groups = "unit", testName = "CloudFilesUKProviderTest")
public class CloudFilesUKProviderTest extends BaseProviderMetadataTest {
public CloudFilesUKProviderTest() {
super(new CloudFilesUKProviderMetadata(), new CloudFilesApiMetadata());
}
}

View File

@ -0,0 +1,27 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.rackspace.cloudfiles.uk.blobstore.integration;
import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobIntegrationLiveTest;
import org.testng.annotations.Test;
@Test(groups = "live", testName = "CloudFilesUKBlobIntegrationLiveTest")
public class CloudFilesUKBlobIntegrationLiveTest extends CloudFilesBlobIntegrationLiveTest {
public CloudFilesUKBlobIntegrationLiveTest() {
provider = "rackspace-cloudfiles-uk";
}
}

View File

@ -0,0 +1,27 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.rackspace.cloudfiles.uk.blobstore.integration;
import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobLiveTest;
import org.testng.annotations.Test;
@Test(groups = "live", testName = "CloudFilesUKBlobLiveTest")
public class CloudFilesUKBlobLiveTest extends CloudFilesBlobLiveTest {
public CloudFilesUKBlobLiveTest() {
provider = "rackspace-cloudfiles-uk";
}
}

View File

@ -0,0 +1,27 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.rackspace.cloudfiles.uk.blobstore.integration;
import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesBlobSignerLiveTest;
import org.testng.annotations.Test;
@Test(groups = "live", testName = "CloudFilesUKBlobSignerLiveTest")
public class CloudFilesUKBlobSignerLiveTest extends CloudFilesBlobSignerLiveTest {
public CloudFilesUKBlobSignerLiveTest() {
provider = "rackspace-cloudfiles-uk";
}
}

View File

@ -0,0 +1,27 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.rackspace.cloudfiles.uk.blobstore.integration;
import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesContainerIntegrationLiveTest;
import org.testng.annotations.Test;
@Test(groups = "live", testName = "CloudFilesUKContainerIntegrationLiveTest")
public class CloudFilesUKContainerIntegrationLiveTest extends CloudFilesContainerIntegrationLiveTest {
public CloudFilesUKContainerIntegrationLiveTest() {
provider = "rackspace-cloudfiles-uk";
}
}

View File

@ -0,0 +1,27 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.rackspace.cloudfiles.uk.blobstore.integration;
import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesContainerLiveTest;
import org.testng.annotations.Test;
@Test(groups = "live", testName = "CloudFilesUKContainerLiveTest")
public class CloudFilesUKContainerLiveTest extends CloudFilesContainerLiveTest {
public CloudFilesUKContainerLiveTest() {
provider = "rackspace-cloudfiles-uk";
}
}

View File

@ -0,0 +1,36 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF 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.rackspace.cloudfiles.uk.blobstore.integration;
import java.util.Set;
import org.jclouds.rackspace.cloudfiles.v1.blobstore.integration.CloudFilesServiceIntegrationLiveTest;
import org.testng.annotations.Test;
import com.google.common.collect.ImmutableSet;
@Test(groups = "live", testName = "CloudFilesUKServiceIntegrationLiveTest")
public class CloudFilesUKServiceIntegrationLiveTest extends CloudFilesServiceIntegrationLiveTest {
public CloudFilesUKServiceIntegrationLiveTest() {
provider = "rackspace-cloudfiles-uk";
}
@Override
protected Set<String> getIso3166Codes() {
return ImmutableSet.<String> of("GB-SLG");
}
}

View File

@ -0,0 +1,71 @@
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF 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.
-->
<configuration scan="false">
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>target/test-data/jclouds.log</file>
<encoder>
<Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
</encoder>
</appender>
<appender name="WIREFILE" class="ch.qos.logback.core.FileAppender">
<file>target/test-data/jclouds-wire.log</file>
<encoder>
<Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
</encoder>
</appender>
<appender name="BLOBSTOREFILE" class="ch.qos.logback.core.FileAppender">
<file>target/test-data/jclouds-blobstore.log</file>
<encoder>
<Pattern>%d %-5p [%c] [%thread] %m%n</Pattern>
</encoder>
</appender>
<root>
<level value="warn" />
</root>
<logger name="org.jclouds">
<level value="DEBUG" />
<appender-ref ref="FILE" />
</logger>
<!--
<logger name="jclouds.wire">
<level value="DEBUG" />
<appender-ref ref="WIREFILE" />
</logger>
-->
<logger name="jclouds.headers">
<level value="DEBUG" />
<appender-ref ref="WIREFILE" />
</logger>
<logger name="jclouds.blobstore">
<level value="DEBUG" />
<appender-ref ref="BLOBSTOREFILE" />
</logger>
</configuration>