public void UploadFaceCaptureImageShouldSucceed() { DocScanClient docScanClient = SetupDocScanClientResponse(HttpStatusCode.OK); Action act = () => docScanClient.UploadFaceCaptureImage(_someSessionId, _someResourceId, _uploadFaceCaptureImagePayload); Assert.That.DoesNotThrowException(act); }
public HomeController(IHttpContextAccessor httpContextAccessor) { var request = httpContextAccessor.HttpContext.Request; _baseUrl = $"{request.Scheme}://{request.Host}";; _apiUrl = GetApiUrl(); _client = GetDocScanClient(_apiUrl); }
public void DeleteSessionAsyncShouldThrowForNonSuccessStatusCode(HttpStatusCode httpStatusCode) { DocScanClient docScanClient = SetupDocScanClientResponse(httpStatusCode); Assert.ThrowsExceptionAsync <DocScanException>(async() => { await docScanClient.DeleteSessionAsync("someSessionId"); }); }
public void DeleteMediaContentShouldThrowForNonSuccessStatusCode(HttpStatusCode httpStatusCode) { DocScanClient docScanClient = SetupDocScanClientResponse(httpStatusCode); var aggregateException = Assert.ThrowsException <AggregateException>(() => { docScanClient.DeleteMediaContent("someSessionId", "someMediaId"); }); Assert.IsTrue(TestTools.Exceptions.IsExceptionInAggregateException <DocScanException>(aggregateException)); }
public void UploadFaceCaptureImageShouldThrowForNonSuccessStatusCode(HttpStatusCode httpStatusCode) { DocScanClient docScanClient = SetupDocScanClientResponse(httpStatusCode); var aggregateException = Assert.ThrowsException <AggregateException>(() => { docScanClient.UploadFaceCaptureImage(_someSessionId, _someResourceId, _uploadFaceCaptureImagePayload); }); Assert.IsTrue(TestTools.Exceptions.IsExceptionInAggregateException <DocScanException>(aggregateException)); }
public void GetSessionConfigurationShouldThrowForNonSuccessStatusCode(HttpStatusCode httpStatusCode) { DocScanClient docScanClient = SetupDocScanClientResponse(httpStatusCode); var aggregateException = Assert.ThrowsException <AggregateException>(() => { docScanClient.GetSessionConfiguration(_someSessionId); }); Assert.IsTrue(TestTools.Exceptions.IsExceptionInAggregateException <DocScanException>(aggregateException)); }
public void GetSupportedDocumentsShouldThrowForNonSuccessStatusCode(HttpStatusCode httpStatusCode) { DocScanClient docScanClient = SetupDocScanClientResponse(httpStatusCode); var aggregateException = Assert.ThrowsException <AggregateException>(() => { docScanClient.GetSupportedDocuments(); }); Assert.IsTrue(TestTools.Exceptions.IsExceptionInAggregateException <DocScanException>(aggregateException)); }
public void CreateSessionShouldThrowForNonSuccessStatusCode(HttpStatusCode httpStatusCode) { DocScanClient docScanClient = SetupDocScanClientResponse(httpStatusCode); var aggregateException = Assert.ThrowsException <AggregateException>(() => { CreateSessionResult result = docScanClient.CreateSession( new SessionSpecificationBuilder().Build()); }); Assert.IsTrue(TestTools.Exceptions.IsExceptionInAggregateException <DocScanException>(aggregateException)); }
public void CreateFaceCaptureResourceShouldSucceed() { string id = "someId"; int frames = 4; dynamic createFaceCaptureResourceResponse = new { id, frames }; DocScanClient docScanClient = SetupDocScanClient(createFaceCaptureResourceResponse); CreateFaceCaptureResourceResponse result = docScanClient.CreateFaceCaptureResource(_someSessionId, _createFaceCaptureResourcePayload); Assert.AreEqual(id, result.Id); Assert.AreEqual(frames, result.Frames); }
public void ShouldParseIdentityProfileResponse() { string mediaId = "c69ff2db-6caf-4e74-8386-037711bbc8d7"; string getSessionResult; using (StreamReader r = File.OpenText("TestData/GetSessionResultWithIdentityProfile.json")) { getSessionResult = r.ReadToEnd(); } var successResponse = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(getSessionResult), }; Mock <HttpMessageHandler> handlerMock = Auth.Tests.Common.Http.SetupMockMessageHandler(successResponse); var httpClient = new HttpClient(handlerMock.Object); DocScanClient docScanClient = new DocScanClient(_sdkId, _keyPair, httpClient); GetSessionResult result = docScanClient.GetSession("some-session-id"); Assert.AreEqual("DONE", result.IdentityProfile.Result); Assert.AreEqual("someStringHere", result.IdentityProfile.SubjectId); Assert.AreEqual("MANDATORY_DOCUMENT_COULD_NOT_BE_PROVIDED", result.IdentityProfile.FailureReason.ReasonCode); Assert.AreEqual("UK_TFIDA", result.IdentityProfile.Report["trust_framework"]); JToken expectedSchemesCompliance = JToken.FromObject( new[] { new { scheme = new { type = "DBS", objective = "STANDARD" }, requirements_met = true, requirements_not_met_info = "some string here" } }); Assert.IsTrue(JToken.DeepEquals( JToken.FromObject(expectedSchemesCompliance), result.IdentityProfile.Report["schemes_compliance"])); Assert.AreEqual(mediaId, result.IdentityProfile.Report["media"]["id"]); }
public void GetMediaContentShouldReturnNullFor204Response() { var noContentResponse = new HttpResponseMessage { StatusCode = HttpStatusCode.NoContent, Content = null, }; Mock <HttpMessageHandler> handlerMock = Auth.Tests.Common.Http.SetupMockMessageHandler(noContentResponse); var httpClient = new HttpClient(handlerMock.Object); DocScanClient docScanClient = new DocScanClient(_sdkId, _keyPair, httpClient); MediaValue mediaValue = docScanClient.GetMediaContent(_someSessionId, _someMediaId); Assert.IsNull(mediaValue); }
public void GetMediaContentShouldReturnMedia() { string contentTypeImageJpeg = "image/jpeg"; byte[] imageBytes = Encoding.UTF8.GetBytes("image-body"); var successResponse = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new ByteArrayContent(imageBytes), }; successResponse.Content.Headers.Add(Constants.Api.ContentTypeHeader, contentTypeImageJpeg); Mock <HttpMessageHandler> handlerMock = Auth.Tests.Common.Http.SetupMockMessageHandler(successResponse); var httpClient = new HttpClient(handlerMock.Object); DocScanClient docScanClient = new DocScanClient(_sdkId, _keyPair, httpClient); MediaValue mediaValue = docScanClient.GetMediaContent(_someSessionId, _someMediaId); Assert.IsTrue(imageBytes.SequenceEqual(mediaValue.GetContent())); Assert.AreEqual(contentTypeImageJpeg, mediaValue.GetMIMEType()); }
public void GetSessionSuccessShouldReturnResult() { var getSessionResult = new GetSessionResult { State = "COMPLETED" }; string jsonResponse = JsonConvert.SerializeObject(getSessionResult); var successResponse = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(jsonResponse), }; Mock <HttpMessageHandler> handlerMock = Auth.Tests.Common.Http.SetupMockMessageHandler(successResponse); var httpClient = new HttpClient(handlerMock.Object); DocScanClient docScanClient = new DocScanClient(_sdkId, _keyPair, httpClient); GetSessionResult result = docScanClient.GetSession("some-session-id"); Assert.AreEqual("COMPLETED", result.State); Assert.IsNull(result.BiometricConsentTimestamp); }
public void ShouldReturnBiometricConsentTimestamp() { var getSessionResult = new GetSessionResult { BiometricConsentTimestamp = new DateTime(2020, 1, 2, 3, 4, 5, DateTimeKind.Utc) }; string jsonResponse = JsonConvert.SerializeObject(getSessionResult); var successResponse = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(jsonResponse), }; Mock <HttpMessageHandler> handlerMock = Http.SetupMockMessageHandler(successResponse); var httpClient = new HttpClient(handlerMock.Object); DocScanClient docScanClient = new DocScanClient(_sdkId, _keyPair, httpClient); GetSessionResult result = docScanClient.GetSession("some-session-id"); Assert.AreEqual(new DateTime(2020, 1, 2, 3, 4, 5, DateTimeKind.Utc), result.BiometricConsentTimestamp); }
public void ConstructClientWithNullHttpClientShouldSucceed() { var docScanClient = new DocScanClient(_sdkId, _keyPair, null); Assert.IsNotNull(docScanClient); }
public IdVerifyController() { _client = HomeController.GetDocScanClient(); }
public void ShouldNotFailForValidKeyPair() { var docScanClient = new DocScanClient(_sdkId, KeyPair.GetValidKeyStream(), null, null); Assert.IsNotNull(docScanClient); }
public void GetSessionConfigurationShouldSucceed() { int clientSessionTokenTtl = 3600; var requestedChecks = new List <string> { "check1", "check2" }; string biometricConsent = "someBiometricConsent"; var requiredIdDocumentResourceResponse = Mock.Of <RequiredIdDocumentResourceResponse>(ctx => ctx.Type == DocScanConstants.IdDocument); var requiredSupplementaryDocumentResourceResponse = Mock.Of <RequiredSupplementaryDocumentResourceResponse>(ctx => ctx.Type == DocScanConstants.SupplementaryDocument); var requiredLivenessResourceResponse = Mock.Of <RequiredLivenessResourceResponse>(ctx => ctx.Type == DocScanConstants.Liveness); var requiredZoomLivenessResourceResponse = Mock.Of <RequiredZoomLivenessResourceResponse>(ctx => ctx.Type == DocScanConstants.Liveness && ctx.LivenessType == DocScanConstants.Zoom); var relyingBusinessAllowedSourceResponse = Mock.Of <AllowedSourceResponse>(ctx => ctx.Type == DocScanConstants.RelyingBusiness); var allowedSources = new List <AllowedSourceResponse> { relyingBusinessAllowedSourceResponse }; var id = "someId"; var state = "someState"; var requiredFaceCaptureResourceResponse = Mock.Of <RequiredFaceCaptureResourceResponse>(ctx => ctx.Type == DocScanConstants.FaceCapture && ctx.AllowedSources == allowedSources && ctx.Id == id && ctx.State == state); List <RequiredResourceResponse> requiredResourceResponses = new List <RequiredResourceResponse> { requiredIdDocumentResourceResponse, requiredSupplementaryDocumentResourceResponse, requiredLivenessResourceResponse, requiredZoomLivenessResourceResponse, requiredFaceCaptureResourceResponse }; dynamic captureResponse = new { biometric_consent = biometricConsent, required_resources = requiredResourceResponses }; dynamic sessionConfigurationResponse = new { client_session_token_ttl = clientSessionTokenTtl, session_id = _someSessionId, requested_checks = requestedChecks, capture = captureResponse }; DocScanClient docScanClient = SetupDocScanClient(sessionConfigurationResponse); SessionConfigurationResponse result = docScanClient.GetSessionConfiguration(_someSessionId); var faceCaptureResourceRequirement = result.Capture.GetFaceCaptureResourceRequirements().First(); Assert.AreEqual(clientSessionTokenTtl, result.ClientSessionTokenTtl); Assert.AreEqual(_someSessionId, result.SessionId); CollectionAssert.AreEqual(requestedChecks, result.RequestedChecks); Assert.AreEqual(biometricConsent, result.Capture.BiometricConsent); Assert.AreEqual(requiredResourceResponses.Count, result.Capture.RequiredResources.Count); Assert.AreEqual(2, result.Capture.GetDocumentResourceRequirements().Count); Assert.AreEqual(1, result.Capture.GetIdDocumentResourceRequirements().Count); Assert.AreEqual(1, result.Capture.GetSupplementaryResourceRequirements().Count); Assert.AreEqual(2, result.Capture.GetLivenessResourceRequirements().Count); Assert.AreEqual(1, result.Capture.GetZoomLivenessResourceRequirements().Count); Assert.AreEqual(1, result.Capture.GetFaceCaptureResourceRequirements().Count); Assert.IsTrue(faceCaptureResourceRequirement.IsRelyingBusinessAllowed); Assert.AreEqual(id, faceCaptureResourceRequirement.Id); Assert.AreEqual(state, faceCaptureResourceRequirement.State); }
public void DeleteSessionSuccessShouldSucceed() { DocScanClient docScanClient = SetupDocScanClientResponse(HttpStatusCode.OK); docScanClient.DeleteSession("some-session-id"); }
public void DeleteMediaContentSuccessShouldSucceed() { DocScanClient docScanClient = SetupDocScanClientResponse(HttpStatusCode.OK); docScanClient.DeleteMediaContent("some-session-id", "some-media-id"); }