Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.yoti.api.client.sandbox.docs.request;

import static com.yoti.api.client.docs.DocScanConstants.FACE_COMPARISON;
import static com.yoti.api.client.docs.DocScanConstants.ID_DOCUMENT_AUTHENTICITY;
import static com.yoti.api.client.docs.DocScanConstants.ID_DOCUMENT_COMPARISON;
import static com.yoti.api.client.docs.DocScanConstants.ID_DOCUMENT_FACE_MATCH;
Expand All @@ -14,6 +15,7 @@
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentAuthenticityCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentTextDataCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentFaceMatchCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxFaceComparisonCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxIdDocumentComparisonCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxLivenessCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxSupplementaryDocumentTextDataCheck;
Expand Down Expand Up @@ -46,6 +48,9 @@ public class SandboxCheckReports {
@JsonProperty(THIRD_PARTY_IDENTITY)
private final SandboxThirdPartyIdentityCheck thirdPartyIdentityCheck;

@JsonProperty(FACE_COMPARISON)
private final SandboxFaceComparisonCheck faceComparisonCheck;

@JsonProperty("async_report_delay")
private final Integer asyncReportDelay;

Expand All @@ -56,6 +61,7 @@ public class SandboxCheckReports {
List<SandboxIdDocumentComparisonCheck> idDocumentComparisonChecks,
List<SandboxSupplementaryDocumentTextDataCheck> supplementaryDocumentTextDataChecks,
SandboxThirdPartyIdentityCheck thirdPartyIdentityCheck,
SandboxFaceComparisonCheck faceComparisonCheck,
Integer asyncReportsDelay) {
this.documentTextDataChecks = documentTextDataChecks;
this.documentAuthenticityChecks = documentAuthenticityChecks;
Expand All @@ -64,6 +70,7 @@ public class SandboxCheckReports {
this.idDocumentComparisonChecks = idDocumentComparisonChecks;
this.supplementaryDocumentTextDataChecks = supplementaryDocumentTextDataChecks;
this.thirdPartyIdentityCheck = thirdPartyIdentityCheck;
this.faceComparisonCheck = faceComparisonCheck;
this.asyncReportDelay = asyncReportsDelay;
}

Expand Down Expand Up @@ -97,6 +104,10 @@ public SandboxThirdPartyIdentityCheck getThirdPartyIdentityCheck() {
return thirdPartyIdentityCheck;
}

public SandboxFaceComparisonCheck getFaceComparisonCheck() {
return faceComparisonCheck;
}

public Integer getAsyncReportDelay() {
return asyncReportDelay;
}
Expand All @@ -120,6 +131,8 @@ public static class Builder {

private SandboxThirdPartyIdentityCheck thirdPartyIdentityCheck;

private SandboxFaceComparisonCheck faceComparisonCheck;

private Integer asyncReportDelay;

private Builder() {}
Expand Down Expand Up @@ -159,14 +172,19 @@ public Builder withThirdPartyIdentityCheck(SandboxThirdPartyIdentityCheck thirdP
return this;
}

public Builder withFaceComparisonCheck(SandboxFaceComparisonCheck faceComparisonCheck) {
this.faceComparisonCheck = faceComparisonCheck;
return this;
}

public Builder withAsyncReportDelay(int asyncReportDelay) {
this.asyncReportDelay = asyncReportDelay;
return this;
}

public SandboxCheckReports build() {
return new SandboxCheckReports(textDataCheck, documentAuthenticityCheck, livenessCheck, documentFaceMatchCheck, idDocumentComparisonCheck,
supplementaryDocumentTextDataCheck, thirdPartyIdentityCheck, asyncReportDelay);
supplementaryDocumentTextDataCheck, thirdPartyIdentityCheck, faceComparisonCheck, asyncReportDelay);
}

}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.yoti.api.client.sandbox.docs.request.check;

import static com.yoti.api.client.spi.remote.util.Validation.notNull;

import com.yoti.api.client.sandbox.docs.request.check.report.SandboxCheckReport;

public class SandboxFaceComparisonCheck extends SandboxCheck {

SandboxFaceComparisonCheck(SandboxCheckResult result) {
super(result);
}

public static Builder builder() {
return new Builder();
}

/**
* Builder for {@link SandboxFaceComparisonCheck}
*/
public static class Builder extends SandboxCheck.Builder<Builder> {

private Builder() {}

@Override
protected Builder self() {
return this;
}

@Override
public SandboxFaceComparisonCheck build() {
notNull(recommendation, "recommendation");

SandboxCheckReport report = new SandboxCheckReport(recommendation, breakdown);
SandboxCheckResult result = new SandboxCheckResult(report, reportTemplate);

return new SandboxFaceComparisonCheck(result);
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentAuthenticityCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentFaceMatchCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxFaceComparisonCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxIdDocumentComparisonCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxLivenessCheck;
import com.yoti.api.client.sandbox.docs.request.check.SandboxDocumentTextDataCheck;
Expand All @@ -27,6 +28,7 @@ public class SandboxCheckReportsTest {
@Mock SandboxIdDocumentComparisonCheck idDocumentComparisonCheckMock;
@Mock SandboxSupplementaryDocumentTextDataCheck supplementaryDocumentTextDataCheckMock;
@Mock SandboxThirdPartyIdentityCheck thirdPartyIdentityCheckMock;
@Mock SandboxFaceComparisonCheck faceComparisonCheckMock;

@Test
public void builder_shouldAllowDocumentAuthenticityChecks() {
Expand Down Expand Up @@ -97,6 +99,15 @@ public void builder_shouldAllowThirdPartyIdentityChecks() {
assertThat(result.getThirdPartyIdentityCheck(), is(thirdPartyIdentityCheckMock));
}

@Test
public void builder_shouldAllowFaceComparisonCheck() {
SandboxCheckReports result = SandboxCheckReports.builder()
.withFaceComparisonCheck(faceComparisonCheckMock)
.build();

assertThat(result.getFaceComparisonCheck(), is(faceComparisonCheckMock));
}

@Test
public void builder_shouldAllowOverridingOfAsyncReportDelay() {
SandboxCheckReports result = SandboxCheckReports.builder()
Expand Down