mirror of https://github.com/apache/jclouds.git
Correct failing testUseBucketWithUpperCaseName
As of March 1 2018, bucket names must be DNS compliant in all regions therefore removing failing test of legacy names in US regions.
This commit is contained in:
parent
951b6b4403
commit
8693687766
|
@ -28,7 +28,6 @@ import org.jclouds.aws.AWSResponseException;
|
||||||
import org.jclouds.aws.domain.Region;
|
import org.jclouds.aws.domain.Region;
|
||||||
import org.jclouds.blobstore.BlobStore;
|
import org.jclouds.blobstore.BlobStore;
|
||||||
import org.jclouds.blobstore.domain.Blob;
|
import org.jclouds.blobstore.domain.Blob;
|
||||||
import org.jclouds.blobstore.domain.StorageMetadata;
|
|
||||||
import org.jclouds.domain.Location;
|
import org.jclouds.domain.Location;
|
||||||
import org.jclouds.http.HttpRequest;
|
import org.jclouds.http.HttpRequest;
|
||||||
import org.jclouds.http.HttpResponse;
|
import org.jclouds.http.HttpResponse;
|
||||||
|
@ -43,8 +42,6 @@ import org.testng.ITestContext;
|
||||||
import org.testng.annotations.BeforeClass;
|
import org.testng.annotations.BeforeClass;
|
||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableSet;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests behavior of {@code S3Client}
|
* Tests behavior of {@code S3Client}
|
||||||
*/
|
*/
|
||||||
|
@ -100,50 +97,13 @@ public class AWSS3ClientLiveTest extends S3ClientLiveTest {
|
||||||
*/
|
*/
|
||||||
public void testUseBucketWithUpperCaseName() throws Exception {
|
public void testUseBucketWithUpperCaseName() throws Exception {
|
||||||
String bucketName = CONTAINER_PREFIX + "-TestBucket";
|
String bucketName = CONTAINER_PREFIX + "-TestBucket";
|
||||||
String blobName = "TestBlob.txt";
|
|
||||||
StorageMetadata container = null;
|
|
||||||
BlobStore store = view.getBlobStore();
|
BlobStore store = view.getBlobStore();
|
||||||
|
|
||||||
// Create and use a valid bucket name with uppercase characters in the bucket name (US regions only)
|
// As of March 1 2018, bucket names must be DNS compliant in all regions
|
||||||
|
|
||||||
try {
|
try {
|
||||||
store.createContainerInLocation(null, bucketName);
|
store.createContainerInLocation(null, bucketName);
|
||||||
|
fail("Should have failed because mixed-case bucket names are invalid.");
|
||||||
for (StorageMetadata metadata : store.list()) {
|
|
||||||
if (metadata.getName().equals(bucketName)) {
|
|
||||||
container = metadata;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
assertNotNull(container);
|
|
||||||
|
|
||||||
store.putBlob(bucketName, store.blobBuilder(blobName)
|
|
||||||
.payload("This is a test!")
|
|
||||||
.contentType("text/plain")
|
|
||||||
.build());
|
|
||||||
|
|
||||||
assertNotNull(store.getBlob(bucketName, blobName));
|
|
||||||
} finally {
|
|
||||||
if (container != null) {
|
|
||||||
store.deleteContainer(bucketName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Try to create the same bucket successfully created above in one of the non-US regions to ensure an error is
|
|
||||||
// encountered as expected.
|
|
||||||
Location location = null;
|
|
||||||
|
|
||||||
for (Location pLocation : store.listAssignableLocations()) {
|
|
||||||
if (!ImmutableSet.of(Region.US_STANDARD, Region.US_EAST_1, Region.US_WEST_1, Region.US_WEST_2)
|
|
||||||
.contains(pLocation.getId())) {
|
|
||||||
location = pLocation;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
store.createContainerInLocation(location, bucketName);
|
|
||||||
fail("Should had failed because in non-US regions, mixed-case bucket names are invalid.");
|
|
||||||
} catch (AWSResponseException e) {
|
} catch (AWSResponseException e) {
|
||||||
assertEquals("InvalidBucketName", e.getError().getCode());
|
assertEquals("InvalidBucketName", e.getError().getCode());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue