@Test
public void testComposeObjects() throws IOException {

  List<StorageResourceId> ids =
      Lists.newArrayList(ITEM_A_A.getResourceId(), ITEM_A_B.getResourceId());
  GoogleCloudStorageItemInfo result =
      gcs.composeObjects(ids, ITEM_A_AA.getResourceId(), CREATE_OBJECT_OPTIONS);
  // Verify the delegate call.
  verify(gcsDelegate)
      .composeObjects(eq(ids), eq(ITEM_A_AA.getResourceId()), eq(CREATE_OBJECT_OPTIONS));
  assertThat(result).isEqualTo(ITEM_A_AA);
  // Verify the state of the cache.
  assertThat(cache.getAllItemsRaw()).containsExactly(ITEM_A_AA);
}