Beispiel #1
0
  /**
   * Tests {@link S3#listBucket(S3Client, String, ListBucketOptions)} where retrieving all results
   * requires multiple requests.
   *
   * @throws Exception if anything goes wrong
   */
  @Test
  public void testMultiPageResult() throws Exception {
    String nextMarker = "FOO";
    S3Client api = createMock(S3Client.class);
    ListBucketOptions options = new ListBucketOptions();
    ListBucketResponse response2 = new ListBucketHandlerTest().expected();
    ListBucketResponse response1 =
        new ListBucketResponseImpl(
            response2.getName(),
            response2,
            response2.getPrefix(),
            null,
            nextMarker,
            response2.getMaxKeys(),
            response2.getDelimiter(),
            false,
            response2.getCommonPrefixes());

    expect(api.listBucket("bucket", options)).andReturn(response1).once();
    expect(api.listBucket("bucket", options.afterMarker(nextMarker))).andReturn(response2).once();

    EasyMock.replay(api);

    PagedIterable<ObjectMetadata> result = S3.listBucket(api, "bucket", options);

    // number of objects
    assertEquals(result.concat().size(), 20);
  }