Skip to content

Commit 1fe4141

Browse files
committed
use new sync API endpoints for job/task wait()
1 parent 0327b71 commit 1fe4141

13 files changed

Lines changed: 41 additions & 8 deletions

src/main/java/com/cloudconvert/client/setttings/AbstractSettingsProvider.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,13 @@ public abstract class AbstractSettingsProvider implements SettingsProvider {
1616
public static final String API_URL_SANDBOX = "https://api.sandbox.cloudconvert.com/v2";
1717
public static final String API_URL_LIVE = "https://api.cloudconvert.com/v2";
1818

19+
public static final String API_SYNC_URL_SANDBOX = "https://sync.api.sandbox.cloudconvert.com/v2";
20+
public static final String API_SYNC_URL_LIVE = "https://sync.api.cloudconvert.com/v2";
21+
1922
private String apiKey;
2023
private String webhookSigningSecret;
2124
private String apiUrl;
25+
private String syncApiUrl;
2226

2327
protected AbstractSettingsProvider(
2428
final String apiKey, final String webhookSigningSecret, final String useSandbox
@@ -43,6 +47,7 @@ private void init(final String apiKey, final String webhookSigningSecret, final
4347
this.webhookSigningSecret = Optional.ofNullable(webhookSigningSecret)
4448
.orElseThrow(() -> new IllegalArgumentException("Could not resolve " + WEBHOOK_SIGNING_SECRET + ", make sure it is set correctly ..."));
4549
this.apiUrl = Boolean.parseBoolean(useSandbox) ? API_URL_SANDBOX : API_URL_LIVE;
50+
this.syncApiUrl = Boolean.parseBoolean(useSandbox) ? API_SYNC_URL_SANDBOX : API_SYNC_URL_LIVE;
4651
}
4752

4853
@Override
@@ -59,4 +64,9 @@ public String getWebhookSigningSecret() {
5964
public String getApiUrl() {
6065
return apiUrl;
6166
}
67+
68+
@Override
69+
public String getSyncApiUrl() {
70+
return syncApiUrl;
71+
}
6272
}

src/main/java/com/cloudconvert/client/setttings/SettingsProvider.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@ public interface SettingsProvider {
99

1010
String getApiUrl();
1111

12+
String getSyncApiUrl();
13+
1214
String getWebhookSigningSecret();
1315
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public abstract JRAR wait(
144144
protected HttpUriRequest getWaitHttpUriRequest(
145145
@NotNull final String jobId
146146
) throws URISyntaxException {
147-
final URI uri = getUri(ImmutableList.of(PATH_SEGMENT_JOBS, jobId, PATH_SEGMENT_WAIT));
147+
final URI uri = getSyncUri(ImmutableList.of(PATH_SEGMENT_JOBS, jobId));
148148

149149
return getHttpUriRequest(HttpGet.class, uri);
150150
}

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,20 @@ protected URI getUri(
105105
return new URIBuilder(settingsProvider.getApiUrl()).setPathSegments(v2PathSegments).setParameters(nameValuePairs).build();
106106
}
107107

108+
protected URI getSyncUri(
109+
final List<String> pathSegments
110+
) throws URISyntaxException {
111+
return getSyncUri(pathSegments, ImmutableList.of());
112+
}
113+
114+
protected URI getSyncUri(
115+
final List<String> pathSegments, final List<NameValuePair> nameValuePairs
116+
) throws URISyntaxException {
117+
final List<String> v2PathSegments = ImmutableList.<String>builder().add(V2).addAll(pathSegments).build();
118+
119+
return new URIBuilder(settingsProvider.getSyncApiUrl()).setPathSegments(v2PathSegments).setParameters(nameValuePairs).build();
120+
}
121+
108122
protected HttpEntity getHttpEntity(
109123
final Request request
110124
) throws JsonProcessingException {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public abstract TRAR wait(
164164
protected HttpUriRequest getWaitHttpUriRequest(
165165
@NotNull final String taskId
166166
) throws URISyntaxException {
167-
final URI uri = getUri(ImmutableList.of(PATH_SEGMENT_TASKS, taskId, PATH_SEGMENT_WAIT));
167+
final URI uri = getSyncUri(ImmutableList.of(PATH_SEGMENT_TASKS, taskId));
168168

169169
return getHttpUriRequest(HttpGet.class, uri);
170170
}

src/test/java/com/cloudconvert/test/framework/AbstractTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
public abstract class AbstractTest {
66

77
public static final String API_URL = "https://api.sandbox.cloudconvert.com";
8+
public static final String API_SYNC_URL = "https://sync.api.sandbox.cloudconvert.com";
89
public static final String API_KEY = "api-key";
910

1011
public static final String VALUE_AUTHORIZATION = AbstractResource.BEARER + " " + API_KEY;

src/test/java/com/cloudconvert/test/integration/AsyncCloudConvertClientExceptionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void unprocessableEntity() throws Exception {
5757
() -> asyncCloudConvertAuthorizedClient.jobs().create(ImmutableMap.of()).get(), CloudConvertClientException.class);
5858

5959
assertThat(cloudConvertClientException.getStatus().getCode()).isEqualTo(HttpStatus.SC_UNPROCESSABLE_ENTITY);
60-
assertThat(cloudConvertClientException.getStatus().getReason()).isEqualTo("Unprocessable Entity");
60+
assertThat(cloudConvertClientException.getStatus().getReason()).contains("Unprocessable");
6161
assertThat(cloudConvertClientException.getHeaders()).containsKey("Content-Type");
6262
assertThat(cloudConvertClientException.getBody().getCode()).isEqualTo("INVALID_DATA");
6363
assertThat(cloudConvertClientException.getBody().getMessage()).isEqualTo("The given data was invalid.");

src/test/java/com/cloudconvert/test/integration/CloudConvertClientExceptionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public void unprocessableEntity() throws Exception {
5757
() -> cloudConvertAuthorizedClient.jobs().create(ImmutableMap.of()), CloudConvertClientException.class);
5858

5959
assertThat(cloudConvertClientException.getStatus().getCode()).isEqualTo(HttpStatus.SC_UNPROCESSABLE_ENTITY);
60-
assertThat(cloudConvertClientException.getStatus().getReason()).isEqualTo("Unprocessable Entity");
60+
assertThat(cloudConvertClientException.getStatus().getReason()).contains("Unprocessable");
6161
assertThat(cloudConvertClientException.getHeaders()).containsKey("Content-Type");
6262
assertThat(cloudConvertClientException.getBody().getCode()).isEqualTo("INVALID_DATA");
6363
assertThat(cloudConvertClientException.getBody().getMessage()).isEqualTo("The given data was invalid.");

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ public class AsyncJobsUnitTest extends AbstractTest {
7777
public void before() {
7878
when(settingsProvider.getApiKey()).thenReturn(API_KEY);
7979
when(settingsProvider.getApiUrl()).thenReturn(API_URL);
80+
when(settingsProvider.getSyncApiUrl()).thenReturn(API_SYNC_URL);
8081

8182
asyncCloudConvertClient = new AsyncCloudConvertClient(settingsProvider, objectMapperProvider, asyncRequestExecutor);
8283
}
@@ -152,7 +153,7 @@ public void jobs_wait() throws Exception {
152153

153154
assertThat(httpUriRequest).isNotNull();
154155
assertThat(httpUriRequest.getMethod()).isEqualTo(HttpGet.METHOD_NAME);
155-
assertThat(httpUriRequest.getURI().toString()).isEqualTo(API_URL + "/" + AbstractResource.V2 + "/jobs/" + JOB_ID + "/wait");
156+
assertThat(httpUriRequest.getURI().toString()).isEqualTo(API_SYNC_URL + "/" + AbstractResource.V2 + "/jobs/" + JOB_ID);
156157
assertThat(httpUriRequest).isInstanceOf(HttpRequestBase.class);
157158
assertThat(httpUriRequest.getHeaders(AbstractResource.HEADER_AUTHORIZATION)).hasSize(1).allSatisfy(header ->
158159
assertThat(VALUE_AUTHORIZATION).isEqualTo(header.getValue()));

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ public class AsyncTasksUnitTest extends AbstractTest {
7878
public void before() {
7979
when(settingsProvider.getApiKey()).thenReturn(API_KEY);
8080
when(settingsProvider.getApiUrl()).thenReturn(API_URL);
81+
when(settingsProvider.getSyncApiUrl()).thenReturn(API_SYNC_URL);
8182

8283
asyncCloudConvertClient = new AsyncCloudConvertClient(settingsProvider, objectMapperProvider, asyncRequestExecutor);
8384
}
@@ -137,7 +138,7 @@ public void tasks_wait() throws Exception {
137138

138139
assertThat(httpUriRequest).isNotNull();
139140
assertThat(httpUriRequest.getMethod()).isEqualTo(HttpGet.METHOD_NAME);
140-
assertThat(httpUriRequest.getURI().toString()).isEqualTo(API_URL + "/" + AbstractResource.V2 + "/tasks/" + TASK_ID + "/wait");
141+
assertThat(httpUriRequest.getURI().toString()).isEqualTo(API_SYNC_URL + "/" + AbstractResource.V2 + "/tasks/" + TASK_ID);
141142
assertThat(httpUriRequest).isInstanceOf(HttpRequestBase.class);
142143
assertThat(httpUriRequest.getHeaders(AbstractResource.HEADER_AUTHORIZATION)).hasSize(1).allSatisfy(header ->
143144
assertThat(VALUE_AUTHORIZATION).isEqualTo(header.getValue()));

0 commit comments

Comments
 (0)