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