diff --git a/build.gradle b/build.gradle index 9246d1c5..7bea77b8 100644 --- a/build.gradle +++ b/build.gradle @@ -17,6 +17,10 @@ task sourcesJar(type: Jar) { from sourceSets.main.allSource } +processResources { + expand(project.properties) +} + artifacts { archives javadocJar, sourcesJar } @@ -82,11 +86,11 @@ repositories { } dependencies { - compile group: 'org.json', name: 'json', version:'20210307' - compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.32' + compile group: 'org.json', name: 'json', version:'20220320' + compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.36' compile group: 'commons-codec', name: 'commons-codec', version:'1.15' compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' testCompile group: 'junit', name: 'junit', version:'4.13.2' - testCompile group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.32' - testCompile group: 'org.mockito', name: 'mockito-core', version:'3.12.4' + testCompile group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.36' + testCompile group: 'org.mockito', name: 'mockito-core', version:'4.4.0' } diff --git a/gradle.properties b/gradle.properties index ce909d9c..48afd31a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ group = com.hellosign archivesBaseName = hellosign-java-sdk -version = 5.2.2 +version = 5.2.3 description = HelloSign Java SDK sourceCompatibility = 11 diff --git a/src/main/java/com/hellosign/sdk/HelloSignClient.java b/src/main/java/com/hellosign/sdk/HelloSignClient.java index 6f87d271..86a0150c 100644 --- a/src/main/java/com/hellosign/sdk/HelloSignClient.java +++ b/src/main/java/com/hellosign/sdk/HelloSignClient.java @@ -513,11 +513,12 @@ public SignatureRequest sendSignatureRequest(SignatureRequest req) throws HelloS * JSON response. */ public SignatureRequest updateSignatureRequest(String signatureRequestId, String signatureId, - String newEmailAddress) throws HelloSignException { + String newEmailAddress, String newSignerName) throws HelloSignException { String url = BASE_URI + SIGNATURE_REQUEST_UPDATE_URI + "/" + signatureRequestId; return new SignatureRequest( httpClient.withAuth(auth).withPostField(Signature.SIGNATURE_ID, signatureId) - .withPostField(SignatureRequest.SIGREQ_SIGNER_EMAIL, newEmailAddress).post(url) + .withPostField(SignatureRequest.SIGREQ_SIGNER_EMAIL, newEmailAddress) + .withPostField(SignatureRequest.SIGREQ_SIGNER_NAME, newSignerName).post(url) .asJson()); } diff --git a/src/main/java/com/hellosign/sdk/resource/SignatureRequest.java b/src/main/java/com/hellosign/sdk/resource/SignatureRequest.java index 0dd39cd6..a3d1df06 100644 --- a/src/main/java/com/hellosign/sdk/resource/SignatureRequest.java +++ b/src/main/java/com/hellosign/sdk/resource/SignatureRequest.java @@ -9,6 +9,7 @@ import com.hellosign.sdk.resource.support.Attachment; import java.io.Serializable; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; import org.json.JSONArray; @@ -22,6 +23,7 @@ public class SignatureRequest extends AbstractRequest { public static final String SIGREQ_KEY = "signature_request"; public static final String SIGREQ_ID = "signature_request_id"; + public static final String SIGREQ_CREATED_AT = "created_at"; public static final String SIGREQ_SIGNERS = "signers"; public static final String SIGREQ_SIGNER_EMAIL = "email_address"; public static final String SIGREQ_SIGNER_NAME = "name"; @@ -94,6 +96,15 @@ public boolean hasId() { return has(SIGREQ_ID); } + /** + * The time that this request was created. + * + * @return Date + */ + public Date getCreatedAt() { + return getDate(SIGREQ_CREATED_AT); + } + /** * Returns the CC email addresses for this request. * diff --git a/src/test/java/com/hellosign/sdk/HelloSignClientTest.java b/src/test/java/com/hellosign/sdk/HelloSignClientTest.java index d628562b..bf18fb93 100644 --- a/src/test/java/com/hellosign/sdk/HelloSignClientTest.java +++ b/src/test/java/com/hellosign/sdk/HelloSignClientTest.java @@ -1,5 +1,6 @@ package com.hellosign.sdk; +import com.hellosign.sdk.http.AbstractHttpRequest; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; @@ -44,6 +45,10 @@ import java.io.File; import java.io.FileNotFoundException; import java.net.URL; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.Month; +import java.time.ZoneId; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -303,6 +308,9 @@ public void testGetSignatureRequest() throws Exception { SignatureRequest request = client.getSignatureRequest(id); assertNotNull(request); assertEquals(id, request.getId()); + + assertEquals(LocalDate.of(2022, Month.FEBRUARY, 11), + LocalDateTime.ofInstant(request.getCreatedAt().toInstant(), ZoneId.of("UTC")).toLocalDate()); } @Test(expected = HelloSignException.class) @@ -469,11 +477,12 @@ public void testUpdateSignatureRequest() throws Exception { String id = "5fd97d3b6a2ac509b7837891d8c804e29cc35636"; String signatureId = "c390fac7bb23c2b48e6314272ec9db17"; String newEmailAddress = "barack@obama.com"; + String newSignerName = "Barack"; SignatureRequest updatedReq = client - .updateSignatureRequest(id, signatureId, newEmailAddress); + .updateSignatureRequest(id, signatureId, newEmailAddress, newSignerName); assertNotNull(updatedReq); assertEquals(id, updatedReq.getId()); - Signature sig = updatedReq.getSignature(newEmailAddress, "Barack"); + Signature sig = updatedReq.getSignature(newEmailAddress, newSignerName); assertNotNull(sig); assertEquals(signatureId, sig.getId()); } @@ -484,7 +493,8 @@ public void testUpdateSignatureRequestInvalid() throws Exception { String id = "84f8767b525611511ed24e5eaacee537589a30be"; String signatureId = "e477e554af09555eea762d1c204d9f3d"; String newEmailAddress = "nightman@hotmail.com"; - client.updateSignatureRequest(id, signatureId, newEmailAddress); + String newSignerName = "Night Man"; + client.updateSignatureRequest(id, signatureId, newEmailAddress, newSignerName); } @Test @@ -1199,4 +1209,14 @@ public void testRemoveSignatureRequestAccess() throws Exception { mockResponseCode(200); assertTrue(client.removeSignatureRequestAccess("44cf71a0238811c846f49483014f534cfd8caba6")); } + + /** + * Test to verify that the user agent has been resolved + */ + @Test + public void userAgent() { + final String userAgent = AbstractHttpRequest.USER_AGENT; + System.out.println("User Agent: " + userAgent); + assertTrue(String.format("User Agent was %s", userAgent), !userAgent.contains("project.version")); + } } diff --git a/src/test/resources/HelloSignClientTest/testGetSignatureRequest.json b/src/test/resources/HelloSignClientTest/testGetSignatureRequest.json index 3fb0dc1f..d482a8e8 100644 --- a/src/test/resources/HelloSignClientTest/testGetSignatureRequest.json +++ b/src/test/resources/HelloSignClientTest/testGetSignatureRequest.json @@ -8,6 +8,7 @@ "message": null, "metadata": { }, + "created_at": 1644606159, "is_complete": false, "is_declined": false, "has_error": false, diff --git a/src/test/resources/HelloSignClientTest/testGetSignatureRequests.json b/src/test/resources/HelloSignClientTest/testGetSignatureRequests.json index a734a97f..537c6d63 100644 --- a/src/test/resources/HelloSignClientTest/testGetSignatureRequests.json +++ b/src/test/resources/HelloSignClientTest/testGetSignatureRequests.json @@ -15,6 +15,7 @@ "message": "Hello, world!", "metadata": { }, + "created_at": 1644606159, "is_complete": true, "is_declined": false, "has_error": false, @@ -62,6 +63,7 @@ "message": null, "metadata": { }, + "created_at": 1644606159, "is_complete": false, "is_declined": false, "has_error": false, diff --git a/src/test/resources/HelloSignClientTest/testGetSignatureRequestsPage.json b/src/test/resources/HelloSignClientTest/testGetSignatureRequestsPage.json index a734a97f..537c6d63 100644 --- a/src/test/resources/HelloSignClientTest/testGetSignatureRequestsPage.json +++ b/src/test/resources/HelloSignClientTest/testGetSignatureRequestsPage.json @@ -15,6 +15,7 @@ "message": "Hello, world!", "metadata": { }, + "created_at": 1644606159, "is_complete": true, "is_declined": false, "has_error": false, @@ -62,6 +63,7 @@ "message": null, "metadata": { }, + "created_at": 1644606159, "is_complete": false, "is_declined": false, "has_error": false, diff --git a/src/test/resources/HelloSignClientTest/testUpdateSignatureRequest.json b/src/test/resources/HelloSignClientTest/testUpdateSignatureRequest.json index eb3273aa..b2c52e59 100644 --- a/src/test/resources/HelloSignClientTest/testUpdateSignatureRequest.json +++ b/src/test/resources/HelloSignClientTest/testUpdateSignatureRequest.json @@ -8,6 +8,7 @@ "message": null, "metadata": { }, + "created_at": 1644606159, "is_complete": false, "is_declined": false, "has_error": false,