Skip to content

Commit 6649c24

Browse files
committed
SDK-2507: Allow the Relying Business to set response delay for tasks and Liveness checks in the sandbox
1 parent 6ecb704 commit 6649c24

File tree

7 files changed

+81
-18
lines changed

7 files changed

+81
-18
lines changed

yoti-sdk-sandbox/src/main/java/com/yoti/api/client/sandbox/docs/request/check/SandboxLivenessCheck.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,13 @@ public class SandboxLivenessCheck extends SandboxCheck {
77
@JsonProperty("liveness_type")
88
private final String livenessType;
99

10-
SandboxLivenessCheck(SandboxCheckResult result, String livenessType) {
10+
@JsonProperty("response_delay")
11+
private final Integer responseDelay;
12+
13+
SandboxLivenessCheck(SandboxCheckResult result, String livenessType, Integer responseDelay) {
1114
super(result);
1215
this.livenessType = livenessType;
16+
this.responseDelay = responseDelay;
1317
}
1418

1519
public static SandboxZoomLivenessCheckBuilder forZoomLiveness() {

yoti-sdk-sandbox/src/main/java/com/yoti/api/client/sandbox/docs/request/check/SandboxStaticLivenessCheckBuilder.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
package com.yoti.api.client.sandbox.docs.request.check;
22

3-
import static com.yoti.api.client.spi.remote.util.Validation.notNull;
3+
import static com.yoti.validation.Validation.notNull;
44

55
import com.yoti.api.client.docs.DocScanConstants;
66
import com.yoti.api.client.sandbox.docs.request.check.report.SandboxCheckReport;
77

88
public class SandboxStaticLivenessCheckBuilder extends SandboxCheck.Builder<SandboxStaticLivenessCheckBuilder> {
99

10-
SandboxStaticLivenessCheckBuilder() {
10+
private Integer responseDelay;
11+
12+
SandboxStaticLivenessCheckBuilder() {}
13+
14+
public SandboxStaticLivenessCheckBuilder withResponseDelay(Integer responseDelay) {
15+
this.responseDelay = responseDelay;
16+
return this;
1117
}
1218

1319
@Override
@@ -22,7 +28,7 @@ public SandboxLivenessCheck build() {
2228
SandboxCheckReport report = new SandboxCheckReport(recommendation, breakdown);
2329
SandboxCheckResult result = new SandboxCheckResult(report);
2430

25-
return new SandboxLivenessCheck(result, DocScanConstants.STATIC);
31+
return new SandboxLivenessCheck(result, DocScanConstants.STATIC, responseDelay);
2632
}
2733

2834
}
Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,34 @@
11
package com.yoti.api.client.sandbox.docs.request.check;
22

3-
import static com.yoti.api.client.spi.remote.util.Validation.notNull;
3+
import static com.yoti.validation.Validation.notNull;
44

55
import com.yoti.api.client.docs.DocScanConstants;
66
import com.yoti.api.client.sandbox.docs.request.check.report.SandboxCheckReport;
77

88
public class SandboxZoomLivenessCheckBuilder extends SandboxCheck.Builder<SandboxZoomLivenessCheckBuilder> {
99

10-
SandboxZoomLivenessCheckBuilder() {
11-
}
10+
private Integer responseDelay;
11+
12+
SandboxZoomLivenessCheckBuilder() {}
1213

1314
@Override
1415
protected SandboxZoomLivenessCheckBuilder self() {
1516
return this;
1617
}
1718

19+
public SandboxZoomLivenessCheckBuilder withResponseDelay(Integer responseDelay) {
20+
this.responseDelay = responseDelay;
21+
return this;
22+
}
23+
1824
@Override
1925
public SandboxLivenessCheck build() {
2026
notNull(recommendation, "recommendation");
2127

2228
SandboxCheckReport report = new SandboxCheckReport(recommendation, breakdown);
2329
SandboxCheckResult result = new SandboxCheckResult(report);
2430

25-
return new SandboxLivenessCheck(result, DocScanConstants.ZOOM);
31+
return new SandboxLivenessCheck(result, DocScanConstants.ZOOM, responseDelay);
2632
}
2733

2834
}

yoti-sdk-sandbox/src/main/java/com/yoti/api/client/sandbox/docs/request/task/SandboxDocumentTextDataExtractionTask.java

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.yoti.api.client.sandbox.docs.request.task;
22

3-
import static com.yoti.api.client.spi.remote.util.Validation.notNull;
3+
import static com.yoti.validation.Validation.notNull;
44

55
import java.util.Base64;
66
import java.util.HashMap;
@@ -20,9 +20,13 @@ public class SandboxDocumentTextDataExtractionTask {
2020
@JsonProperty("document_filter")
2121
private final SandboxDocumentFilter documentFilter;
2222

23-
SandboxDocumentTextDataExtractionTask(SandboxDocumentTextDataExtractionTaskResult result, SandboxDocumentFilter documentFilter) {
23+
@JsonProperty("response_delay")
24+
private final Integer responseDelay;
25+
26+
SandboxDocumentTextDataExtractionTask(SandboxDocumentTextDataExtractionTaskResult result, SandboxDocumentFilter documentFilter, Integer responseDelay) {
2427
this.result = result;
2528
this.documentFilter = documentFilter;
29+
this.responseDelay = responseDelay;
2630
}
2731

2832
public static Builder builder() {
@@ -37,6 +41,10 @@ public SandboxDocumentFilter getDocumentFilter() {
3741
return documentFilter;
3842
}
3943

44+
public Integer getResponseDelay() {
45+
return responseDelay;
46+
}
47+
4048
/**
4149
* Builder for {@link SandboxDocumentTextDataExtractionTask}
4250
*/
@@ -48,9 +56,9 @@ public static class Builder {
4856
private String detectedCountry;
4957
private String detectedDocumentType;
5058
private SandboxTextExtractionTaskRecommendation recommendation;
59+
private Integer responseDelay;
5160

52-
private Builder() {
53-
}
61+
private Builder() {}
5462

5563
public Builder withDocumentField(String key, Object value) {
5664
if (documentFields == null) {
@@ -93,13 +101,18 @@ public Builder withRecommendation(SandboxTextExtractionTaskRecommendation recomm
93101
return this;
94102
}
95103

104+
public Builder withResponseDelay(Integer responseDelay) {
105+
this.responseDelay = responseDelay;
106+
return this;
107+
}
108+
96109
public SandboxDocumentTextDataExtractionTask build() {
97110
SandboxDocumentTextDataExtractionTaskResult result = new SandboxDocumentTextDataExtractionTaskResult(documentFields,
98111
documentIdPhoto,
99112
detectedCountry,
100113
detectedDocumentType,
101114
recommendation);
102-
return new SandboxDocumentTextDataExtractionTask(result, documentFilter);
115+
return new SandboxDocumentTextDataExtractionTask(result, documentFilter, responseDelay);
103116
}
104117
}
105118
}

yoti-sdk-sandbox/src/main/java/com/yoti/api/client/sandbox/docs/request/task/SandboxSupplementaryDocTextDataExtractionTask.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.yoti.api.client.sandbox.docs.request.task;
22

3-
import static com.yoti.api.client.spi.remote.util.Validation.notNull;
3+
import static com.yoti.validation.Validation.notNull;
44

55
import java.util.HashMap;
66
import java.util.Map;
@@ -19,9 +19,15 @@ public class SandboxSupplementaryDocTextDataExtractionTask {
1919
@JsonProperty("document_filter")
2020
private final SandboxDocumentFilter documentFilter;
2121

22-
SandboxSupplementaryDocTextDataExtractionTask(SandboxSupplementaryDocTextDataExtractionTaskResult result, SandboxDocumentFilter documentFilter) {
22+
@JsonProperty("response_delay")
23+
private final Integer responseDelay;
24+
25+
SandboxSupplementaryDocTextDataExtractionTask(SandboxSupplementaryDocTextDataExtractionTaskResult result,
26+
SandboxDocumentFilter documentFilter,
27+
Integer responseDelay) {
2328
this.result = result;
2429
this.documentFilter = documentFilter;
30+
this.responseDelay = responseDelay;
2531
}
2632

2733
public static Builder builder() {
@@ -36,6 +42,10 @@ public SandboxDocumentFilter getDocumentFilter() {
3642
return documentFilter;
3743
}
3844

45+
public Integer getResponseDelay() {
46+
return responseDelay;
47+
}
48+
3949
/**
4050
* Builder for {@link SandboxSupplementaryDocTextDataExtractionTask}
4151
*/
@@ -45,6 +55,7 @@ public static class Builder {
4555
private SandboxDocumentFilter documentFilter;
4656
private String detectedCountry;
4757
private SandboxTextExtractionTaskRecommendation recommendation;
58+
private Integer responseDelay;
4859

4960
private Builder() {}
5061

@@ -78,10 +89,15 @@ public Builder withRecommendation(SandboxTextExtractionTaskRecommendation recomm
7889
return this;
7990
}
8091

92+
public Builder withResponseDelay(Integer responseDelay) {
93+
this.responseDelay = responseDelay;
94+
return this;
95+
}
96+
8197
public SandboxSupplementaryDocTextDataExtractionTask build() {
8298
SandboxSupplementaryDocTextDataExtractionTaskResult result = new SandboxSupplementaryDocTextDataExtractionTaskResult(documentFields,
8399
detectedCountry, recommendation);
84-
return new SandboxSupplementaryDocTextDataExtractionTask(result, documentFilter);
100+
return new SandboxSupplementaryDocTextDataExtractionTask(result, documentFilter, responseDelay);
85101
}
86102
}
87-
}
103+
}

yoti-sdk-sandbox/src/test/java/com/yoti/api/client/sandbox/docs/request/task/SandboxDocumentTextDataExtractionTaskTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,4 +96,13 @@ public void builder_shouldAllowRecommendation() {
9696
assertThat(result.getResult().getRecommendation(), is(recommendationMock));
9797
}
9898

99+
@Test
100+
public void builder_shouldSetResponseDelay() {
101+
SandboxDocumentTextDataExtractionTask result = SandboxDocumentTextDataExtractionTask.builder()
102+
.withResponseDelay(10)
103+
.build();
104+
105+
assertThat(result.getResponseDelay(), is(10));
106+
}
107+
99108
}

yoti-sdk-sandbox/src/test/java/com/yoti/api/client/sandbox/docs/request/task/SandboxSupplementaryDocTextDataExtractionTaskTest.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,13 @@ public void builder_shouldAllowRecommendation() {
8181
assertThat(result.getResult().getRecommendation(), is(recommendationMock));
8282
}
8383

84-
}
84+
@Test
85+
public void builder_shouldSetResponseDelay() {
86+
SandboxSupplementaryDocTextDataExtractionTask result = SandboxSupplementaryDocTextDataExtractionTask.builder()
87+
.withResponseDelay(10)
88+
.build();
89+
90+
assertThat(result.getResponseDelay(), is(10));
91+
}
92+
93+
}

0 commit comments

Comments
 (0)