|
98 | 98 | import java.util.stream.Stream;
|
99 | 99 | import java.util.stream.StreamSupport;
|
100 | 100 | import javax.crypto.spec.SecretKeySpec;
|
| 101 | +import org.checkerframework.checker.nullness.qual.NonNull; |
101 | 102 | import org.junit.Test;
|
102 | 103 | import org.junit.runner.RunWith;
|
103 | 104 |
|
@@ -1582,4 +1583,28 @@ public void testUpdateBlob_noModification() {
|
1582 | 1583 | Blob gen2 = storage.update(gen1);
|
1583 | 1584 | assertThat(gen2).isEqualTo(gen1);
|
1584 | 1585 | }
|
| 1586 | + |
| 1587 | + @Test |
| 1588 | + public void blob_update() throws Exception { |
| 1589 | + ImmutableMap<@NonNull String, @NonNull String> meta1 = ImmutableMap.of("k1", "v1"); |
| 1590 | + ImmutableMap<@NonNull String, @NonNull String> meta2 = ImmutableMap.of("k1", "v2"); |
| 1591 | + ImmutableMap<@NonNull String, @NonNull String> meta3 = ImmutableMap.of("k1", "v1", "k2", "n1"); |
| 1592 | + |
| 1593 | + String randomObjectName = generator.randomObjectName(); |
| 1594 | + BlobInfo info1 = |
| 1595 | + BlobInfo.newBuilder(versionedBucket, randomObjectName).setMetadata(meta1).build(); |
| 1596 | + BlobInfo info2 = |
| 1597 | + BlobInfo.newBuilder(versionedBucket, randomObjectName).setMetadata(meta2).build(); |
| 1598 | + |
| 1599 | + BlobInfo gen1 = storage.create(info1); |
| 1600 | + BlobInfo gen2 = storage.create(info2); |
| 1601 | + |
| 1602 | + BlobInfo update1 = gen1.toBuilder().setMetadata(meta3).build(); |
| 1603 | + |
| 1604 | + BlobInfo gen1_2 = storage.update(update1); |
| 1605 | + |
| 1606 | + assertAll( |
| 1607 | + () -> assertThat(gen1_2.getMetadata()).isEqualTo(meta3), |
| 1608 | + () -> assertThat(gen1_2.getGeneration()).isEqualTo(gen1.getGeneration())); |
| 1609 | + } |
1585 | 1610 | }
|
0 commit comments