diff --git a/src/main/java/com/adyen/model/RequestOptions.java b/src/main/java/com/adyen/model/RequestOptions.java index e6fa27617..d962edec4 100644 --- a/src/main/java/com/adyen/model/RequestOptions.java +++ b/src/main/java/com/adyen/model/RequestOptions.java @@ -3,11 +3,21 @@ import java.util.HashMap; public class RequestOptions { - private String idempotencyKey; private String requestedVerificationCodeHeader; private HashMap additionalServiceHeaders; - + public RequestOptions idempotencyKey(String idempotencyKey){ + this.idempotencyKey = idempotencyKey; + return this; + } + public RequestOptions requestedVerificationCodeHeader(String requestedVerificationCodeHeader){ + this.requestedVerificationCodeHeader = requestedVerificationCodeHeader; + return this; + } + public RequestOptions additionalServiceHeaders(HashMap additionalServiceHeaders){ + this.additionalServiceHeaders = additionalServiceHeaders; + return this; + } public String getIdempotencyKey() { return idempotencyKey; } @@ -31,5 +41,12 @@ public HashMap getAdditionalServiceHeaders() { public void setAdditionalServiceHeaders(HashMap additionalServiceHeaders) { this.additionalServiceHeaders = additionalServiceHeaders; } - + @Override + public String toString() { + return "RequestOptions{" + + "idempotencyKey='" + idempotencyKey + '\'' + + ", requestedVerificationCodeHeader='" + requestedVerificationCodeHeader + '\'' + + ", additionalServiceHeaders=" + additionalServiceHeaders + + '}'; + } } diff --git a/src/test/java/com/adyen/ClientTest.java b/src/test/java/com/adyen/ClientTest.java index 3494d7eb0..accc9a461 100644 --- a/src/test/java/com/adyen/ClientTest.java +++ b/src/test/java/com/adyen/ClientTest.java @@ -2,11 +2,13 @@ import com.adyen.enums.Environment; import com.adyen.enums.Region; +import com.adyen.model.RequestOptions; import org.junit.Assert; import org.junit.Test; import org.mockito.Mock; import javax.net.ssl.SSLContext; +import java.util.HashMap; public class ClientTest { @@ -42,6 +44,17 @@ public void testClientCertificateAuth() { Assert.assertEquals(Environment.LIVE, client.getConfig().getEnvironment()); } + @Test + public void testRequestOptionsBuilderPattern() { + HashMap map = new HashMap<>(); + map.put("thing", "thing"); + RequestOptions requestOptions = new RequestOptions() + .idempotencyKey("idempotency") + .requestedVerificationCodeHeader("headers") + .additionalServiceHeaders(map); + Assert.assertEquals(requestOptions.getAdditionalServiceHeaders(), map); + } + private void assertCommonEndpoints(Config config) { Assert.assertEquals(Client.TERMINAL_API_ENDPOINT_LIVE, config.getTerminalApiCloudEndpoint()); }