@Test
public void testInitiateDownloadSingleSampleFile()
{

    // Create a business object definition sample data file key.
    BusinessObjectDefinitionSampleDataFileKey businessObjectDefinitionSampleDataFileKey =
        new BusinessObjectDefinitionSampleDataFileKey(BDEF_NAMESPACE, BDEF_NAME, DIRECTORY_PATH, FILE_NAME);
    // Create a request.
    DownloadBusinessObjectDefinitionSampleDataFileSingleInitiationRequest request =
        new DownloadBusinessObjectDefinitionSampleDataFileSingleInitiationRequest(businessObjectDefinitionSampleDataFileKey);
    // Create a response.
    DownloadBusinessObjectDefinitionSampleDataFileSingleInitiationResponse response =
        new DownloadBusinessObjectDefinitionSampleDataFileSingleInitiationResponse(businessObjectDefinitionSampleDataFileKey, S3_BUCKET_NAME,
            AWS_ASSUMED_ROLE_ACCESS_KEY, AWS_ASSUMED_ROLE_SECRET_KEY, AWS_ASSUMED_ROLE_SESSION_TOKEN, NO_AWS_KMS_KEY_ID, AWS_ASSUMED_ROLE_SESSION_EXPIRATION_TIME,
            AWS_PRE_SIGNED_URL);
    // Mock the external calls.
    when(uploadDownloadService.initiateDownloadSingleSampleFile(request)).thenReturn(response);
    // Call the method under test.
    DownloadBusinessObjectDefinitionSampleDataFileSingleInitiationResponse result = uploadDownloadRestController.initiateDownloadSingleSampleFile(request);
    // Verify the external calls.
    verify(uploadDownloadService).initiateDownloadSingleSampleFile(request);
    verifyNoMoreInteractionsHelper();
    // Validate the results.
    assertEquals(response, result);
}