|
25 | 25 | import static org.junit.Assert.fail; |
26 | 26 |
|
27 | 27 | import com.google.common.collect.ImmutableList; |
| 28 | +import com.google.common.collect.ImmutableMap; |
28 | 29 | import com.google.gcloud.RestorableState; |
29 | 30 | import com.google.gcloud.storage.testing.RemoteGcsHelper; |
30 | 31 |
|
@@ -174,6 +175,23 @@ public void testUpdateBlob() { |
174 | 175 | assertTrue(storage.delete(bucket, blobName)); |
175 | 176 | } |
176 | 177 |
|
| 178 | + @Test |
| 179 | + public void testUpdateBlobReplaceMetadata() { |
| 180 | + String blobName = "test-update-blob-replace-metadata"; |
| 181 | + BlobInfo blob = BlobInfo.builder(bucket, blobName) |
| 182 | + .contentType(CONTENT_TYPE) |
| 183 | + .metadata(ImmutableMap.of("k1", "a")) |
| 184 | + .build(); |
| 185 | + assertNotNull(storage.create(blob)); |
| 186 | + BlobInfo updatedBlob = storage.update(blob.toBuilder().metadata(null).build()); |
| 187 | + assertNotNull(updatedBlob); |
| 188 | + assertNull(updatedBlob.metadata()); |
| 189 | + updatedBlob = storage.update(blob.toBuilder().metadata(ImmutableMap.of("k2", "b")).build()); |
| 190 | + assertEquals(blob.blobId(), updatedBlob.blobId()); |
| 191 | + assertEquals(ImmutableMap.of("k2", "b"), updatedBlob.metadata()); |
| 192 | + assertTrue(storage.delete(bucket, blobName)); |
| 193 | + } |
| 194 | + |
177 | 195 | @Test |
178 | 196 | public void testUpdateBlobFail() { |
179 | 197 | String blobName = "test-update-blob-fail"; |
|
0 commit comments