### Question:
ExportExecutionApi { public ResourceOutput downloadAttachment(String execId, String exportId, String attachmentId) throws ServiceException { try { OutputResource result = mReportExportRestApi.requestExportAttachment(execId, exportId, attachmentId); return mAttachmentExportMapper.transform(result); } catch (HttpException e) { throw mExceptionMapper.transform(e); } catch (IOException e) { throw mExceptionMapper.transform(e); } } ExportExecutionApi(ServiceExceptionMapper exceptionMapper,
                       ReportExportRestApi reportExportRestApi,
                       ExportOptionsMapper exportOptionsMapper,
                       ReportExportMapper reportExportMapper,
                       AttachmentExportMapper attachmentExportMapper); ExportExecutionDescriptor start(String execId, ReportExportOptions reportExportOptions); ExecutionStatus awaitReadyStatus(String execId, String exportId, String reportUri, long delay); ReportExportOutput downloadExport(String execId, String exportId); ResourceOutput downloadAttachment(String execId, String exportId, String attachmentId);  }### Answer:
@Test public void testDownloadAttachment() throws Exception { when(mReportExportRestApi.requestExportAttachment(anyString(), anyString(), anyString())).thenReturn(attachment); exportExecutionApi.downloadAttachment(EXEC_ID, EXPORT_ID, ATTACHMENT_ID); verify(mReportExportRestApi).requestExportAttachment(EXEC_ID, EXPORT_ID, ATTACHMENT_ID); verify(mAttachmentExportMapper).transform(attachment); }