Skip to content

Commit 42e700a

Browse files
committed
SDK-2675: Add support for configuring check result, for THIRD_PARTY_IDENTITY_FRAUD_1 check in the sandbox
1 parent 392b9f8 commit 42e700a

File tree

3 files changed

+71
-1
lines changed

3 files changed

+71
-1
lines changed

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

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import static com.yoti.api.client.docs.DocScanConstants.SUPPLEMENTARY_DOCUMENT_TEXT_DATA_CHECK;
1010
import static com.yoti.api.client.docs.DocScanConstants.SYNECTICS_IDENTITY_FRAUD;
1111
import static com.yoti.api.client.docs.DocScanConstants.THIRD_PARTY_IDENTITY;
12+
import static com.yoti.api.client.docs.DocScanConstants.THIRD_PARTY_IDENTITY_FRAUD_ONE;
1213

1314
import java.util.ArrayList;
1415
import java.util.List;
@@ -22,6 +23,7 @@
2223
import com.yoti.api.client.sandbox.docs.request.check.SandboxSupplementaryDocumentTextDataCheck;
2324
import com.yoti.api.client.sandbox.docs.request.check.SandboxSynecticsIdentityFraudCheck;
2425
import com.yoti.api.client.sandbox.docs.request.check.SandboxThirdPartyIdentityCheck;
26+
import com.yoti.api.client.sandbox.docs.request.check.SandboxThirdPartyIdentityFraudOneCheck;
2527

