Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -408,47 +408,47 @@ public void testListBlobsEmptySelectedFields() throws InterruptedException {
}
}

@Test(timeout = 5000)
@Test(timeout = 7500)
public void testListBlobRequesterPays() throws InterruptedException {
String[] blobNames = {"test-list-blobs-empty-selected-fields-blob1",
"test-list-blobs-empty-selected-fields-blob2"};
BlobInfo blob1 = BlobInfo.newBuilder(BUCKET, blobNames[0])
.setContentType(CONTENT_TYPE)
.build();
BlobInfo blob2 = BlobInfo.newBuilder(BUCKET, blobNames[1])
.setContentType(CONTENT_TYPE)
.build();
Blob remoteBlob1 = storage.create(blob1);
Blob remoteBlob2 = storage.create(blob2);
assertNotNull(remoteBlob1);
assertNotNull(remoteBlob2);

Page<Blob> page = storage.list(BUCKET,
Storage.BlobListOption.prefix("test-list-blobs-empty-selected-fields-blob"),
Storage.BlobListOption.fields());
BlobInfo blob1 =
BlobInfo.newBuilder(BUCKET, "test-list-blobs-empty-selected-fields-blob1")
.setContentType(CONTENT_TYPE)
.build();
assertNotNull(storage.create(blob1));

// Test listing a Requester Pays bucket.
Bucket remoteBucket = storage.get(BUCKET, Storage.BucketGetOption.fields(BucketField.ID));
assertNull(remoteBucket.requesterPays());
remoteBucket = remoteBucket.toBuilder().setRequesterPays(true).build();
Bucket updatedBucket = storage.update(remoteBucket);
assertTrue(updatedBucket.requesterPays());
String projectId = remoteStorageHelper.getOptions().getProjectId();
try {
page = storage.list(BUCKET,
storage.list(
BUCKET,
Storage.BlobListOption.prefix("test-list-blobs-empty-selected-fields-blob"),
Storage.BlobListOption.fields(),
Storage.BlobListOption.userProject("fakeBillingProjectId"));
fail("Expected bad user project error.");
} catch (StorageException e) {
assertTrue(e.getMessage().contains("User project specified in the request is invalid"));
}
while (Iterators.size(page.iterateAll().iterator()) != 2) {

String projectId = remoteStorageHelper.getOptions().getProjectId();
while (true) {
Page<Blob> page =
storage.list(
BUCKET,
Storage.BlobListOption.prefix("test-list-blobs-empty-selected-fields-blob"),
Storage.BlobListOption.fields(),
Storage.BlobListOption.userProject(projectId));
List<Blob> blobs = Lists.newArrayList(page.iterateAll());
// If the list is empty, maybe the blob isn't visible yet; wait and try again.
// Otherwise, expect one blob, since we only put in one above.
if (!blobs.isEmpty()) {
assertThat(blobs).hasSize(1);
break;
}
Thread.sleep(500);
page = storage.list(BUCKET,
Storage.BlobListOption.prefix("test-list-blobs-empty-selected-fields-blob"),
Storage.BlobListOption.fields(),
Storage.BlobListOption.userProject(projectId));
}
}

Expand Down