### Question:
IndexTreeCleanAction extends UpdateTreeAction { @Override public void performAction(SolrUpdateRequest updateRequest) throws IndexingException { log.debug("Starting clean indexing of {}", updateRequest.getPid()); SolrUpdateRequest deleteRequest = new SolrUpdateRequest(updateRequest.getPid().getRepositoryPath(), IndexingActionType.DELETE_SOLR_TREE); deleteAction.performAction(deleteRequest); solrUpdateDriver.commit(); super.performAction(updateRequest); if (log.isDebugEnabled()) { log.debug(String.format("Finished clean indexing of {}. {} objects updated in {}ms", updateRequest.getPid().getRepositoryPath(), updateRequest.getChildrenPending(), System.currentTimeMillis() - updateRequest.getTimeStarted())); } } IndexTreeCleanAction(); @Override void performAction(SolrUpdateRequest updateRequest); void setDeleteAction(DeleteSolrTreeAction deleteAction);  }### Answer:
@Test public void testPerformAction() throws Exception { request = new SolrUpdateRequest(pid.getRepositoryPath(), CLEAN_REINDEX, "1", USER); action.performAction(request); verify(deleteAction).performAction(any(SolrUpdateRequest.class)); verify(driver).commit(); verify(messageSender).sendIndexingOperation(eq(USER), pidCaptor.capture(), eq(IndexingActionType.ADD)); assertEquals(pid, pidCaptor.getValue()); }