You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jclouds.apache.org by ga...@apache.org on 2015/06/17 21:38:35 UTC

jclouds git commit: Test for Content-Range header in single range get

Repository: jclouds
Updated Branches:
  refs/heads/master 1f7f8c8c8 -> 3a410a25a


Test for Content-Range header in single range get

Also emit this header in LocalBlobStore.


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

Branch: refs/heads/master
Commit: 3a410a25a886977c7b58e5b195876d06e75b6dce
Parents: 1f7f8c8
Author: Andrew Gaul <ga...@apache.org>
Authored: Wed Jun 17 11:43:17 2015 -0700
Committer: Andrew Gaul <ga...@apache.org>
Committed: Wed Jun 17 11:43:17 2015 -0700

----------------------------------------------------------------------
 .../main/java/org/jclouds/blobstore/config/LocalBlobStore.java   | 3 +++
 .../blobstore/integration/internal/BaseBlobIntegrationTest.java  | 4 ++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/3a410a25/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
----------------------------------------------------------------------
diff --git a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
index be96b73..d276f83 100644
--- a/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
+++ b/blobstore/src/main/java/org/jclouds/blobstore/config/LocalBlobStore.java
@@ -95,6 +95,7 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Iterators;
+import com.google.common.net.HttpHeaders;
 
 @Singleton
 public final class LocalBlobStore implements BlobStore {
@@ -653,6 +654,8 @@ public final class LocalBlobStore implements BlobStore {
                   last = data.length - 1;
                }
                out.write(data, offset, last - offset + 1);
+               blob.getAllHeaders().put(HttpHeaders.CONTENT_RANGE,
+                     offset + "-" + last + "/" + data.length);
             }
             ContentMetadata cmd = blob.getPayload().getContentMetadata();
             byte[] byteArray = out.toByteArray();

http://git-wip-us.apache.org/repos/asf/jclouds/blob/3a410a25/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
----------------------------------------------------------------------
diff --git a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
index b58eaa3..d057115 100644
--- a/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
+++ b/blobstore/src/test/java/org/jclouds/blobstore/integration/internal/BaseBlobIntegrationTest.java
@@ -93,6 +93,7 @@ import com.google.common.hash.HashCode;
 import com.google.common.io.ByteStreams;
 import com.google.common.io.ByteSource;
 import com.google.common.io.Files;
+import com.google.common.net.HttpHeaders;
 import com.google.common.util.concurrent.ListenableFuture;
 
 public class BaseBlobIntegrationTest extends BaseBlobStoreIntegrationTest {
@@ -396,10 +397,12 @@ public class BaseBlobIntegrationTest extends BaseBlobStoreIntegrationTest {
          Blob blob1 = view.getBlobStore().getBlob(container, name, range(0, 5));
          validateMetadata(blob1.getMetadata(), container, name);
          assertEquals(getContentAsStringOrNullAndClose(blob1), TEST_STRING.substring(0, 6));
+         assertThat(blob1.getAllHeaders().get(HttpHeaders.CONTENT_RANGE)).containsExactly("0-5/46");
 
          Blob blob2 = view.getBlobStore().getBlob(container, name, range(6, TEST_STRING.length()));
          validateMetadata(blob2.getMetadata(), container, name);
          assertEquals(getContentAsStringOrNullAndClose(blob2), TEST_STRING.substring(6, TEST_STRING.length()));
+         assertThat(blob2.getAllHeaders().get(HttpHeaders.CONTENT_RANGE)).containsExactly("6-45/46");
 
          /* RFC 2616 14.35.1
             "If the entity is shorter than the specified suffix-length, the
@@ -407,6 +410,7 @@ public class BaseBlobIntegrationTest extends BaseBlobStoreIntegrationTest {
          Blob blob3 = view.getBlobStore().getBlob(container, name, new GetOptions().tail(TEST_STRING.length() + 10));
          validateMetadata(blob3.getMetadata(), container, name);
          assertEquals(getContentAsStringOrNullAndClose(blob3), TEST_STRING);
+         assertThat(blob3.getAllHeaders().get(HttpHeaders.CONTENT_RANGE)).containsExactly("0-45/46");
       } finally {
          returnContainer(container);
       }