|
3 | 3 | import com.cloudconvert.client.AsyncCloudConvertClient; |
4 | 4 | import com.cloudconvert.client.mapper.ObjectMapperProvider; |
5 | 5 | 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.*; |
13 | 7 | import com.cloudconvert.dto.response.TaskResponse; |
14 | 8 | import com.cloudconvert.dto.result.AsyncResult; |
15 | 9 | import com.cloudconvert.dto.result.CompletedAsyncResult; |
@@ -288,6 +282,57 @@ public void import_sftp() throws Exception { |
288 | 282 | assertThat(httpUriRequest.getHeaders(AbstractResource.HEADER_USER_AGENT)).hasSize(1).allSatisfy(header -> |
289 | 283 | assertThat(AbstractResource.VALUE_USER_AGENT).isEqualTo(header.getValue())); |
290 | 284 | } |
| 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 | + } |
291 | 336 |
|
292 | 337 | @After |
293 | 338 | public void after() throws Exception { |
|
0 commit comments