@Test
public void newRequest_andVerifyManifest() {

    String uploadId = "uploadId";
    initializeCreateMultipartUpload(uploadId);
    MultipartManifest manifest =
            assembler.newRequest(CONTENT_TYPE, CONTENT_LANGUAGE, CONTENT_ENCODING, OPC_META);
    assertNotNull(manifest);
    assertEquals(uploadId, manifest.getUploadId());
    ArgumentCaptor<CreateMultipartUploadRequest> captor =
            ArgumentCaptor.forClass(CreateMultipartUploadRequest.class);
    verify(service).createMultipartUpload(captor.capture());
    CreateMultipartUploadRequest request = captor.getValue();
    assertEquals(NAMESPACE, request.getNamespaceName());
    assertEquals(BUCKET, request.getBucketName());
    assertEquals(OBJECT, request.getCreateMultipartUploadDetails().getObject());
    assertEquals(CONTENT_TYPE, request.getCreateMultipartUploadDetails().getContentType());
    assertEquals(
            CONTENT_LANGUAGE, request.getCreateMultipartUploadDetails().getContentLanguage());
    assertEquals(
            CONTENT_ENCODING, request.getCreateMultipartUploadDetails().getContentEncoding());
    assertEquals(OPC_META, request.getCreateMultipartUploadDetails().getMetadata());
    assertEquals(mockInvocationCallback, request.getInvocationCallback());
}