diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d1b3b8..308f41e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 0.6.26 +- Catch up to Java 11 + ## 0.6.25 - 2022-09-21 - Properly shutdown ThreadExecutor when an unexpected error occurs diff --git a/build.gradle b/build.gradle index db62ea3..85930f6 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { id "checkstyle" id "jacoco" id "signing" - id "org.embulk.embulk-plugins" version "0.4.2" + id "org.embulk.embulk-plugins" version "0.5.5" } repositories { @@ -13,7 +13,7 @@ repositories { group = "com.treasuredata.embulk.plugins" description = "Loads records from Marketo." -version = "0.6.25" +version = "0.6.26" sourceCompatibility = 1.8 targetCompatibility = 1.8 @@ -29,7 +29,7 @@ dependencies { compileOnly "org.embulk:embulk-api:$embulkVersion" compileOnly "org.embulk:embulk-spi:$embulkVersion" - compile('org.embulk:embulk-util-config:0.3.1') { + implementation('org.embulk:embulk-util-config:0.3.2') { // Conflict with Embulk Core exclude group: 'com.fasterxml.jackson.core', module: 'jackson-annotations' exclude group: 'com.fasterxml.jackson.core', module: 'jackson-core' @@ -38,32 +38,33 @@ dependencies { exclude group: 'javax.validation', module: 'validation-api' } - compile "org.embulk:embulk-util-json:0.1.1" - compile "org.embulk:embulk-util-text:0.1.1" - compile "org.embulk:embulk-util-timestamp:0.2.1" + implementation "org.embulk:embulk-util-json:0.1.1" + implementation "org.embulk:embulk-util-text:0.1.1" + implementation "org.embulk:embulk-util-timestamp:0.2.1" // Explicit dependencies for embulk-util-* that matches with Embulk - compile 'com.fasterxml.jackson.core:jackson-core:2.6.7' - compile 'com.fasterxml.jackson.core:jackson-annotations:2.6.7' - compile 'com.fasterxml.jackson.core:jackson-databind:2.6.7' - compile 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.6.7' - compile 'javax.validation:validation-api:1.1.0.Final' - compile('org.apache.bval:bval-jsr303:0.5'){ - exclude group: 'org.apache.commons', module: 'commons-lang' - } - - compile 'org.embulk:embulk-base-restclient:0.10.1' - compile 'org.embulk:embulk-util-retryhelper-jetty92:0.8.2' - - compile 'com.google.guava:guava:18.0' - compile "com.google.code.findbugs:annotations:3.0.1" - compile 'org.apache.commons:commons-lang3:3.4' - - testCompile "junit:junit:4.+" - testCompile "org.embulk:embulk-core:$embulkVersion:tests" - testCompile "org.embulk:embulk-junit4:$embulkVersion" - testCompile "org.embulk:embulk-deps:$embulkVersion" - testCompile "org.mockito:mockito-core:2.+" + implementation 'com.fasterxml.jackson.core:jackson-core:2.6.7' + implementation 'com.fasterxml.jackson.core:jackson-annotations:2.6.7' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.6.7' + implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.6.7' + implementation 'javax.validation:validation-api:1.1.0.Final' + implementation 'org.apache.bval:bval-jsr303:0.5' + implementation 'org.embulk:embulk-base-restclient:0.10.1' + implementation 'org.embulk:embulk-util-retryhelper-jetty94:0.9.0' + + implementation 'com.google.guava:guava:18.0' + implementation "com.google.code.findbugs:annotations:3.0.1" + implementation 'org.apache.commons:commons-lang3:3.12.0' + implementation "javax.xml.bind:jaxb-api:2.2.11" + implementation "com.sun.xml.bind:jaxb-core:2.2.11" + implementation "com.sun.xml.bind:jaxb-impl:2.2.11" + implementation "javax.activation:activation:1.1.1" + + testImplementation "junit:junit:4.+" + testImplementation "org.embulk:embulk-core:$embulkVersion:tests" + testImplementation "org.embulk:embulk-junit4:$embulkVersion" + testImplementation "org.embulk:embulk-deps:$embulkVersion" + testImplementation "org.mockito:mockito-core:2.+" } embulkPlugin { diff --git a/gradle/dependency-locks/compileClasspath.lockfile b/gradle/dependency-locks/compileClasspath.lockfile new file mode 100644 index 0000000..faf071a --- /dev/null +++ b/gradle/dependency-locks/compileClasspath.lockfile @@ -0,0 +1,36 @@ +# This is a Gradle generated file for dependency locking. +# Manual edits can break the build and are not advised. +# This file is expected to be part of source control. +com.fasterxml.jackson.core:jackson-annotations:2.6.7 +com.fasterxml.jackson.core:jackson-core:2.6.7 +com.fasterxml.jackson.core:jackson-databind:2.6.7 +com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.6.7 +com.google.code.findbugs:annotations:3.0.1 +com.google.code.findbugs:jsr305:3.0.1 +com.google.guava:guava:18.0 +com.sun.xml.bind:jaxb-core:2.2.11 +com.sun.xml.bind:jaxb-impl:2.2.11 +commons-beanutils:commons-beanutils-core:1.8.3 +javax.activation:activation:1.1.1 +javax.validation:validation-api:1.1.0.Final +javax.xml.bind:jaxb-api:2.2.11 +net.jcip:jcip-annotations:1.0 +org.apache.bval:bval-core:0.5 +org.apache.bval:bval-jsr303:0.5 +org.apache.commons:commons-lang3:3.12.0 +org.eclipse.jetty:jetty-client:9.4.51.v20230217 +org.eclipse.jetty:jetty-http:9.4.51.v20230217 +org.eclipse.jetty:jetty-io:9.4.51.v20230217 +org.eclipse.jetty:jetty-util:9.4.51.v20230217 +org.embulk:embulk-api:0.10.29 +org.embulk:embulk-base-restclient:0.10.1 +org.embulk:embulk-spi:0.10.29 +org.embulk:embulk-util-config:0.3.2 +org.embulk:embulk-util-file:0.1.3 +org.embulk:embulk-util-json:0.1.1 +org.embulk:embulk-util-retryhelper-jetty94:0.9.0 +org.embulk:embulk-util-retryhelper:0.9.0 +org.embulk:embulk-util-text:0.1.1 +org.embulk:embulk-util-timestamp:0.2.1 +org.msgpack:msgpack-core:0.8.11 +org.slf4j:slf4j-api:1.7.30 diff --git a/gradle/dependency-locks/embulkPluginRuntime.lockfile b/gradle/dependency-locks/runtimeClasspath.lockfile similarity index 64% rename from gradle/dependency-locks/embulkPluginRuntime.lockfile rename to gradle/dependency-locks/runtimeClasspath.lockfile index 9d39577..56198e7 100644 --- a/gradle/dependency-locks/embulkPluginRuntime.lockfile +++ b/gradle/dependency-locks/runtimeClasspath.lockfile @@ -8,22 +8,26 @@ com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.6.7 com.google.code.findbugs:annotations:3.0.1 com.google.code.findbugs:jsr305:3.0.1 com.google.guava:guava:18.0 +com.sun.xml.bind:jaxb-core:2.2.11 +com.sun.xml.bind:jaxb-impl:2.2.11 commons-beanutils:commons-beanutils-core:1.8.3 +javax.activation:activation:1.1.1 javax.validation:validation-api:1.1.0.Final +javax.xml.bind:jaxb-api:2.2.11 net.jcip:jcip-annotations:1.0 org.apache.bval:bval-core:0.5 org.apache.bval:bval-jsr303:0.5 -org.apache.commons:commons-lang3:3.4 -org.eclipse.jetty:jetty-client:9.2.14.v20151106 -org.eclipse.jetty:jetty-http:9.2.14.v20151106 -org.eclipse.jetty:jetty-io:9.2.14.v20151106 -org.eclipse.jetty:jetty-util:9.2.14.v20151106 +org.apache.commons:commons-lang3:3.12.0 +org.eclipse.jetty:jetty-client:9.4.51.v20230217 +org.eclipse.jetty:jetty-http:9.4.51.v20230217 +org.eclipse.jetty:jetty-io:9.4.51.v20230217 +org.eclipse.jetty:jetty-util:9.4.51.v20230217 org.embulk:embulk-base-restclient:0.10.1 -org.embulk:embulk-util-config:0.3.1 +org.embulk:embulk-util-config:0.3.2 org.embulk:embulk-util-file:0.1.3 org.embulk:embulk-util-json:0.1.1 -org.embulk:embulk-util-retryhelper-jetty92:0.8.2 -org.embulk:embulk-util-retryhelper:0.8.2 +org.embulk:embulk-util-retryhelper-jetty94:0.9.0 +org.embulk:embulk-util-retryhelper:0.9.0 org.embulk:embulk-util-rubytime:0.3.2 org.embulk:embulk-util-text:0.1.1 org.embulk:embulk-util-timestamp:0.2.1 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index deedc7f..f3d88b1 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ed14579..53b9e38 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Mon Mar 27 16:55:11 ICT 2021 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.2-all.zip \ No newline at end of file diff --git a/gradlew b/gradlew index 645f6ca..2fe81a7 100755 --- a/gradlew +++ b/gradlew @@ -180,4 +180,4 @@ APP_ARGS=`save "$@"` # Collect all arguments for the java command, following the shell quoting and substitution rules eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" -exec "$JAVACMD" "$@" \ No newline at end of file +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index 8d8accd..9109989 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -100,4 +100,4 @@ exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal -:omega \ No newline at end of file +:omega diff --git a/src/main/java/org/embulk/input/marketo/rest/MarketoBaseRestClient.java b/src/main/java/org/embulk/input/marketo/rest/MarketoBaseRestClient.java index 703b310..1932c37 100644 --- a/src/main/java/org/embulk/input/marketo/rest/MarketoBaseRestClient.java +++ b/src/main/java/org/embulk/input/marketo/rest/MarketoBaseRestClient.java @@ -17,10 +17,10 @@ import org.embulk.input.marketo.model.MarketoAccessTokenResponse; import org.embulk.input.marketo.model.MarketoError; import org.embulk.spi.DataException; -import org.embulk.util.retryhelper.jetty92.Jetty92ResponseReader; -import org.embulk.util.retryhelper.jetty92.Jetty92RetryHelper; -import org.embulk.util.retryhelper.jetty92.Jetty92SingleRequester; -import org.embulk.util.retryhelper.jetty92.StringJetty92ResponseEntityReader; +import org.embulk.util.retryhelper.jetty94.Jetty94ResponseReader; +import org.embulk.util.retryhelper.jetty94.Jetty94RetryHelper; +import org.embulk.util.retryhelper.jetty94.Jetty94SingleRequester; +import org.embulk.util.retryhelper.jetty94.StringJetty94ResponseEntityReader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,7 +35,7 @@ import static com.fasterxml.jackson.core.JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS; import static com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES; -import static org.embulk.input.marketo.rest.MarketoResponseJetty92EntityReader.jsonResponseInvalid; +import static org.embulk.input.marketo.rest.MarketoResponseJettyEntityReader.jsonResponseInvalid; /** * Marketo base rest client @@ -59,7 +59,7 @@ public class MarketoBaseRestClient implements AutoCloseable private int marketoLimitIntervalMillis; - private Jetty92RetryHelper retryHelper; + private Jetty94RetryHelper retryHelper; protected long readTimeoutMillis; @@ -73,7 +73,7 @@ public class MarketoBaseRestClient implements AutoCloseable Optional partnerApiKey, int marketoLimitIntervalMillis, long readTimeoutMillis, - Jetty92RetryHelper retryHelper) + Jetty94RetryHelper retryHelper) { this.identityEndPoint = identityEndPoint; this.clientId = clientId; @@ -115,7 +115,7 @@ private String requestAccessToken() params.put("partner_id", partnerApiKey.get()); } - String response = retryHelper.requestWithRetry(new StringJetty92ResponseEntityReader(readTimeoutMillis), new Jetty92SingleRequester() + String response = retryHelper.requestWithRetry(new StringJetty94ResponseEntityReader(readTimeoutMillis), new Jetty94SingleRequester() { @Override public void requestOnce(HttpClient client, Response.Listener responseListener) @@ -165,12 +165,12 @@ protected boolean isExceptionToRetry(Exception exception) return accessTokenResponse.getAccessToken(); } - protected T doGet(final String target, final Map headers, final Multimap params, Jetty92ResponseReader responseReader) + protected T doGet(final String target, final Map headers, final Multimap params, Jetty94ResponseReader responseReader) { return doRequestWithWrappedException(target, HttpMethod.GET, headers, params, null, responseReader); } - protected T doPost(final String target, final Map headers, final Multimap params, final String content, Jetty92ResponseReader responseReader) + protected T doPost(final String target, final Map headers, final Multimap params, final String content, Jetty94ResponseReader responseReader) { StringContentProvider contentProvider = null; if (content != null) { @@ -179,7 +179,7 @@ protected T doPost(final String target, final Map headers, f return doPost(target, headers, params, responseReader, contentProvider); } - protected T doPost(final String target, final Map headers, final Multimap params, Jetty92ResponseReader responseReader, final ContentProvider content) + protected T doPost(final String target, final Map headers, final Multimap params, Jetty94ResponseReader responseReader, final ContentProvider content) { return doRequestWithWrappedException(target, HttpMethod.POST, headers, params, content, responseReader); } @@ -200,7 +200,7 @@ private String getAccessTokenWithWrappedException() } } - private T doRequestWithWrappedException(final String target, final HttpMethod method, final Map headers, final Multimap params, final ContentProvider contentProvider, Jetty92ResponseReader responseReader) + private T doRequestWithWrappedException(final String target, final HttpMethod method, final Map headers, final Multimap params, final ContentProvider contentProvider, Jetty94ResponseReader responseReader) { try { return doRequest(target, method, headers, params, contentProvider, responseReader); @@ -216,9 +216,9 @@ private T doRequestWithWrappedException(final String target, final HttpMetho } } - protected T doRequest(final String target, final HttpMethod method, final Map headers, final Multimap params, final ContentProvider contentProvider, Jetty92ResponseReader responseReader) + protected T doRequest(final String target, final HttpMethod method, final Map headers, final Multimap params, final ContentProvider contentProvider, Jetty94ResponseReader responseReader) { - return retryHelper.requestWithRetry(responseReader, new Jetty92SingleRequester() + return retryHelper.requestWithRetry(responseReader, new Jetty94SingleRequester() { @Override public void requestOnce(HttpClient client, Response.Listener responseListener) diff --git a/src/main/java/org/embulk/input/marketo/rest/MarketoInputStreamResponseEntityReader.java b/src/main/java/org/embulk/input/marketo/rest/MarketoInputStreamResponseEntityReader.java index a95f31b..58fca5c 100644 --- a/src/main/java/org/embulk/input/marketo/rest/MarketoInputStreamResponseEntityReader.java +++ b/src/main/java/org/embulk/input/marketo/rest/MarketoInputStreamResponseEntityReader.java @@ -10,7 +10,7 @@ import org.eclipse.jetty.http.HttpHeader; import org.embulk.input.marketo.exception.MarketoAPIException; import org.embulk.input.marketo.model.MarketoResponse; -import org.embulk.util.retryhelper.jetty92.Jetty92ResponseReader; +import org.embulk.util.retryhelper.jetty94.Jetty94ResponseReader; import java.io.InputStream; import java.io.InputStreamReader; @@ -19,7 +19,7 @@ /** * Created by tai.khuu on 9/5/17. */ -public class MarketoInputStreamResponseEntityReader implements Jetty92ResponseReader +public class MarketoInputStreamResponseEntityReader implements Jetty94ResponseReader { private static final ObjectReader OBJECT_READER = new ObjectMapper().readerFor(new TypeReference>(){ }); diff --git a/src/main/java/org/embulk/input/marketo/rest/MarketoResponseJetty92EntityReader.java b/src/main/java/org/embulk/input/marketo/rest/MarketoResponseJettyEntityReader.java similarity index 89% rename from src/main/java/org/embulk/input/marketo/rest/MarketoResponseJetty92EntityReader.java rename to src/main/java/org/embulk/input/marketo/rest/MarketoResponseJettyEntityReader.java index 669dbbc..a87ac8a 100644 --- a/src/main/java/org/embulk/input/marketo/rest/MarketoResponseJetty92EntityReader.java +++ b/src/main/java/org/embulk/input/marketo/rest/MarketoResponseJettyEntityReader.java @@ -10,7 +10,7 @@ import org.embulk.input.marketo.exception.MarketoAPIException; import org.embulk.input.marketo.model.MarketoResponse; import org.embulk.spi.DataException; -import org.embulk.util.retryhelper.jetty92.Jetty92ResponseReader; +import org.embulk.util.retryhelper.jetty94.Jetty94ResponseReader; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,26 +23,26 @@ /** * Created by tai.khuu on 9/1/17. */ -public class MarketoResponseJetty92EntityReader implements Jetty92ResponseReader> +public class MarketoResponseJettyEntityReader implements Jetty94ResponseReader> { private InputStreamResponseListener listener; private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - private static final Logger LOGGER = LoggerFactory.getLogger(MarketoResponseJetty92EntityReader.class); + private static final Logger LOGGER = LoggerFactory.getLogger(MarketoResponseJettyEntityReader.class); private final Long timeout; private final JavaType javaType; public static String jsonResponseInvalid = "Exception when parse json content"; - public MarketoResponseJetty92EntityReader(long timeout) + public MarketoResponseJettyEntityReader(long timeout) { this.timeout = timeout; javaType = OBJECT_MAPPER.getTypeFactory().constructParametrizedType(MarketoResponse.class, MarketoResponse.class, ObjectNode.class); } - public MarketoResponseJetty92EntityReader(long timeout, Class resultClass) + public MarketoResponseJettyEntityReader(long timeout, Class resultClass) { this.listener = new InputStreamResponseListener(); this.timeout = timeout; diff --git a/src/main/java/org/embulk/input/marketo/rest/MarketoRestClient.java b/src/main/java/org/embulk/input/marketo/rest/MarketoRestClient.java index e055636..4961022 100644 --- a/src/main/java/org/embulk/input/marketo/rest/MarketoRestClient.java +++ b/src/main/java/org/embulk/input/marketo/rest/MarketoRestClient.java @@ -24,8 +24,8 @@ import org.embulk.util.config.Config; import org.embulk.util.config.ConfigDefault; import org.embulk.util.config.Task; -import org.embulk.util.retryhelper.jetty92.DefaultJetty92ClientCreator; -import org.embulk.util.retryhelper.jetty92.Jetty92RetryHelper; +import org.embulk.util.retryhelper.jetty94.DefaultJetty94ClientCreator; +import org.embulk.util.retryhelper.jetty94.Jetty94RetryHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -153,10 +153,10 @@ public MarketoRestClient(PluginTask task) task.getMaxReturn(), task.getReadTimeoutMillis(), task.getMarketoLimitIntervalMilis(), - new Jetty92RetryHelper(task.getMaximumRetries(), + new Jetty94RetryHelper(task.getMaximumRetries(), task.getInitialRetryIntervalMilis(), task.getMaximumRetriesIntervalMilis(), - new DefaultJetty92ClientCreator(CONNECT_TIMEOUT_IN_MILLIS, IDLE_TIMEOUT_IN_MILLIS))); + new DefaultJetty94ClientCreator(CONNECT_TIMEOUT_IN_MILLIS, IDLE_TIMEOUT_IN_MILLIS))); } public MarketoRestClient(String endPoint, @@ -168,7 +168,7 @@ public MarketoRestClient(String endPoint, Integer maxReturn, long readTimeoutMilis, int marketoLimitIntervalMilis, - Jetty92RetryHelper retryHelper) + Jetty94RetryHelper retryHelper) { super(identityEndPoint, clientId, clientSecret, partnerApiKey, marketoLimitIntervalMilis, readTimeoutMilis, retryHelper); this.endPoint = endPoint; @@ -178,7 +178,7 @@ public MarketoRestClient(String endPoint, public List describeLead() { - MarketoResponse jsonResponse = doGet(endPoint + MarketoRESTEndpoint.DESCRIBE_LEAD.getEndpoint(), null, null, new MarketoResponseJetty92EntityReader<>(this.readTimeoutMillis)); + MarketoResponse jsonResponse = doGet(endPoint + MarketoRESTEndpoint.DESCRIBE_LEAD.getEndpoint(), null, null, new MarketoResponseJettyEntityReader<>(this.readTimeoutMillis)); List marketoFields = new ArrayList<>(); List fields = jsonResponse.getResult(); for (ObjectNode field : fields) { @@ -229,7 +229,7 @@ public String sendCreateBulkExtractRequest(MarketoBulkExtractRequest request, Ma MarketoResponse marketoResponse; try { logger.info("Send bulk extract request [{}]", request); - marketoResponse = doPost(endPoint + endpoint.getEndpoint(), null, null, OBJECT_MAPPER.writeValueAsString(request), new MarketoResponseJetty92EntityReader<>(readTimeoutMillis)); + marketoResponse = doPost(endPoint + endpoint.getEndpoint(), null, null, OBJECT_MAPPER.writeValueAsString(request), new MarketoResponseJettyEntityReader<>(readTimeoutMillis)); } catch (JsonProcessingException e) { logger.error("Encounter exception when deserialize bulk extract request", e); @@ -257,7 +257,7 @@ private void startBulkExtract(MarketoRESTEndpoint marketoRESTEndpoint, String ex { MarketoResponse marketoResponse = doPost(endPoint + marketoRESTEndpoint.getEndpoint( new ImmutableMap.Builder().put("export_id", exportId).build()), null, null, null, - new MarketoResponseJetty92EntityReader<>(readTimeoutMillis)); + new MarketoResponseJettyEntityReader<>(readTimeoutMillis)); if (!marketoResponse.isSuccess()) { MarketoError error = marketoResponse.getErrors().get(0); throw new DataException(String.format("Can't start job for export Job id : %s, error code: %s, error message: %s", exportId, error.getCode(), error.getMessage())); @@ -295,7 +295,7 @@ private ObjectNode waitExportJobComplete(MarketoRESTEndpoint marketoRESTEndpoint long now = System.currentTimeMillis(); while (true) { MarketoResponse marketoResponse = doGet(this.endPoint + marketoRESTEndpoint.getEndpoint( - new ImmutableMap.Builder().put("export_id", exportId).build()), null, null, new MarketoResponseJetty92EntityReader<>(readTimeoutMillis)); + new ImmutableMap.Builder().put("export_id", exportId).build()), null, null, new MarketoResponseJettyEntityReader<>(readTimeoutMillis)); if (marketoResponse.isSuccess()) { ObjectNode objectNode = marketoResponse.getResult().get(0); String status = objectNode.get("status").asText(); @@ -415,7 +415,7 @@ private RecordPagingIterable.OffsetPage getOffsetPage(int offset) if (parameters != null) { params.putAll(parameters); } - MarketoResponse marketoResponse = doGet(endPoint, null, params.build(), new MarketoResponseJetty92EntityReader<>(readTimeoutMillis, recordClass)); + MarketoResponse marketoResponse = doGet(endPoint, null, params.build(), new MarketoResponseJettyEntityReader<>(readTimeoutMillis, recordClass)); return new RecordPagingIterable.OffsetPage<>(marketoResponse.getResult(), offset + marketoResponse.getResult().size(), marketoResponse.getResult().size() == maxReturn); } }); @@ -456,7 +456,7 @@ private RecordPagingIterable.TokenPage getTokenPage(RecordPagingIterable.Toke } //Let do GET Disguise in POST here to overcome Marketo URI Too long error FormContentProvider formContentProvider = new FormContentProvider(fields); - MarketoResponse marketoResponse = doPost(endPoint, null, params.build(), new MarketoResponseJetty92EntityReader<>(readTimeoutMillis, recordClass), formContentProvider); + MarketoResponse marketoResponse = doPost(endPoint, null, params.build(), new MarketoResponseJettyEntityReader<>(readTimeoutMillis, recordClass), formContentProvider); return new RecordPagingIterable.TokenPage<>(marketoResponse.getResult(), marketoResponse.getNextPageToken(), marketoResponse.getNextPageToken() != null); } }); @@ -486,7 +486,7 @@ public Iterable getProgramsByDateRange(Date earliestUpdatedAt, Date public List describeCustomObject(String apiName) { - MarketoResponse jsonResponse = doGet(endPoint + MarketoRESTEndpoint.GET_CUSTOM_OBJECT_DESCRIBE.getEndpoint(new ImmutableMap.Builder().put("api_name", apiName).build()), null, null, new MarketoResponseJetty92EntityReader<>(this.readTimeoutMillis)); + MarketoResponse jsonResponse = doGet(endPoint + MarketoRESTEndpoint.GET_CUSTOM_OBJECT_DESCRIBE.getEndpoint(new ImmutableMap.Builder().put("api_name", apiName).build()), null, null, new MarketoResponseJettyEntityReader<>(this.readTimeoutMillis)); if (jsonResponse.getResult().size() == 0) { throw new ConfigException(String.format("Custom Object %s is not exits.", apiName)); } @@ -545,7 +545,7 @@ private RecordPagingIterable.OffsetWithTokenPage getOffsetPage(int offset, St if (customObjectFields != null) { params.put(FIELDS, customObjectFields); } - MarketoResponse marketoResponse = doGet(endPoint, null, params.build(), new MarketoResponseJetty92EntityReader<>(readTimeoutMillis, recordClass)); + MarketoResponse marketoResponse = doGet(endPoint, null, params.build(), new MarketoResponseJettyEntityReader<>(readTimeoutMillis, recordClass)); String nextToken = ""; if (StringUtils.isNotBlank(marketoResponse.getNextPageToken())) { nextToken = marketoResponse.getNextPageToken(); @@ -591,7 +591,7 @@ public Iterable getActivityTypes() public ObjectNode describeProgramMembers() { - MarketoResponse jsonResponse = doGet(endPoint + MarketoRESTEndpoint.DESCRIBE_PROGRAM_MEMBERS.getEndpoint(), null, null, new MarketoResponseJetty92EntityReader<>(this.readTimeoutMillis)); + MarketoResponse jsonResponse = doGet(endPoint + MarketoRESTEndpoint.DESCRIBE_PROGRAM_MEMBERS.getEndpoint(), null, null, new MarketoResponseJettyEntityReader<>(this.readTimeoutMillis)); return jsonResponse.getResult().get(0); } diff --git a/src/test/java/org/embulk/input/marketo/rest/MarketoBaseRestClientTest.java b/src/test/java/org/embulk/input/marketo/rest/MarketoBaseRestClientTest.java index ef7df9b..ffda0d0 100644 --- a/src/test/java/org/embulk/input/marketo/rest/MarketoBaseRestClientTest.java +++ b/src/test/java/org/embulk/input/marketo/rest/MarketoBaseRestClientTest.java @@ -16,11 +16,11 @@ import org.embulk.input.marketo.model.MarketoError; import org.embulk.input.marketo.model.MarketoResponse; import org.embulk.spi.DataException; -import org.embulk.util.retryhelper.jetty92.DefaultJetty92ClientCreator; -import org.embulk.util.retryhelper.jetty92.Jetty92ClientCreator; -import org.embulk.util.retryhelper.jetty92.Jetty92RetryHelper; -import org.embulk.util.retryhelper.jetty92.Jetty92SingleRequester; -import org.embulk.util.retryhelper.jetty92.StringJetty92ResponseEntityReader; +import org.embulk.util.retryhelper.jetty94.DefaultJetty94ClientCreator; +import org.embulk.util.retryhelper.jetty94.Jetty94ClientCreator; +import org.embulk.util.retryhelper.jetty94.Jetty94RetryHelper; +import org.embulk.util.retryhelper.jetty94.Jetty94SingleRequester; +import org.embulk.util.retryhelper.jetty94.StringJetty94ResponseEntityReader; import org.junit.Assert; import org.junit.Before; import org.junit.Rule; @@ -38,7 +38,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeoutException; -import static org.embulk.input.marketo.rest.MarketoResponseJetty92EntityReader.jsonResponseInvalid; +import static org.embulk.input.marketo.rest.MarketoResponseJettyEntityReader.jsonResponseInvalid; /** * Created by tai.khuu on 9/21/17. @@ -51,21 +51,21 @@ public class MarketoBaseRestClientTest private MarketoBaseRestClient marketoBaseRestClient; - private Jetty92RetryHelper mockJetty92; + private Jetty94RetryHelper mockJetty94; @Rule public EmbulkTestRuntime runtime = new EmbulkTestRuntime(); @Before public void prepare() { - mockJetty92 = Mockito.mock(Jetty92RetryHelper.class); - marketoBaseRestClient = new MarketoBaseRestClient("identityEndPoint", "clientId", "clientSecret", Optional.empty(), MARKETO_LIMIT_INTERVAL_MILIS, 60000, mockJetty92); + mockJetty94 = Mockito.mock(Jetty94RetryHelper.class); + marketoBaseRestClient = new MarketoBaseRestClient("identityEndPoint", "clientId", "clientSecret", Optional.empty(), MARKETO_LIMIT_INTERVAL_MILIS, 60000, mockJetty94); } @Test public void testGetAccessToken() { - Mockito.when(mockJetty92.requestWithRetry(Mockito.any(StringJetty92ResponseEntityReader.class), Mockito.any(Jetty92SingleRequester.class))).thenReturn("{\n" + + Mockito.when(mockJetty94.requestWithRetry(Mockito.any(StringJetty94ResponseEntityReader.class), Mockito.any(Jetty94SingleRequester.class))).thenReturn("{\n" + " \"access_token\": \"access_token\",\n" + " \"token_type\": \"bearer\",\n" + " \"expires_in\": 3599,\n" + @@ -78,18 +78,18 @@ public void testGetAccessToken() @Test public void testGetAccessTokenRequester() { - ArgumentCaptor jetty92SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty92SingleRequester.class); - Mockito.when(mockJetty92.requestWithRetry(Mockito.any(StringJetty92ResponseEntityReader.class), jetty92SingleRequesterArgumentCaptor.capture())).thenReturn("{\"access_token\": \"access_token\"}"); + ArgumentCaptor jetty94SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty94SingleRequester.class); + Mockito.when(mockJetty94.requestWithRetry(Mockito.any(StringJetty94ResponseEntityReader.class), jetty94SingleRequesterArgumentCaptor.capture())).thenReturn("{\"access_token\": \"access_token\"}"); String accessToken = marketoBaseRestClient.getAccessToken(); Assert.assertEquals("access_token", accessToken); - Jetty92SingleRequester jetty92SingleRequester = jetty92SingleRequesterArgumentCaptor.getValue(); + Jetty94SingleRequester jetty94SingleRequester = jetty94SingleRequesterArgumentCaptor.getValue(); HttpClient client = Mockito.mock(HttpClient.class); Response.Listener listener = Mockito.mock(Response.Listener.class); Request mockRequest = Mockito.mock(Request.class); Mockito.when(client.newRequest(Mockito.eq(IDENTITY_END_POINT + MarketoRESTEndpoint.ACCESS_TOKEN.getEndpoint()))).thenReturn(mockRequest); Request request1 = Mockito.mock(Request.class); Mockito.when(mockRequest.method(Mockito.eq(HttpMethod.GET))).thenReturn(request1); - jetty92SingleRequester.requestOnce(client, listener); + jetty94SingleRequester.requestOnce(client, listener); Mockito.verify(request1, Mockito.times(1)).param(Mockito.eq("client_id"), Mockito.eq("clientId")); Mockito.verify(request1, Mockito.times(1)).param(Mockito.eq("client_secret"), Mockito.eq("clientSecret")); Mockito.verify(request1, Mockito.times(1)).param(Mockito.eq("grant_type"), Mockito.eq("client_credentials")); @@ -97,27 +97,27 @@ public void testGetAccessTokenRequester() // By default the partner id is not set Mockito.verify(request1, Mockito.never()).param(Mockito.eq("partner_id"), Mockito.anyString()); - Assert.assertTrue(jetty92SingleRequester.toRetry(createHttpResponseException(502))); - Assert.assertTrue(jetty92SingleRequester.toRetry(new ExecutionException(new TimeoutException()))); - Assert.assertTrue(jetty92SingleRequester.toRetry(new ExecutionException(new EOFException()))); - Assert.assertTrue(jetty92SingleRequester.toRetry(new ExecutionException(new SocketTimeoutException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createHttpResponseException(502))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new ExecutionException(new TimeoutException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new ExecutionException(new EOFException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new ExecutionException(new SocketTimeoutException()))); // Retry SocketTimeoutException, TimeoutException and EOFException - Assert.assertTrue(jetty92SingleRequester.toRetry(new SocketTimeoutException())); - Assert.assertTrue(jetty92SingleRequester.toRetry(new TimeoutException())); - Assert.assertTrue(jetty92SingleRequester.toRetry(new EOFException())); + Assert.assertTrue(jetty94SingleRequester.toRetry(new SocketTimeoutException())); + Assert.assertTrue(jetty94SingleRequester.toRetry(new TimeoutException())); + Assert.assertTrue(jetty94SingleRequester.toRetry(new EOFException())); // When EOFException is wrapped in IOException it should be retried too - Assert.assertTrue(jetty92SingleRequester.toRetry(new IOException(new EOFException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new IOException(new EOFException()))); // Retry TimeoutException when it is wrapped in IOException - Assert.assertTrue(jetty92SingleRequester.toRetry(new IOException(new TimeoutException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new IOException(new TimeoutException()))); } @Test public void testGetAccessTokenRequestShouldHavePartnerId() { final String partnerId = "sample_partner_id"; - mockJetty92 = Mockito.mock(Jetty92RetryHelper.class); - ArgumentCaptor jetty92SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty92SingleRequester.class); - Mockito.when(mockJetty92.requestWithRetry(Mockito.any(StringJetty92ResponseEntityReader.class), jetty92SingleRequesterArgumentCaptor.capture())).thenReturn("{\"access_token\": \"access_token\"}"); + mockJetty94 = Mockito.mock(Jetty94RetryHelper.class); + ArgumentCaptor jetty94SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty94SingleRequester.class); + Mockito.when(mockJetty94.requestWithRetry(Mockito.any(StringJetty94ResponseEntityReader.class), jetty94SingleRequesterArgumentCaptor.capture())).thenReturn("{\"access_token\": \"access_token\"}"); MarketoBaseRestClient restClient = Mockito.spy(new MarketoBaseRestClient("identityEndPoint", "clientId", @@ -125,12 +125,12 @@ public void testGetAccessTokenRequestShouldHavePartnerId() Optional.of(partnerId), MARKETO_LIMIT_INTERVAL_MILIS, 60000, - mockJetty92)); + mockJetty94)); // call method for evaluation restClient.getAccessToken(); - Jetty92SingleRequester singleRequester = jetty92SingleRequesterArgumentCaptor.getValue(); + Jetty94SingleRequester singleRequester = jetty94SingleRequesterArgumentCaptor.getValue(); HttpClient client = Mockito.mock(HttpClient.class); Request request = Mockito.mock(Request.class); @@ -149,8 +149,8 @@ public void testGetAccessTokenRequestShouldHavePartnerId() @Test public void testGetAccessTokenWithError() { - ArgumentCaptor jetty92SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty92SingleRequester.class); - Mockito.when(mockJetty92.requestWithRetry(Mockito.any(StringJetty92ResponseEntityReader.class), jetty92SingleRequesterArgumentCaptor.capture())).thenReturn("{\n" + + ArgumentCaptor jetty94SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty94SingleRequester.class); + Mockito.when(mockJetty94.requestWithRetry(Mockito.any(StringJetty94ResponseEntityReader.class), jetty94SingleRequesterArgumentCaptor.capture())).thenReturn("{\n" + " \"error\": \"invalid_client\",\n" + " \"error_description\": \"Bad client credentials\"\n" + "}"); @@ -169,7 +169,7 @@ public void testGetAccessTokenThrowHttpResponseException() throws Exception { HttpClient client = Mockito.mock(HttpClient.class); - Jetty92ClientCreator clientCreator = Mockito.mock(Jetty92ClientCreator.class); + Jetty94ClientCreator clientCreator = Mockito.mock(Jetty94ClientCreator.class); Mockito.doReturn(client).when(clientCreator).createAndStart(); Request request = Mockito.mock(Request.class); @@ -179,7 +179,7 @@ public void testGetAccessTokenThrowHttpResponseException() throws Exception HttpResponseException exception = new HttpResponseException("{\"error\":\"invalid_client\",\"error_description\":\"Bad client credentials\"}", Mockito.mock(Response.class)); Mockito.doThrow(exception).when(request).send(Mockito.any(Response.Listener.class)); - Jetty92RetryHelper retryHelper = new Jetty92RetryHelper(1, 1, 1, clientCreator); + Jetty94RetryHelper retryHelper = new Jetty94RetryHelper(1, 1, 1, clientCreator); final MarketoBaseRestClient restClient = new MarketoBaseRestClient("identityEndPoint", "clientId", "clientSecret", Optional.empty(), MARKETO_LIMIT_INTERVAL_MILIS, 1000, retryHelper); // calling method should wrap the HttpResponseException by ConfigException @@ -191,7 +191,7 @@ public void tetDoGetThrowHttpResponseException() throws Exception { final MarketoBaseRestClient client = doRequestWithWrapper(HttpMethod.GET); // calling method should wrap the HttpResponseException by DataException - Assert.assertThrows(DataException.class, () -> client.doGet("test_target", null, null, new MarketoResponseJetty92EntityReader(1000))); + Assert.assertThrows(DataException.class, () -> client.doGet("test_target", null, null, new MarketoResponseJettyEntityReader(1000))); } @Test @@ -199,14 +199,14 @@ public void tetDoPostThrowHttpResponseException() throws Exception { final MarketoBaseRestClient client = doRequestWithWrapper(HttpMethod.POST); // calling method should wrap the HttpResponseException by DataException - Assert.assertThrows(DataException.class, () -> client.doPost("test_target", null, null, "{\"any\": \"any\"}", new MarketoResponseJetty92EntityReader(1000))); + Assert.assertThrows(DataException.class, () -> client.doPost("test_target", null, null, "{\"any\": \"any\"}", new MarketoResponseJettyEntityReader(1000))); } private MarketoBaseRestClient doRequestWithWrapper(HttpMethod method) throws Exception { HttpClient client = Mockito.mock(HttpClient.class); - Jetty92ClientCreator clientCreator = Mockito.mock(Jetty92ClientCreator.class); + Jetty94ClientCreator clientCreator = Mockito.mock(Jetty94ClientCreator.class); Mockito.doReturn(client).when(clientCreator).createAndStart(); Request request = Mockito.mock(Request.class); @@ -216,7 +216,7 @@ private MarketoBaseRestClient doRequestWithWrapper(HttpMethod method) throws Exc HttpResponseException exception = new HttpResponseException("{\"error\":\"1035\",\"error_description\":\"Unsupported filter type for target subscription: updatedAt\"}", Mockito.mock(Response.class)); Mockito.doThrow(exception).when(request).send(Mockito.any(Response.Listener.class)); - Jetty92RetryHelper retryHelper = new Jetty92RetryHelper(1, 1, 1, clientCreator); + Jetty94RetryHelper retryHelper = new Jetty94RetryHelper(1, 1, 1, clientCreator); final MarketoBaseRestClient restClient = Mockito.spy(new MarketoBaseRestClient("identityEndPoint", "clientId", "clientSecret", Optional.empty(), MARKETO_LIMIT_INTERVAL_MILIS, 1000, retryHelper)); Mockito.doReturn("test_access_token").when(restClient).getAccessToken(); @@ -227,16 +227,16 @@ private MarketoBaseRestClient doRequestWithWrapper(HttpMethod method) throws Exc public void testDoPost() { MarketoBaseRestClient spy = Mockito.spy(marketoBaseRestClient); - spy.doPost("target", Maps.newHashMap(), new ImmutableListMultimap.Builder().build(), "test_content", new StringJetty92ResponseEntityReader(10)); - Mockito.verify(spy, Mockito.times(1)).doRequest(Mockito.anyString(), Mockito.eq(HttpMethod.POST), Mockito.any(Map.class), Mockito.any(Multimap.class), Mockito.any(StringContentProvider.class), Mockito.any(StringJetty92ResponseEntityReader.class)); + spy.doPost("target", Maps.newHashMap(), new ImmutableListMultimap.Builder().build(), "test_content", new StringJetty94ResponseEntityReader(10)); + Mockito.verify(spy, Mockito.times(1)).doRequest(Mockito.anyString(), Mockito.eq(HttpMethod.POST), Mockito.any(Map.class), Mockito.any(Multimap.class), Mockito.any(StringContentProvider.class), Mockito.any(StringJetty94ResponseEntityReader.class)); } @Test public void testDoGet() { MarketoBaseRestClient spy = Mockito.spy(marketoBaseRestClient); - spy.doGet("target", Maps.newHashMap(), new ImmutableListMultimap.Builder().build(), new StringJetty92ResponseEntityReader(10)); - Mockito.verify(spy, Mockito.times(1)).doRequest(Mockito.anyString(), Mockito.eq(HttpMethod.GET), Mockito.any(Map.class), Mockito.any(Multimap.class), Mockito.isNull(), Mockito.any(StringJetty92ResponseEntityReader.class)); + spy.doGet("target", Maps.newHashMap(), new ImmutableListMultimap.Builder().build(), new StringJetty94ResponseEntityReader(10)); + Mockito.verify(spy, Mockito.times(1)).doRequest(Mockito.anyString(), Mockito.eq(HttpMethod.GET), Mockito.any(Map.class), Mockito.any(Multimap.class), Mockito.isNull(), Mockito.any(StringJetty94ResponseEntityReader.class)); } @Test @@ -244,12 +244,12 @@ public void testDoRequestRequester() { MarketoBaseRestClient spy = Mockito.spy(marketoBaseRestClient); StringContentProvider contentProvider = new StringContentProvider("Content", StandardCharsets.UTF_8); - ArgumentCaptor jetty92SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty92SingleRequester.class); + ArgumentCaptor jetty94SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty94SingleRequester.class); MarketoResponse expectedMarketoResponse = new MarketoResponse<>(); - Mockito.when(mockJetty92.requestWithRetry(Mockito.any(MarketoResponseJetty92EntityReader.class), jetty92SingleRequesterArgumentCaptor.capture())).thenReturn(expectedMarketoResponse); - Mockito.when(mockJetty92.requestWithRetry(Mockito.any(StringJetty92ResponseEntityReader.class), Mockito.any(Jetty92SingleRequester.class))).thenReturn("{\"access_token\": \"access_token\"}"); + Mockito.when(mockJetty94.requestWithRetry(Mockito.any(MarketoResponseJettyEntityReader.class), jetty94SingleRequesterArgumentCaptor.capture())).thenReturn(expectedMarketoResponse); + Mockito.when(mockJetty94.requestWithRetry(Mockito.any(StringJetty94ResponseEntityReader.class), Mockito.any(Jetty94SingleRequester.class))).thenReturn("{\"access_token\": \"access_token\"}"); String target = "target"; HashMap headers = Maps.newHashMap(); @@ -257,7 +257,7 @@ public void testDoRequestRequester() ImmutableListMultimap build = new ImmutableListMultimap.Builder().put("param", "param1").build(); - MarketoResponse marketoResponse = spy.doRequest(target, HttpMethod.POST, headers, build, contentProvider, new MarketoResponseJetty92EntityReader<>(10)); + MarketoResponse marketoResponse = spy.doRequest(target, HttpMethod.POST, headers, build, contentProvider, new MarketoResponseJettyEntityReader<>(10)); HttpClient client = Mockito.mock(HttpClient.class); Response.Listener listener = Mockito.mock(Response.Listener.class); @@ -265,8 +265,8 @@ public void testDoRequestRequester() Mockito.when(client.newRequest(Mockito.eq(target))).thenReturn(mockRequest); Mockito.when(mockRequest.method(Mockito.eq(HttpMethod.POST))).thenReturn(mockRequest); - Jetty92SingleRequester jetty92SingleRequester = jetty92SingleRequesterArgumentCaptor.getValue(); - jetty92SingleRequester.requestOnce(client, listener); + Jetty94SingleRequester jetty94SingleRequester = jetty94SingleRequesterArgumentCaptor.getValue(); + jetty94SingleRequester.requestOnce(client, listener); Assert.assertEquals(expectedMarketoResponse, marketoResponse); @@ -280,12 +280,12 @@ public void testDoRequestRequester() public void testDoRequesterRetry() { MarketoBaseRestClient spy = Mockito.spy(marketoBaseRestClient); - ArgumentCaptor jetty92SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty92SingleRequester.class); + ArgumentCaptor jetty94SingleRequesterArgumentCaptor = ArgumentCaptor.forClass(Jetty94SingleRequester.class); - Mockito.when(mockJetty92.requestWithRetry(Mockito.any(MarketoResponseJetty92EntityReader.class), jetty92SingleRequesterArgumentCaptor.capture())).thenReturn(new MarketoResponse<>()); - Mockito.when(mockJetty92.requestWithRetry(Mockito.any(StringJetty92ResponseEntityReader.class), Mockito.any(Jetty92SingleRequester.class))).thenReturn("{\"access_token\": \"access_token\"}"); + Mockito.when(mockJetty94.requestWithRetry(Mockito.any(MarketoResponseJettyEntityReader.class), jetty94SingleRequesterArgumentCaptor.capture())).thenReturn(new MarketoResponse<>()); + Mockito.when(mockJetty94.requestWithRetry(Mockito.any(StringJetty94ResponseEntityReader.class), Mockito.any(Jetty94SingleRequester.class))).thenReturn("{\"access_token\": \"access_token\"}"); - spy.doRequest("", HttpMethod.POST, null, null, null, new MarketoResponseJetty92EntityReader<>(10)); + spy.doRequest("", HttpMethod.POST, null, null, null, new MarketoResponseJettyEntityReader<>(10)); HttpClient client = Mockito.mock(HttpClient.class); Response.Listener listener = Mockito.mock(Response.Listener.class); @@ -294,47 +294,47 @@ public void testDoRequesterRetry() Mockito.when(mockRequest.method(Mockito.eq(HttpMethod.POST))).thenReturn(mockRequest); - Jetty92SingleRequester jetty92SingleRequester = jetty92SingleRequesterArgumentCaptor.getValue(); - jetty92SingleRequester.requestOnce(client, listener); - Assert.assertTrue(jetty92SingleRequester.toRetry(createHttpResponseException(502))); + Jetty94SingleRequester jetty94SingleRequester = jetty94SingleRequesterArgumentCaptor.getValue(); + jetty94SingleRequester.requestOnce(client, listener); + Assert.assertTrue(jetty94SingleRequester.toRetry(createHttpResponseException(502))); - Assert.assertFalse(jetty92SingleRequester.toRetry(createHttpResponseException(400))); + Assert.assertFalse(jetty94SingleRequester.toRetry(createHttpResponseException(400))); - Assert.assertFalse(jetty92SingleRequester.toRetry(createMarketoAPIException("ERR", "ERR"))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("606", ""))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("615", ""))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("602", ""))); + Assert.assertFalse(jetty94SingleRequester.toRetry(createMarketoAPIException("ERR", "ERR"))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("606", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("615", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("602", ""))); // Should retry 601 error too - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("601", ""))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("604", ""))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("608", ""))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("611", ""))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("615", ""))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("713", ""))); - Assert.assertTrue(jetty92SingleRequester.toRetry(createMarketoAPIException("1029", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("601", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("604", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("608", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("611", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("615", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("713", ""))); + Assert.assertTrue(jetty94SingleRequester.toRetry(createMarketoAPIException("1029", ""))); // Retry wrap SocketTimeoutException, TimeoutException and EOFException - Assert.assertTrue(jetty92SingleRequester.toRetry(new ExecutionException(new TimeoutException()))); - Assert.assertTrue(jetty92SingleRequester.toRetry(new ExecutionException(new EOFException()))); - Assert.assertTrue(jetty92SingleRequester.toRetry(new ExecutionException(new SocketTimeoutException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new ExecutionException(new TimeoutException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new ExecutionException(new EOFException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new ExecutionException(new SocketTimeoutException()))); // When EOFException is wrapped in IOException it should be retried too - Assert.assertTrue(jetty92SingleRequester.toRetry(new IOException(new EOFException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new IOException(new EOFException()))); // Retry TimeoutException when it is wrapped in IOException - Assert.assertTrue(jetty92SingleRequester.toRetry(new IOException(new TimeoutException()))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new IOException(new TimeoutException()))); // Retry SocketTimeoutException, TimeoutException and EOFException - Assert.assertTrue(jetty92SingleRequester.toRetry(new SocketTimeoutException())); - Assert.assertTrue(jetty92SingleRequester.toRetry(new TimeoutException())); - Assert.assertTrue(jetty92SingleRequester.toRetry(new EOFException())); + Assert.assertTrue(jetty94SingleRequester.toRetry(new SocketTimeoutException())); + Assert.assertTrue(jetty94SingleRequester.toRetry(new TimeoutException())); + Assert.assertTrue(jetty94SingleRequester.toRetry(new EOFException())); - Assert.assertTrue(jetty92SingleRequester.toRetry(new DataException(jsonResponseInvalid))); + Assert.assertTrue(jetty94SingleRequester.toRetry(new DataException(jsonResponseInvalid))); // Call 3 times First call then 602 error and 601 error - Mockito.verify(mockJetty92, Mockito.times(3)).requestWithRetry(Mockito.any(StringJetty92ResponseEntityReader.class), Mockito.any(Jetty92SingleRequester.class)); + Mockito.verify(mockJetty94, Mockito.times(3)).requestWithRetry(Mockito.any(StringJetty94ResponseEntityReader.class), Mockito.any(Jetty94SingleRequester.class)); } @Test(expected = DataException.class) public void testResponseInvalidJson() throws Exception { - MarketoResponseJetty92EntityReader reader = Mockito.spy(new MarketoResponseJetty92EntityReader<>(10000)); + MarketoResponseJettyEntityReader reader = Mockito.spy(new MarketoResponseJettyEntityReader<>(10000)); Response.Listener listener = Mockito.mock(Response.Listener.class); Mockito.doReturn(listener).when(reader).getListener(); Response response = Mockito.mock(Response.class); @@ -352,10 +352,10 @@ public void testResponseInvalidJson() throws Exception " \"success\": true\n" + "}\n"; Mockito.doReturn(ret).when(reader).readResponseContentInString(); - Jetty92RetryHelper retryHelper = Mockito.spy(new Jetty92RetryHelper(1, + Jetty94RetryHelper retryHelper = Mockito.spy(new Jetty94RetryHelper(1, 1000, 12000, - new DefaultJetty92ClientCreator(10000, 10000))); - retryHelper.requestWithRetry(reader, new Jetty92SingleRequester() + new DefaultJetty94ClientCreator(10000, 10000))); + retryHelper.requestWithRetry(reader, new Jetty94SingleRequester() { @Override public void requestOnce(HttpClient client, Response.Listener responseListener) diff --git a/src/test/java/org/embulk/input/marketo/rest/MarketoRestClientTest.java b/src/test/java/org/embulk/input/marketo/rest/MarketoRestClientTest.java index 6a567b2..fef17cc 100644 --- a/src/test/java/org/embulk/input/marketo/rest/MarketoRestClientTest.java +++ b/src/test/java/org/embulk/input/marketo/rest/MarketoRestClientTest.java @@ -18,7 +18,7 @@ import org.embulk.input.marketo.model.MarketoField; import org.embulk.input.marketo.model.MarketoResponse; import org.embulk.spi.DataException; -import org.embulk.util.retryhelper.jetty92.Jetty92ResponseReader; +import org.embulk.util.retryhelper.jetty94.Jetty94ResponseReader; import org.junit.Assert; import org.junit.Before; import org.junit.Rule; @@ -95,7 +95,7 @@ public void describeLead() throws Exception { String leadSchema = new String(ByteStreams.toByteArray(this.getClass().getResourceAsStream("/fixtures/lead_describe.json"))); MarketoResponse marketoResponse = OBJECT_MAPPER.readValue(leadSchema, RESPONSE_TYPE); - doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.DESCRIBE_LEAD.getEndpoint()), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.DESCRIBE_LEAD.getEndpoint()), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); List marketoFields = marketoRestClient.describeLead(); Assert.assertEquals(16, marketoFields.size()); JavaType marketoFieldType = OBJECT_MAPPER.getTypeFactory().constructParametrizedType(List.class, List.class, MarketoField.class); @@ -114,7 +114,7 @@ public void createLeadBulkExtract() throws Exception bulkExtractResult.set("exportId", new TextNode("bulkExtractId")); marketoResponse.setResult(Arrays.asList(bulkExtractResult)); ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(String.class); - doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.CREATE_LEAD_EXTRACT.getEndpoint()), isNull(), isNull(), argumentCaptor.capture(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.CREATE_LEAD_EXTRACT.getEndpoint()), isNull(), isNull(), argumentCaptor.capture(), any(MarketoResponseJettyEntityReader.class)); String filterField = "filterField"; String bulkExtractId = marketoRestClient.createLeadBulkExtract(startDate, endDate, Arrays.asList("extract_field1", "extract_field2"), filterField); Assert.assertEquals("bulkExtractId", bulkExtractId); @@ -140,7 +140,7 @@ public void createLeadBulkExtractWithError() marketoError.setCode("ErrorCode1"); marketoError.setMessage("Message"); marketoResponse.setErrors(Arrays.asList(marketoError)); - doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.CREATE_LEAD_EXTRACT.getEndpoint()), isNull(), isNull(), anyString(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.CREATE_LEAD_EXTRACT.getEndpoint()), isNull(), isNull(), anyString(), any(MarketoResponseJettyEntityReader.class)); String filterField = "filterField"; try { marketoRestClient.createLeadBulkExtract(new Date(), new Date(), Arrays.asList("extract_field1", "extract_field2"), filterField); @@ -164,7 +164,7 @@ public void createActivityExtract() throws Exception bulkExtractResult.set("exportId", new TextNode("bulkExtractId")); marketoResponse.setResult(Arrays.asList(bulkExtractResult)); ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(String.class); - doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.CREATE_ACTIVITY_EXTRACT.getEndpoint()), isNull(), isNull(), argumentCaptor.capture(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.CREATE_ACTIVITY_EXTRACT.getEndpoint()), isNull(), isNull(), argumentCaptor.capture(), any(MarketoResponseJettyEntityReader.class)); String bulkExtractId = marketoRestClient.createActivityExtract(activityTypeIds, startDate, endDate); Assert.assertEquals("bulkExtractId", bulkExtractId); String postContent = argumentCaptor.getValue(); @@ -181,9 +181,9 @@ public void startLeadBulkExtract() pathParams.put("export_id", bulkExportId); MarketoResponse marketoResponse = new MarketoResponse<>(); marketoResponse.setSuccess(true); - doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.START_LEAD_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.START_LEAD_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); marketoRestClient.startLeadBulkExtract(bulkExportId); - verify(marketoRestClient, times(1)).doPost(eq(END_POINT + MarketoRESTEndpoint.START_LEAD_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + verify(marketoRestClient, times(1)).doPost(eq(END_POINT + MarketoRESTEndpoint.START_LEAD_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); } @Test @@ -198,12 +198,12 @@ public void startLeadBulkExtractWithError() marketoError.setCode("ErrorCode"); marketoError.setMessage("Message"); marketoResponse.setErrors(Arrays.asList(marketoError)); - doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.START_LEAD_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.START_LEAD_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); try { marketoRestClient.startLeadBulkExtract(bulkExportId); } catch (DataException ex) { - verify(marketoRestClient, times(1)).doPost(eq(END_POINT + MarketoRESTEndpoint.START_LEAD_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + verify(marketoRestClient, times(1)).doPost(eq(END_POINT + MarketoRESTEndpoint.START_LEAD_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); return; } Assert.fail(); @@ -217,9 +217,9 @@ public void startActivityBulkExtract() pathParams.put("export_id", bulkExportId); MarketoResponse marketoResponse = new MarketoResponse<>(); marketoResponse.setSuccess(true); - doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.START_ACTIVITY_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doPost(eq(END_POINT + MarketoRESTEndpoint.START_ACTIVITY_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); marketoRestClient.startActitvityBulkExtract(bulkExportId); - verify(marketoRestClient, times(1)).doPost(eq(END_POINT + MarketoRESTEndpoint.START_ACTIVITY_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + verify(marketoRestClient, times(1)).doPost(eq(END_POINT + MarketoRESTEndpoint.START_ACTIVITY_EXPORT_JOB.getEndpoint(pathParams)), isNull(), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); } @Test @@ -233,9 +233,9 @@ public void waitLeadExportJobComplete() throws Exception ObjectNode result = mock(ObjectNode.class); when(marketoResponse.getResult()).thenReturn(Arrays.asList(result)); when(result.get("status")).thenReturn(new TextNode("Queued")).thenReturn(new TextNode("Processing")).thenReturn(new TextNode("Completed")); - doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); marketoRestClient.waitLeadExportJobComplete(bulkExportId, 1, 4); - verify(marketoRestClient, times(3)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + verify(marketoRestClient, times(3)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); } @Test @@ -249,13 +249,13 @@ public void waitLeadExportJobTimeOut() throws Exception ObjectNode result = mock(ObjectNode.class); when(marketoResponse.getResult()).thenReturn(Arrays.asList(result)); when(result.get("status")).thenReturn(new TextNode("Queued")).thenReturn(new TextNode("Processing")); - doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); try { marketoRestClient.waitLeadExportJobComplete(bulkExportId, 2, 4); } catch (DataException e) { Assert.assertTrue(e.getMessage().contains("Job timeout exception")); - verify(marketoRestClient, times(2)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + verify(marketoRestClient, times(2)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); return; } Assert.fail(); @@ -273,14 +273,14 @@ public void waitLeadExportJobFailed() throws Exception when(marketoResponse.getResult()).thenReturn(Arrays.asList(result)); when(result.get("status")).thenReturn(new TextNode("Queued")).thenReturn(new TextNode("Failed")); when(result.get("errorMsg")).thenReturn(new TextNode("ErrorMessage")); - doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); try { marketoRestClient.waitLeadExportJobComplete(bulkExportId, 1, 4); } catch (DataException e) { Assert.assertTrue(e.getMessage().contains("Bulk extract job failed")); Assert.assertTrue(e.getMessage().contains("ErrorMessage")); - verify(marketoRestClient, times(2)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + verify(marketoRestClient, times(2)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_LEAD_EXPORT_STATUS.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); return; } Assert.fail(); @@ -297,9 +297,9 @@ public void waitActivityExportJobComplete() throws Exception ObjectNode mockObjectNode = mock(ObjectNode.class); when(marketoResponse.getResult()).thenReturn(Arrays.asList(mockObjectNode)); when(mockObjectNode.get("status")).thenReturn(new TextNode("Completed")); - doReturn(marketoResponse).when(marketoRestClient).doGet(anyString(), isNull(), isNull(), any(Jetty92ResponseReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doGet(anyString(), isNull(), isNull(), any(Jetty94ResponseReader.class)); marketoRestClient.waitActitvityExportJobComplete(exportId, 1, 3); - verify(marketoRestClient, times(1)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_ACTIVITY_EXPORT_STATUS.getEndpoint(pathParamMap)), isNull(), isNull(), any(Jetty92ResponseReader.class)); + verify(marketoRestClient, times(1)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_ACTIVITY_EXPORT_STATUS.getEndpoint(pathParamMap)), isNull(), isNull(), any(Jetty94ResponseReader.class)); } @Test @@ -337,7 +337,7 @@ public void getLists() throws Exception Assert.assertEquals("Test list 2", list2.get("name").asText()); ArgumentCaptor immutableListMultimapArgumentCaptor = ArgumentCaptor.forClass(Multimap.class); ArgumentCaptor formContentProviderArgumentCaptor = ArgumentCaptor.forClass(FormContentProvider.class); - verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_LISTS.getEndpoint()), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJetty92EntityReader.class), formContentProviderArgumentCaptor.capture()); + verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_LISTS.getEndpoint()), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJettyEntityReader.class), formContentProviderArgumentCaptor.capture()); List params = immutableListMultimapArgumentCaptor.getAllValues(); Multimap params1 = params.get(0); Assert.assertEquals("GET", params1.get("_method").iterator().next()); @@ -350,7 +350,7 @@ public void getPrograms() throws Exception ArrayNode listPages = (ArrayNode) OBJECT_MAPPER.readTree(new String(ByteStreams.toByteArray(this.getClass().getResourceAsStream("/fixtures/program_response.json")))).get("responses"); MarketoResponse page1 = OBJECT_MAPPER.readValue(listPages.get(0).toString(), RESPONSE_TYPE); MarketoResponse page2 = OBJECT_MAPPER.readValue(listPages.get(1).toString(), RESPONSE_TYPE); - doReturn(page1).doReturn(page2).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), isNull(), any(Multimap.class), any(MarketoResponseJetty92EntityReader.class)); + doReturn(page1).doReturn(page2).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), isNull(), any(Multimap.class), any(MarketoResponseJettyEntityReader.class)); RecordPagingIterable lists = marketoRestClient.getPrograms(); Iterator iterator = lists.iterator(); ObjectNode program1 = iterator.next(); @@ -361,7 +361,7 @@ public void getPrograms() throws Exception Assert.assertEquals("TD Output Test Program", program2.get("name").asText()); Assert.assertEquals("Bill_progream", program3.get("name").asText()); ArgumentCaptor immutableListMultimapArgumentCaptor = ArgumentCaptor.forClass(ImmutableListMultimap.class); - verify(marketoRestClient, times(2)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJetty92EntityReader.class)); + verify(marketoRestClient, times(2)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJettyEntityReader.class)); List params = immutableListMultimapArgumentCaptor.getAllValues(); ImmutableListMultimap params1 = params.get(0); Assert.assertEquals("0", params1.get("offset").get(0)); @@ -375,7 +375,7 @@ private void mockMarketoPageResponse(String fixtureName, String mockEndpoint) th ArrayNode listPages = (ArrayNode) OBJECT_MAPPER.readTree(new String(ByteStreams.toByteArray(this.getClass().getResourceAsStream(fixtureName)))).get("responses"); MarketoResponse page1 = OBJECT_MAPPER.readValue(listPages.get(0).toString(), RESPONSE_TYPE); MarketoResponse page2 = OBJECT_MAPPER.readValue(listPages.get(1).toString(), RESPONSE_TYPE); - doReturn(page1).doReturn(page2).when(marketoRestClient).doPost(eq(mockEndpoint), isNull(), any(Multimap.class), any(MarketoResponseJetty92EntityReader.class), any(FormContentProvider.class)); + doReturn(page1).doReturn(page2).when(marketoRestClient).doPost(eq(mockEndpoint), isNull(), any(Multimap.class), any(MarketoResponseJettyEntityReader.class), any(FormContentProvider.class)); } @Test @@ -394,7 +394,7 @@ public void getLeadsByProgram() throws Exception Assert.assertEquals("Tai", lead2.get("firstName").asText()); ArgumentCaptor immutableListMultimapArgumentCaptor = ArgumentCaptor.forClass(ImmutableListMultimap.class); ArgumentCaptor formContentProviderArgumentCaptor = ArgumentCaptor.forClass(FormContentProvider.class); - verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_LEADS_BY_PROGRAM.getEndpoint(pathParamPath)), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJetty92EntityReader.class), formContentProviderArgumentCaptor.capture()); + verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_LEADS_BY_PROGRAM.getEndpoint(pathParamPath)), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJettyEntityReader.class), formContentProviderArgumentCaptor.capture()); String formContent = fromContentProviderToString(formContentProviderArgumentCaptor.getValue()); List params = immutableListMultimapArgumentCaptor.getAllValues(); Multimap params1 = params.get(0); @@ -429,7 +429,7 @@ public void getLeadsByList() throws Exception Assert.assertEquals("John10094", lead2.get("firstName").asText()); ArgumentCaptor immutableListMultimapArgumentCaptor = ArgumentCaptor.forClass(ImmutableListMultimap.class); ArgumentCaptor formContentProviderArgumentCaptor = ArgumentCaptor.forClass(FormContentProvider.class); - verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_LEADS_BY_LIST.getEndpoint(pathParamPath)), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJetty92EntityReader.class), formContentProviderArgumentCaptor.capture()); + verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_LEADS_BY_LIST.getEndpoint(pathParamPath)), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJettyEntityReader.class), formContentProviderArgumentCaptor.capture()); String formContent = fromContentProviderToString(formContentProviderArgumentCaptor.getValue()); List params = immutableListMultimapArgumentCaptor.getAllValues(); Multimap params1 = params.get(0); @@ -450,7 +450,7 @@ public void getCampaign() throws Exception Assert.assertEquals("Clicks Link in Email", campaign2.get("name").asText()); ArgumentCaptor immutableListMultimapArgumentCaptor = ArgumentCaptor.forClass(ImmutableListMultimap.class); ArgumentCaptor formContentProviderArgumentCaptor = ArgumentCaptor.forClass(FormContentProvider.class); - verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_CAMPAIGN.getEndpoint()), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJetty92EntityReader.class), formContentProviderArgumentCaptor.capture()); + verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_CAMPAIGN.getEndpoint()), isNull(), immutableListMultimapArgumentCaptor.capture(), any(MarketoResponseJettyEntityReader.class), formContentProviderArgumentCaptor.capture()); String content = fromContentProviderToString(formContentProviderArgumentCaptor.getValue()); List params = immutableListMultimapArgumentCaptor.getAllValues(); @@ -473,7 +473,7 @@ public void testGetProgramsByTagType() throws Exception eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS_BY_TAG.getEndpoint()), ArgumentMatchers.isNull(), any(Multimap.class), - any(MarketoResponseJetty92EntityReader.class)); + any(MarketoResponseJettyEntityReader.class)); Iterable lists = marketoRestClient.getProgramsByTag(tagType, tagValue); Iterator iterator = lists.iterator(); ObjectNode program1 = iterator.next(); @@ -489,7 +489,7 @@ public void testGetProgramsByTagType() throws Exception eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS_BY_TAG.getEndpoint()), ArgumentMatchers.isNull(), immutableListMultimapArgumentCaptor.capture(), - any(MarketoResponseJetty92EntityReader.class)); + any(MarketoResponseJettyEntityReader.class)); List params = immutableListMultimapArgumentCaptor.getAllValues(); ImmutableListMultimap params1 = params.get(0); @@ -515,7 +515,7 @@ public void TestProgramsByDateRange() throws Exception eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), ArgumentMatchers.isNull(), any(Multimap.class), - any(MarketoResponseJetty92EntityReader.class)); + any(MarketoResponseJettyEntityReader.class)); OffsetDateTime earliestUpdatedAt = OffsetDateTime.now().minusDays(10); OffsetDateTime latestUpdatedAt = earliestUpdatedAt.plusDays(5); String filterType = "filter1"; @@ -537,7 +537,7 @@ public void TestProgramsByDateRange() throws Exception eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), ArgumentMatchers.isNull(), immutableListMultimapArgumentCaptor.capture(), - any(MarketoResponseJetty92EntityReader.class)); + any(MarketoResponseJettyEntityReader.class)); List params = immutableListMultimapArgumentCaptor.getAllValues(); DateTimeFormatter fmt = DateTimeFormatter.ofPattern(MarketoUtils.MARKETO_DATE_SIMPLE_DATE_FORMAT); @@ -565,7 +565,7 @@ public void describeCustomObject() throws Exception String apiName = "custom_object"; Map pathParams = new HashMap<>(); pathParams.put("api_name", apiName); - doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_CUSTOM_OBJECT_DESCRIBE.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJetty92EntityReader.class)); + doReturn(marketoResponse).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_CUSTOM_OBJECT_DESCRIBE.getEndpoint(pathParams)), isNull(), isNull(), any(MarketoResponseJettyEntityReader.class)); List marketoFields = marketoRestClient.describeCustomObject(apiName); Assert.assertEquals(16, marketoFields.size()); JavaType marketoFieldType = OBJECT_MAPPER.getTypeFactory().constructParametrizedType(List.class, List.class, MarketoField.class); @@ -582,7 +582,7 @@ public void getCustomObject() throws Exception ArrayNode listPages = (ArrayNode) OBJECT_MAPPER.readTree(new String(ByteStreams.toByteArray(this.getClass().getResourceAsStream("/fixtures/custom_object_response.json")))).get("responses"); MarketoResponse page1 = OBJECT_MAPPER.readValue(listPages.get(0).toString(), RESPONSE_TYPE); - doReturn(page1).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_CUSTOM_OBJECT.getEndpoint(pathParams)), isNull(), any(ImmutableListMultimap.class), any(MarketoResponseJetty92EntityReader.class)); + doReturn(page1).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_CUSTOM_OBJECT.getEndpoint(pathParams)), isNull(), any(ImmutableListMultimap.class), any(MarketoResponseJettyEntityReader.class)); RecordPagingIterable pages = (RecordPagingIterable) marketoRestClient.getCustomObject(apiName, "id", null, 1, 2); Iterator iterator = pages.iterator(); ObjectNode customObject1 = iterator.next(); @@ -602,7 +602,7 @@ public void testGetProgramsByIds() throws IOException ArrayNode listPages = (ArrayNode) OBJECT_MAPPER.readTree(new String(ByteStreams.toByteArray(this.getClass().getResourceAsStream("/fixtures/program_response.json")))).get("responses"); MarketoResponse page1 = OBJECT_MAPPER.readValue(listPages.get(0).toString(), RESPONSE_TYPE); MarketoResponse page2 = OBJECT_MAPPER.readValue(listPages.get(1).toString(), RESPONSE_TYPE); - doReturn(page1).doReturn(page2).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), isNull(), any(Multimap.class), any(MarketoResponseJetty92EntityReader.class)); + doReturn(page1).doReturn(page2).when(marketoRestClient).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), isNull(), any(Multimap.class), any(MarketoResponseJettyEntityReader.class)); RecordPagingIterable lists = marketoRestClient.getProgramsByIds(ids); Iterator iterator = lists.iterator(); ObjectNode program1 = iterator.next(); @@ -614,7 +614,7 @@ public void testGetProgramsByIds() throws IOException Assert.assertEquals("Bill_progream", program3.get("name").asText()); ArgumentCaptor paramCaptor = ArgumentCaptor.forClass(ImmutableListMultimap.class); - verify(marketoRestClient, times(2)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), isNull(), paramCaptor.capture(), any(MarketoResponseJetty92EntityReader.class)); + verify(marketoRestClient, times(2)).doGet(eq(END_POINT + MarketoRESTEndpoint.GET_PROGRAMS.getEndpoint()), isNull(), paramCaptor.capture(), any(MarketoResponseJettyEntityReader.class)); List params = paramCaptor.getAllValues(); @@ -646,7 +646,7 @@ public void testGetListsByIds() throws IOException ArgumentCaptor paramsCaptor = ArgumentCaptor.forClass(ImmutableListMultimap.class); ArgumentCaptor formCaptor = ArgumentCaptor.forClass(FormContentProvider.class); - verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_LISTS.getEndpoint()), isNull(), paramsCaptor.capture(), any(MarketoResponseJetty92EntityReader.class), formCaptor.capture()); + verify(marketoRestClient, times(2)).doPost(eq(END_POINT + MarketoRESTEndpoint.GET_LISTS.getEndpoint()), isNull(), paramsCaptor.capture(), any(MarketoResponseJettyEntityReader.class), formCaptor.capture()); ImmutableListMultimap params = paramsCaptor.getValue(); Assert.assertEquals("GET", params.get("_method").iterator().next());