Skip to content

Commit 9f742dc

Browse files
committed
SDK-2675: Add support for configuring check result, for FACE_COMPARISON check in the sandbox
1 parent c34dd73 commit 9f742dc

File tree

3 files changed

+70
-1
lines changed

3 files changed

+70
-1
lines changed

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

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

3+
import static com.yoti.api.client.docs.DocScanConstants.FACE_COMPARISON;
34
import static com.yoti.api.client.docs.DocScanConstants.ID_DOCUMENT_AUTHENTICITY;
45
import static com.yoti.api.client.docs.DocScanConstants.ID_DOCUMENT_COMPARISON;
56
import static com.yoti.api.client.docs.DocScanConstants.ID_DOCUMENT_FACE_MATCH;
@@ -14,6 +15,7 @@
1415
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentAuthenticityCheck;
1516
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentTextDataCheck;
1617
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentFaceMatchCheck;
18+
import com.yoti.api.client.sandbox.docs.request.check.SandboxFaceComparisonCheck;
1719
import com.yoti.api.client.sandbox.docs.request.check.SandboxIdDocumentComparisonCheck;
1820
import com.yoti.api.client.sandbox.docs.request.check.SandboxLivenessCheck;
1921
import com.yoti.api.client.sandbox.docs.request.check.SandboxSupplementaryDocumentTextDataCheck;
@@ -46,6 +48,9 @@ public class SandboxCheckReports {
4648
@JsonProperty(THIRD_PARTY_IDENTITY)
4749
private final SandboxThirdPartyIdentityCheck thirdPartyIdentityCheck;
4850

51+
@JsonProperty(FACE_COMPARISON)
52+
private final SandboxFaceComparisonCheck faceComparisonCheck;
53+
4954
@JsonProperty("async_report_delay")
5055
private final Integer asyncReportDelay;
5156

@@ -56,6 +61,7 @@ public class SandboxCheckReports {
5661
List<SandboxIdDocumentComparisonCheck> idDocumentComparisonChecks,
5762
List<SandboxSupplementaryDocumentTextDataCheck> supplementaryDocumentTextDataChecks,
5863
SandboxThirdPartyIdentityCheck thirdPartyIdentityCheck,
64+
SandboxFaceComparisonCheck faceComparisonCheck,
5965
Integer asyncReportsDelay) {
6066
this.documentTextDataChecks = documentTextDataChecks;
6167
this.documentAuthenticityChecks = documentAuthenticityChecks;
@@ -64,6 +70,7 @@ public class SandboxCheckReports {
6470
this.idDocumentComparisonChecks = idDocumentComparisonChecks;
6571
this.supplementaryDocumentTextDataChecks = supplementaryDocumentTextDataChecks;
6672
this.thirdPartyIdentityCheck = thirdPartyIdentityCheck;
73+
this.faceComparisonCheck = faceComparisonCheck;
6774
this.asyncReportDelay = asyncReportsDelay;
6875
}
6976

@@ -97,6 +104,10 @@ public SandboxThirdPartyIdentityCheck getThirdPartyIdentityCheck() {
97104
return thirdPartyIdentityCheck;
98105
}
99106

107+
public SandboxFaceComparisonCheck getFaceComparisonCheck() {
108+
return faceComparisonCheck;
109+
}
110+
100111
public Integer getAsyncReportDelay() {
101112
return asyncReportDelay;
102113
}
@@ -120,6 +131,8 @@ public static class Builder {
120131

121132
private SandboxThirdPartyIdentityCheck thirdPartyIdentityCheck;
122133

134+
private SandboxFaceComparisonCheck faceComparisonCheck;
135+
123136
private Integer asyncReportDelay;
124137

125138
private Builder() {}
@@ -159,14 +172,19 @@ public Builder withThirdPartyIdentityCheck(SandboxThirdPartyIdentityCheck thirdP
159172
return this;
160173
}
161174

175+
public Builder withFaceComparisonCheck(SandboxFaceComparisonCheck faceComparisonCheck) {
176+
this.faceComparisonCheck = faceComparisonCheck;
177+
return this;
178+
}
179+
162180
public Builder withAsyncReportDelay(int asyncReportDelay) {
163181
this.asyncReportDelay = asyncReportDelay;
164182
return this;
165183
}
166184

167185
public SandboxCheckReports build() {
168186
return new SandboxCheckReports(textDataCheck, documentAuthenticityCheck, livenessCheck, documentFaceMatchCheck, idDocumentComparisonCheck,
169-
supplementaryDocumentTextDataCheck, thirdPartyIdentityCheck, asyncReportDelay);
187+
supplementaryDocumentTextDataCheck, thirdPartyIdentityCheck, faceComparisonCheck, asyncReportDelay);
170188
}
171189

172190
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.yoti.api.client.sandbox.docs.request.check;
2+
3+
import static com.yoti.api.client.spi.remote.util.Validation.notNull;
4+
5+
import com.yoti.api.client.sandbox.docs.request.check.report.SandboxCheckReport;
6+
7+
public class SandboxFaceComparisonCheck extends SandboxCheck {
8+
9+
SandboxFaceComparisonCheck(SandboxCheckResult result) {
10+
super(result);
11+
}
12+
13+
public static Builder builder() {
14+
return new Builder();
15+
}
16+
17+
/**
18+
* Builder for {@link SandboxFaceComparisonCheck}
19+
*/
20+
public static class Builder extends SandboxCheck.Builder<Builder> {
21+
22+
private Builder() {}
23+
24+
@Override
25+
protected Builder self() {
26+
return this;
27+
}
28+
29+
@Override
30+
public SandboxFaceComparisonCheck build() {
31+
notNull(recommendation, "recommendation");
32+
33+
SandboxCheckReport report = new SandboxCheckReport(recommendation, breakdown);
34+
SandboxCheckResult result = new SandboxCheckResult(report, reportTemplate);
35+
36+
return new SandboxFaceComparisonCheck(result);
37+
}
38+
39+
}
40+
}

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentAuthenticityCheck;
88
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentFaceMatchCheck;
9+
import com.yoti.api.client.sandbox.docs.request.check.SandboxFaceComparisonCheck;
910
import com.yoti.api.client.sandbox.docs.request.check.SandboxIdDocumentComparisonCheck;
1011
import com.yoti.api.client.sandbox.docs.request.check.SandboxLivenessCheck;
1112
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentTextDataCheck;
@@ -27,6 +28,7 @@ public class SandboxCheckReportsTest {
2728
@Mock SandboxIdDocumentComparisonCheck idDocumentComparisonCheckMock;
2829
@Mock SandboxSupplementaryDocumentTextDataCheck supplementaryDocumentTextDataCheckMock;
2930
@Mock SandboxThirdPartyIdentityCheck thirdPartyIdentityCheckMock;
31+
@Mock SandboxFaceComparisonCheck faceComparisonCheckMock;
3032

3133
@Test
3234
public void builder_shouldAllowDocumentAuthenticityChecks() {
@@ -97,6 +99,15 @@ public void builder_shouldAllowThirdPartyIdentityChecks() {
9799
assertThat(result.getThirdPartyIdentityCheck(), is(thirdPartyIdentityCheckMock));
98100
}
99101

102+
@Test
103+
public void builder_shouldAllowFaceComparisonCheck() {
104+
SandboxCheckReports result = SandboxCheckReports.builder()
105+
.withFaceComparisonCheck(faceComparisonCheckMock)
106+
.build();
107+
108+
assertThat(result.getFaceComparisonCheck(), is(faceComparisonCheckMock));
109+
}
110+
100111
@Test
101112
public void builder_shouldAllowOverridingOfAsyncReportDelay() {
102113
SandboxCheckReports result = SandboxCheckReports.builder()

0 commit comments

Comments
 (0)