public void ShouldBuildWithRequiredDocument() { SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithRequiredDocument( new RequiredIdDocumentBuilder() .WithFilter( new DocumentRestrictionsFilterBuilder() .ForIncludeList() .WithDocumentRestriction( new List <string> { "USA" }, new List <string> { "PASSPORT" }) .Build()) .Build()) .Build(); RequiredIdDocument result = (RequiredIdDocument)sessionSpec.RequiredDocuments.Single(); Assert.AreEqual("ID_DOCUMENT", result.Type); Assert.AreEqual("DOCUMENT_RESTRICTIONS", result.Filter.Type); DocumentRestrictionsFilter filter = (DocumentRestrictionsFilter)result.Filter; Assert.AreEqual("WHITELIST", filter.Inclusion); Assert.AreEqual("USA", filter.Documents.Single().CountryCodes.Single()); Assert.AreEqual("PASSPORT", filter.Documents.Single().DocumentTypes.Single()); }
public void ShouldNotImplicitlySetAValueForClientSessionTokenTtl() { SessionSpecification sessionSpec = new SessionSpecificationBuilder() .Build(); Assert.IsNull(sessionSpec.ClientSessionTokenTtl); }
public void ShouldNotImplicitlySetAValueForSubject() { SessionSpecification sessionSpec = new SessionSpecificationBuilder() .Build(); Assert.IsNull(sessionSpec.Subject); }
public void ShouldNotImplicitlySetAValueForIdentityProfileRequirements() { SessionSpecification sessionSpec = new SessionSpecificationBuilder() .Build(); Assert.IsNull(sessionSpec.IdentityProfileRequirements); }
public void ShouldBuildWithBlockBiometricConsentFalse() { SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithBlockBiometricConsent(false) .Build(); Assert.IsFalse((bool)sessionSpec.BlockBiometricConsent); }
public void ShouldBuildWithClientSessionTokenTtl() { int clientSessionTokenTtl = 500; SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithClientSessionTokenTtl(clientSessionTokenTtl) .Build(); Assert.AreEqual(clientSessionTokenTtl, sessionSpec.ClientSessionTokenTtl); }
public void ShouldBuildWithIdentityProfileRequirements() { object identityProfileRequirements = IdentityProfiles.CreateStandardIdentityProfileRequirements(); SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithIdentityProfileRequirements(identityProfileRequirements) .Build(); Assert.AreEqual(identityProfileRequirements, sessionSpec.IdentityProfileRequirements); }
public void ShouldBuildWithUserTrackingId() { string userTrackingId = "someTrackingId"; SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithUserTrackingId(userTrackingId) .Build(); Assert.AreEqual(userTrackingId, sessionSpec.UserTrackingId); }
public void ShouldBuildWithRequestedCheck() { SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithRequestedCheck( new RequestedDocumentAuthenticityCheckBuilder() .Build()) .Build(); Assert.AreEqual("ID_DOCUMENT_AUTHENTICITY", sessionSpec.RequestedChecks.Single().Type); }
public void ShouldBuildWithResourcesTtl() { int resourcesTtl = 450; SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithResourcesTtl(resourcesTtl) .Build(); Assert.AreEqual(resourcesTtl, sessionSpec.ResourcesTtl); }
public void ShouldBuildWithSubject() { object subject = IdentityProfiles.CreateStandardSubject(); SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithSubject(subject) .Build(); Assert.AreEqual(subject, sessionSpec.Subject); }
public void ShouldBuildWithSdkConfig() { SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithSdkConfig( new SdkConfigBuilder() .WithAllowsCameraAndUpload() .Build()) .Build(); Assert.AreEqual("CAMERA_AND_UPLOAD", sessionSpec.SdkConfig.AllowedCaptureMethods); }
public void ShouldBuildWithSessionDeadline() { var correctFormat = "2021-09-14T17:48:26.902+01:00"; DateTimeOffset dateTimeOffset = DateTimeOffset.Parse(correctFormat); SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithSessionDeadline(dateTimeOffset) .Build(); Assert.AreEqual(dateTimeOffset, sessionSpec.SessionDeadline); }
public void ShouldBuildWithRequestedTask() { SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithRequestedTask( new RequestedTextExtractionTaskBuilder() .WithManualCheckFallback() .Build()) .Build(); var result = (RequestedTextExtractionTask)sessionSpec.RequestedTasks.Single(); Assert.AreEqual("ID_DOCUMENT_TEXT_DATA_EXTRACTION", result.Type); Assert.AreEqual("FALLBACK", result.Config.ManualCheck); }
public void ShouldBuildWithNotifications() { string topic = "topic"; NotificationConfig notifications = new NotificationConfigBuilder() .WithTopic(topic) .Build(); SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithNotifications(notifications) .Build(); Assert.AreEqual(topic, sessionSpec.Notifications.Topics.Single()); }
public void ShouldCorrectlySerialiseSessionDeadlineFormat() { var correctFormat = "2021-09-14T17:48:26.902+01:00"; DateTimeOffset dateTimeOffset = DateTimeOffset.Parse(correctFormat); var correctKvp = $"\"session_deadline\":\"{correctFormat}\""; SessionSpecification sessionSpec = new SessionSpecificationBuilder() .WithSessionDeadline(dateTimeOffset) .Build(); string sessionSpecJson = JsonConvert.SerializeObject(sessionSpec); Assert.AreEqual(dateTimeOffset, sessionSpec.SessionDeadline); Assert.IsTrue(sessionSpecJson.Contains(correctKvp)); }
public IActionResult Index() { //Build Session Spec var sessionSpec = new SessionSpecificationBuilder() .WithClientSessionTokenTtl(600) .WithResourcesTtl(90000) .WithUserTrackingId("some-user-tracking-id") //Add Checks (using builders) .WithRequestedCheck( new RequestedDocumentAuthenticityCheckBuilder() .WithManualCheckAlways() .Build() ) .WithRequestedCheck( new RequestedLivenessCheckBuilder() .ForZoomLiveness() .Build() ) .WithRequestedCheck( new RequestedFaceMatchCheckBuilder() .WithManualCheckAlways() .Build() ) .WithRequestedCheck( new RequestedIdDocumentComparisonCheckBuilder() .Build()) .WithRequestedCheck( new RequestedThirdPartyIdentityCheckBuilder() .Build()) .WithRequestedCheck( new RequestedWatchlistScreeningCheckBuilder() .ForAdverseMedia() .ForSanctions() .Build() ) //Add Tasks (using builders) .WithRequestedTask( new RequestedTextExtractionTaskBuilder() .WithManualCheckAlways() .WithChipDataDesired() .Build() ) .WithRequestedTask( new RequestedSupplementaryDocTextExtractionTaskBuilder() .WithManualCheckAlways() .Build() ) //Add Sdk Config (with builder) .WithSdkConfig( new SdkConfigBuilder() .WithAllowsCameraAndUpload() .WithPrimaryColour("#2d9fff") .WithSecondaryColour("#FFFFFF") .WithFontColour("#FFFFFF") .WithLocale("en-GB") .WithPresetIssuingCountry("GBR") .WithSuccessUrl($"{_baseUrl}/idverify/success") .WithErrorUrl($"{_baseUrl}/idverify/error") .WithPrivacyPolicyUrl($"{_baseUrl}/privacy-policy") .WithAllowHandoff(false) .Build() ) //Add Required Documents (with builders) .WithRequiredDocument( new RequiredIdDocumentBuilder() .WithFilter( (new OrthogonalRestrictionsFilterBuilder()) .WithIncludedDocumentTypes(new List <string> { "PASSPORT" }) .Build() ) .Build() ) .WithRequiredDocument( new RequiredIdDocumentBuilder() .WithFilter( (new OrthogonalRestrictionsFilterBuilder()) .WithIncludedDocumentTypes(new List <string> { "DRIVING_LICENCE" }) .Build() ) .Build() ) .WithRequiredDocument( new RequiredSupplementaryDocumentBuilder() .WithObjective( new ProofOfAddressObjectiveBuilder().Build()) .Build() ) .Build(); CreateSessionResult createSessionResult = _client.CreateSession(sessionSpec); string sessionId = createSessionResult.SessionId; string path = $"web/index.html?sessionID={sessionId}&sessionToken={createSessionResult.ClientSessionToken}"; Uri uri = new Uri(_apiUrl, path); ViewBag.iframeUrl = uri.ToString(); TempData["sessionId"] = sessionId; return(View()); }