### Question:
BufferedHttpFailedItemOps implements FailedItemOps<AbstractDocumentTargetedAction<DocumentResult>> { @Override public FailedItemInfo createInfo( AbstractDocumentTargetedAction<DocumentResult> failed ) { return new FailedItemInfo(failed.getIndex()); }  @Override FailedItemSource createItem(AbstractDocumentTargetedAction<DocumentResult> failed); @Override FailedItemInfo createInfo(
            AbstractDocumentTargetedAction<DocumentResult> failed
    );  }### Answer:
@Test public void createsFailedItemMetadata() { BufferedHttpFailedItemOps failedItemOps = new BufferedHttpFailedItemOps(); ItemSource<ByteBuf> itemSource = mock(ItemSource.class); ByteBuf expectedSource = mock(ByteBuf.class); when(itemSource.getSource()).thenReturn(expectedSource); String expectedIndex = UUID.randomUUID().toString(); AbstractDocumentTargetedAction request = createDefaultTestIndexRequest(itemSource, expectedIndex); FailedItemInfo result = failedItemOps.createInfo(request); assertEquals(expectedIndex, result.getTargetName()); }