Skip to content

Commit 68b47c3

Browse files
committed
Async Import Unit Test
Added unit tests for Base64 and raw async import
1 parent 6cc7d12 commit 68b47c3

2 files changed

Lines changed: 53 additions & 8 deletions

File tree

src/main/java/com/cloudconvert/resource/AbstractImportFilesResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ protected HttpUriRequest getBase64HttpUriRequest(
365365
}
366366

367367
/***
368-
* Create a task to import raw file
368+
* Create a task to import raw file
369369
*
370370
* @param rawImportRequest
371371
* @return

src/test/java/com/cloudconvert/test/unit/AsyncImportsUnitTest.java

Lines changed: 52 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,7 @@
33
import com.cloudconvert.client.AsyncCloudConvertClient;
44
import com.cloudconvert.client.mapper.ObjectMapperProvider;
55
import com.cloudconvert.client.setttings.SettingsProvider;
6-
import com.cloudconvert.dto.request.AzureBlobImportRequest;
7-
import com.cloudconvert.dto.request.GoogleCloudStorageImportRequest;
8-
import com.cloudconvert.dto.request.OpenStackImportRequest;
9-
import com.cloudconvert.dto.request.S3ImportRequest;
10-
import com.cloudconvert.dto.request.SftpImportRequest;
11-
import com.cloudconvert.dto.request.UploadImportRequest;
12-
import com.cloudconvert.dto.request.UrlImportRequest;
6+
import com.cloudconvert.dto.request.*;
137
import com.cloudconvert.dto.response.TaskResponse;
148
import com.cloudconvert.dto.result.AsyncResult;
159
import com.cloudconvert.dto.result.CompletedAsyncResult;
@@ -288,6 +282,57 @@ public void import_sftp() throws Exception {
288282
assertThat(httpUriRequest.getHeaders(AbstractResource.HEADER_USER_AGENT)).hasSize(1).allSatisfy(header ->
289283
assertThat(AbstractResource.VALUE_USER_AGENT).isEqualTo(header.getValue()));
290284
}
285+
@Test
286+
public void import_base64() throws Exception{
287+
final Base64ImportRequest expectedBase64ImportRequest = new Base64ImportRequest().setFile("some-file").setFilename("test.txt");
288+
final AsyncResult<TaskResponse> taskResponseAsyncResult = FutureAsyncResult.<TaskResponse>builder().build();
289+
290+
when(asyncRequestExecutor.execute(any(HttpUriRequest.class), eq(AbstractResource.TASK_RESPONSE_TYPE_REFERENCE))).thenReturn(taskResponseAsyncResult);
291+
assertThat(asyncCloudConvertClient.importUsing().base64(expectedBase64ImportRequest)).isEqualTo(taskResponseAsyncResult);
292+
verify(asyncRequestExecutor, times(1)).execute(httpUriRequestArgumentCaptor.capture(), eq(AbstractResource.TASK_RESPONSE_TYPE_REFERENCE));
293+
294+
final HttpUriRequest httpUriRequest = httpUriRequestArgumentCaptor.getValue();
295+
296+
assertThat(httpUriRequest).isNotNull();
297+
assertThat(httpUriRequest.getMethod()).isEqualTo(HttpPost.METHOD_NAME);
298+
assertThat(httpUriRequest.getURI().toString()).isEqualTo(API_URL + "/" + AbstractResource.V2 + "/import/base64");
299+
assertThat(httpUriRequest).isInstanceOfSatisfying(HttpEntityEnclosingRequestBase.class, httpEntityEnclosingRequestBase -> {
300+
final Base64ImportRequest actualBase64ImportRequest = ThrowingSupplier.unchecked(() -> objectMapperProvider.provide()
301+
.readValue(httpEntityEnclosingRequestBase.getEntity().getContent(), Base64ImportRequest.class)).get();
302+
303+
assertThat(actualBase64ImportRequest.getFilename()).isEqualTo(actualBase64ImportRequest.getFilename());
304+
});
305+
assertThat(httpUriRequest.getHeaders(AbstractResource.HEADER_AUTHORIZATION)).hasSize(1).allSatisfy(header ->
306+
assertThat(VALUE_AUTHORIZATION).isEqualTo(header.getValue()));
307+
assertThat(httpUriRequest.getHeaders(AbstractResource.HEADER_USER_AGENT)).hasSize(1).allSatisfy(header ->
308+
assertThat(AbstractResource.VALUE_USER_AGENT).isEqualTo(header.getValue()));
309+
}
310+
311+
@Test
312+
public void import_raw() throws Exception{
313+
final RawImportRequest expectedRawImportRequest = new RawImportRequest().setFile("content").setFilename("test.txt");
314+
final AsyncResult<TaskResponse> taskResponseAsyncResult = FutureAsyncResult.<TaskResponse>builder().build();
315+
316+
when(asyncRequestExecutor.execute(any(HttpUriRequest.class), eq(AbstractResource.TASK_RESPONSE_TYPE_REFERENCE))).thenReturn(taskResponseAsyncResult);
317+
assertThat(asyncCloudConvertClient.importUsing().raw(expectedRawImportRequest)).isEqualTo(taskResponseAsyncResult);
318+
verify(asyncRequestExecutor, times(1)).execute(httpUriRequestArgumentCaptor.capture(), eq(AbstractResource.TASK_RESPONSE_TYPE_REFERENCE));
319+
320+
final HttpUriRequest httpUriRequest = httpUriRequestArgumentCaptor.getValue();
321+
322+
assertThat(httpUriRequest).isNotNull();
323+
assertThat(httpUriRequest.getMethod()).isEqualTo(HttpPost.METHOD_NAME);
324+
assertThat(httpUriRequest.getURI().toString()).isEqualTo(API_URL + "/" + AbstractResource.V2 + "/import/raw");
325+
assertThat(httpUriRequest).isInstanceOfSatisfying(HttpEntityEnclosingRequestBase.class, httpEntityEnclosingRequestBase -> {
326+
final RawImportRequest actualRawImportRequest = ThrowingSupplier.unchecked(() -> objectMapperProvider.provide()
327+
.readValue(httpEntityEnclosingRequestBase.getEntity().getContent(), RawImportRequest.class)).get();
328+
329+
assertThat(actualRawImportRequest.getFilename()).isEqualTo(actualRawImportRequest.getFilename());
330+
});
331+
assertThat(httpUriRequest.getHeaders(AbstractResource.HEADER_AUTHORIZATION)).hasSize(1).allSatisfy(header ->
332+
assertThat(VALUE_AUTHORIZATION).isEqualTo(header.getValue()));
333+
assertThat(httpUriRequest.getHeaders(AbstractResource.HEADER_USER_AGENT)).hasSize(1).allSatisfy(header ->
334+
assertThat(AbstractResource.VALUE_USER_AGENT).isEqualTo(header.getValue()));
335+
}
291336

292337
@After
293338
public void after() throws Exception {

0 commit comments

Comments
 (0)