Live test demonstrating effectiveness of JCLOUDS-1401 fix.

Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/9a65be78
Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/9a65be78
Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/9a65be78

Branch: refs/heads/master
Commit: 9a65be789e760cf279b6df525d6bfc7bd94732dd
Parents: 34d272a
Author: Jesse Glick <[email protected]>
Authored: Wed Jul 11 10:19:05 2018 -0400
Committer: Ignasi Barrera <[email protected]>
Committed: Wed Jul 11 09:35:34 2018 -0700

----------------------------------------------------------------------
 .../java/org/jclouds/s3/S3ClientLiveTest.java   | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/9a65be78/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java
----------------------------------------------------------------------
diff --git a/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java 
b/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java
index b6b53e0..425f37a 100644
--- a/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java
+++ b/apis/s3/src/test/java/org/jclouds/s3/S3ClientLiveTest.java
@@ -48,7 +48,10 @@ import org.jclouds.ContextBuilder;
 import org.jclouds.aws.domain.SessionCredentials;
 import org.jclouds.blobstore.KeyNotFoundException;
 import org.jclouds.blobstore.domain.Blob;
+import org.jclouds.blobstore.domain.PageSet;
+import org.jclouds.blobstore.domain.StorageMetadata;
 import org.jclouds.blobstore.integration.internal.BaseBlobStoreIntegrationTest;
+import org.jclouds.blobstore.options.ListContainerOptions;
 import org.jclouds.domain.Credentials;
 import org.jclouds.http.HttpResponseException;
 import org.jclouds.io.ByteStreams2;
@@ -535,6 +538,23 @@ public class S3ClientLiveTest extends 
BaseBlobStoreIntegrationTest {
       }
    }
 
+   // JCLOUDS-1401
+   public void testUnusualKeyCharacters() throws InterruptedException, 
ExecutionException, TimeoutException, IOException {
+      String containerName = getContainerName();
+      try {
+         String dirName = "a%2Fb&xxx#?:$'\\\"<>čॐ";
+         String fileName = "foo%3Abar.xml";
+         addToContainerAndValidate(containerName, dirName + '/' + fileName);
+         PageSet<? extends StorageMetadata> list = 
view.getBlobStore().list(containerName,
+                  ListContainerOptions.Builder.prefix(dirName + "/"));
+         assertEquals(list.size(), 1);
+         StorageMetadata md = list.iterator().next();
+         assertEquals(md.getName(), dirName + '/' + fileName);
+      } finally {
+         returnContainer(containerName);
+      }
+   }
+
    public void testMultipartSynchronously() throws InterruptedException, 
IOException {
       HashCode oneHundredOneConstitutionsMD5 = 
oneHundredOneConstitutions.hash(md5());
       String containerName = getContainerName();

Reply via email to