2628
import com.fasterxml.jackson.annotation.JsonInclude;
2729
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -56,6 +58,9 @@ public class SandboxCheckReports {
5658
@JsonProperty(SYNECTICS_IDENTITY_FRAUD)
5759
private final List<SandboxSynecticsIdentityFraudCheck> synecticsIdentityFraudChecks;
5860

61+
@JsonProperty(THIRD_PARTY_IDENTITY_FRAUD_ONE)
62+
private final SandboxThirdPartyIdentityFraudOneCheck thirdPartyIdentityFraudOneCheck;
63+
5964
@JsonProperty("async_report_delay")
6065
private final Integer asyncReportDelay;
6166

@@ -68,6 +73,7 @@ public class SandboxCheckReports {
6873
SandboxThirdPartyIdentityCheck thirdPartyIdentityCheck,
6974
SandboxFaceComparisonCheck faceComparisonCheck,
7075
List<SandboxSynecticsIdentityFraudCheck> synecticsIdentityFraudChecks,
76+
SandboxThirdPartyIdentityFraudOneCheck thirdPartyIdentityFraudOneCheck,
7177
Integer asyncReportsDelay) {
7278
this.documentTextDataChecks = documentTextDataChecks;
7379
this.documentAuthenticityChecks = documentAuthenticityChecks;
@@ -78,6 +84,7 @@ public class SandboxCheckReports {
7884
this.thirdPartyIdentityCheck = thirdPartyIdentityCheck;
7985
this.faceComparisonCheck = faceComparisonCheck;
8086
this.synecticsIdentityFraudChecks = synecticsIdentityFraudChecks;
87+
this.thirdPartyIdentityFraudOneCheck = thirdPartyIdentityFraudOneCheck;
8188
this.asyncReportDelay = asyncReportsDelay;
8289
}
8390

@@ -119,6 +126,10 @@ public List<SandboxSynecticsIdentityFraudCheck> getSynecticsIdentityFraudChecks(
119126
return synecticsIdentityFraudChecks;
120127
}
121128

129+
public SandboxThirdPartyIdentityFraudOneCheck getThirdPartyIdentityFraudOneCheck() {
130+
return thirdPartyIdentityFraudOneCheck;
131+
}
132+
122133
public Integer getAsyncReportDelay() {
123134
return asyncReportDelay;
124135
}
@@ -146,6 +157,8 @@ public static class Builder {
146157

147158
private List<SandboxSynecticsIdentityFraudCheck> synecticsIdentityFraudChecks = new ArrayList<>();
148159

160+
private SandboxThirdPartyIdentityFraudOneCheck thirdPartyIdentityFraudOneCheck;
161+
149162
private Integer asyncReportDelay;
150163

151164
private Builder() {}
@@ -195,14 +208,20 @@ public Builder withSynecticsIdentityFraudCheck(SandboxSynecticsIdentityFraudChec
195208
return this;
196209
}
197210

211+
public Builder withThirdPartyIdentityFraudOneCheck(SandboxThirdPartyIdentityFraudOneCheck thirdPartyIdentityFraudOneCheck) {
212+
this.thirdPartyIdentityFraudOneCheck = thirdPartyIdentityFraudOneCheck;
213+
return this;
214+
}
215+
198216
public Builder withAsyncReportDelay(int asyncReportDelay) {
199217
this.asyncReportDelay = asyncReportDelay;
200218
return this;
201219
}
202220

203221
public SandboxCheckReports build() {
204222
return new SandboxCheckReports(textDataCheck, documentAuthenticityCheck, livenessCheck, documentFaceMatchCheck, idDocumentComparisonCheck,
205-
supplementaryDocumentTextDataCheck, thirdPartyIdentityCheck, faceComparisonCheck, synecticsIdentityFraudChecks, asyncReportDelay);
223+
supplementaryDocumentTextDataCheck, thirdPartyIdentityCheck, faceComparisonCheck, synecticsIdentityFraudChecks,
224+
thirdPartyIdentityFraudOneCheck, asyncReportDelay);
206225
}
207226

208227
}
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 SandboxThirdPartyIdentityFraudOneCheck extends SandboxCheck {
8+
9+
SandboxThirdPartyIdentityFraudOneCheck(SandboxCheckResult result) {
10+
super(result);
11+
}
12+
13+
public static Builder builder() {
14+
return new Builder();
15+
}
16+
17+
/**
18+
* Builder for {@link SandboxThirdPartyIdentityFraudOneCheck}
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 SandboxThirdPartyIdentityFraudOneCheck build() {
31+
notNull(recommendation, "recommendation");
32+
33+
SandboxCheckReport report = new SandboxCheckReport(recommendation, breakdown);
34+
SandboxCheckResult result = new SandboxCheckResult(report, reportTemplate);
35+
36+
return new SandboxThirdPartyIdentityFraudOneCheck(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
@@ -13,6 +13,7 @@
1313
import com.yoti.api.client.sandbox.docs.request.check.SandboxSupplementaryDocumentTextDataCheck;
1414
import com.yoti.api.client.sandbox.docs.request.check.SandboxSynecticsIdentityFraudCheck;
1515
import com.yoti.api.client.sandbox.docs.request.check.SandboxThirdPartyIdentityCheck;
16+
import com.yoti.api.client.sandbox.docs.request.check.SandboxThirdPartyIdentityFraudOneCheck;
1617

1718
import org.junit.Test;
1819
import org.junit.runner.RunWith;
@@ -31,6 +32,7 @@ public class SandboxCheckReportsTest {
3132
@Mock SandboxThirdPartyIdentityCheck thirdPartyIdentityCheckMock;
3233
@Mock SandboxFaceComparisonCheck faceComparisonCheckMock;
3334
@Mock SandboxSynecticsIdentityFraudCheck synecticsIdentityFraudCheckMock;
35+
@Mock SandboxThirdPartyIdentityFraudOneCheck thirdPartyIdentityFraudOneCheckMock;
3436

3537
@Test
3638
public void builder_shouldAllowDocumentAuthenticityChecks() {
@@ -120,6 +122,15 @@ public void builder_shouldAllowSynecticsIdentityFraudChecks() {
120122
assertThat(result.getSynecticsIdentityFraudChecks().get(0), is(synecticsIdentityFraudCheckMock));
121123
}
122124

125+
@Test
126+
public void builder_shouldAllowThirdPartyIdentityFraudOneCheck() {
127+
SandboxCheckReports result = SandboxCheckReports.builder()
128+
.withThirdPartyIdentityFraudOneCheck(thirdPartyIdentityFraudOneCheckMock)
129+
.build();
130+
131+
assertThat(result.getThirdPartyIdentityFraudOneCheck(), is(thirdPartyIdentityFraudOneCheckMock));
132+
}
133+
123134
@Test
124135
public void builder_shouldAllowOverridingOfAsyncReportDelay() {
125136
SandboxCheckReports result = SandboxCheckReports.builder()

0 commit comments

Comments
 (0)