public void YotiClientEngine_PerformAmlCheckAsync_Other() { var keyPair = GetKeyPair(); string sdkId = "fake-sdk-id"; FakeHttpRequester httpRequester = new FakeHttpRequester((httpClient, httpMethod, uri, headers, byteContent) => { return(Task.FromResult(new Response { Success = false, StatusCode = (int)HttpStatusCode.Forbidden, Content = "{Content}" })); }); YotiClientEngine engine = new YotiClientEngine(httpRequester); AmlProfile amlProfile = TestTools.Aml.CreateStandardAmlProfile(); AggregateException aggregateException = Assert.ThrowsException <AggregateException>(() => { AmlResult amlResult = engine.PerformAmlCheck(sdkId, keyPair, YotiConstants.DefaultYotiApiUrl, amlProfile); }); Assert.IsTrue(Exceptions.IsExceptionInAggregateException <AmlException>(aggregateException)); }
public async Task YotiClientEngine_PerformAmlCheckAsync() { var keyPair = GetKeyPair(); string sdkId = "fake-sdk-id"; FakeHttpRequester httpRequester = new FakeHttpRequester((httpClient, httpMethod, uri, headers, byteContent) => { return(Task.FromResult(new Response { Success = true, StatusCode = 200, Content = "{\"on_fraud_list\":true,\"on_pep_list\":false,\"on_watch_list\":false}" })); }); YotiClientEngine engine = new YotiClientEngine(httpRequester); AmlProfile amlProfile = TestTools.Aml.CreateStandardAmlProfile(); AmlResult amlResult = await engine.PerformAmlCheckAsync(sdkId, keyPair, YotiConstants.DefaultYotiApiUrl, amlProfile); Assert.IsNotNull(amlResult); Assert.IsTrue(amlResult.IsOnFraudList()); Assert.IsFalse(amlResult.IsOnPepList()); Assert.IsFalse(amlResult.IsOnWatchList()); }
public void YotiClientEngine_ParseProfile_Success() { var keyPair = GetKeyPair(); string sdkId = "fake-sdk-id"; string wrapped_receipt_key = "kyHPjq2+Y48cx+9yS/XzmW09jVUylSdhbP+3Q9Tc9p6bCEnyfa8vj38AIu744RzzE+Dc4qkSF21VfzQKtJVILfOXu5xRc7MYa5k3zWhjiesg/gsrv7J4wDyyBpHIJB8TWXnubYMbSYQJjlsfwyxE9kGe0YI08pRo2Tiht0bfR5Z/YrhAk4UBvjp84D+oyug/1mtGhKphA4vgPhQ9/y2wcInYxju7Q6yzOsXGaRUXR38Tn2YmY9OBgjxiTnhoYJFP1X9YJkHeWMW0vxF1RHxgIVrpf7oRzdY1nq28qzRg5+wC7cjRpS2i/CKUAo0oVG4pbpXsaFhaTewStVC7UFtA77JHb3EnF4HcSWMnK5FM7GGkL9MMXQenh11NZHKPWXpux0nLZ6/vwffXZfsiyTIcFL/NajGN8C/hnNBljoQ+B3fzWbjcq5ueUOPwARZ1y38W83UwMynzkud/iEdHLaZIu4qUCRkfSxJg7Dc+O9/BdiffkOn2GyFmNjVeq754DCUypxzMkjYxokedN84nK13OU4afVyC7t5DDxAK/MqAc69NCBRLqMi5f8BMeOZfMcSWPGC9a2Qu8VgG125TuZT4+wIykUhGyj3Bb2/fdPsxwuKFR+E0uqs0ZKvcv1tkNRRtKYBqTacgGK9Yoehg12cyLrITLdjU1fmIDn4/vrhztN5w="; string other_party_profile_content = "ChCZAib1TBm9Q5GYfFrS1ep9EnAwQB5shpAPWLBgZgFgt6bCG3S5qmZHhrqUbQr3yL6yeLIDwbM7x4nuT/MYp+LDXgmFTLQNYbDTzrEzqNuO2ZPn9Kpg+xpbm9XtP7ZLw3Ep2BCmSqtnll/OdxAqLb4DTN4/wWdrjnFC+L/oQEECu646"; string remember_me_id = "remember_me_id0123456789"; FakeHttpRequester httpRequester = new FakeHttpRequester((httpClient, httpMethod, uri, headers, byteContent) => { return(Task.FromResult(new Response { Success = true, StatusCode = 200, Content = "{\"receipt\":{\"wrapped_receipt_key\": \"" + wrapped_receipt_key + "\",\"other_party_profile_content\": \"" + other_party_profile_content + "\",\"remember_me_id\":\"" + remember_me_id + "\", \"sharing_outcome\":\"SUCCESS\"}}" })); }); YotiClientEngine engine = new YotiClientEngine(httpRequester); var activityDetails = engine.GetActivityDetails(_encryptedToken, sdkId, keyPair, YotiConstants.DefaultYotiApiUrl); Assert.IsNotNull(activityDetails); Assert.AreEqual(ActivityOutcome.Success, activityDetails.Outcome); Assert.IsNotNull(activityDetails.UserProfile); Assert.IsNotNull(activityDetails.Profile); Assert.AreEqual(remember_me_id, activityDetails.UserProfile.Id); Assert.AreEqual(remember_me_id, activityDetails.Profile.Id); Assert.IsNotNull(activityDetails.UserProfile.Selfie); Assert.AreEqual(Convert.ToBase64String(Encoding.UTF8.GetBytes("selfie0123456789")), Convert.ToBase64String(activityDetails.UserProfile.Selfie.Data)); Assert.IsNotNull(activityDetails.Profile.Selfie); Assert.AreEqual(Convert.ToBase64String(Encoding.UTF8.GetBytes("selfie0123456789")), Convert.ToBase64String(activityDetails.Profile.Selfie.GetImage().Data)); Assert.AreEqual("phone_number0123456789", activityDetails.UserProfile.MobileNumber); Assert.AreEqual("phone_number0123456789", activityDetails.Profile.MobileNumber.GetValue()); Assert.AreEqual(new DateTime(1980, 1, 1), activityDetails.UserProfile.DateOfBirth); Assert.AreEqual(new DateTime(1980, 1, 1), (DateTime)activityDetails.Profile.DateOfBirth.GetValue()); }
public void YotiClientEngine_TokenDecodedSuccessfully() { var keyPair = GetKeyPair(); string sdkId = "fake-sdk-id"; FakeHttpRequester httpRequester = new FakeHttpRequester((uri, headers) => { Assert.AreEqual("/api/v1/profile/" + token, uri.AbsolutePath); return(Task.FromResult(new Response { Success = false, StatusCode = 500 })); }); YotiClientEngine engine = new YotiClientEngine(httpRequester); engine.GetActivityDetails(encryptedToken, sdkId, keyPair); }
public void YotiClientEngine_Http404_ReturnsProfileNotFound() { var keyPair = GetKeyPair(); string sdkId = "fake-sdk-id"; FakeHttpRequester httpRequester = new FakeHttpRequester((uri, headers) => { return(Task.FromResult(new Response { Success = false, StatusCode = 404 })); }); YotiClientEngine engine = new YotiClientEngine(httpRequester); var activityDetails = engine.GetActivityDetails(encryptedToken, sdkId, keyPair); Assert.IsNotNull(activityDetails); Assert.AreEqual(ActivityOutcome.ProfileNotFound, activityDetails.Outcome); }
public void YotiClientEngine_HttpFailure_ReturnsFailure() { var keyPair = GetKeyPair(); string sdkId = "fake-sdk-id"; FakeHttpRequester httpRequester = new FakeHttpRequester((httpClient, httpMethod, uri, headers, byteContent) => { return(Task.FromResult(new Response { Success = false, StatusCode = 500 })); }); YotiClientEngine engine = new YotiClientEngine(httpRequester); var activityDetails = engine.GetActivityDetails(_encryptedToken, sdkId, keyPair, YotiConstants.DefaultYotiApiUrl); Assert.IsNotNull(activityDetails); Assert.AreEqual(ActivityOutcome.Failure, activityDetails.Outcome); }
public void YotiClientEngine_SharingFailure_ReturnsFailure() { var keyPair = GetKeyPair(); string sdkId = "fake-sdk-id"; FakeHttpRequester httpRequester = new FakeHttpRequester((uri, headers) => { return(Task.FromResult(new Response { Success = true, StatusCode = 200, Content = "{\"session_data\":null,\"receipt\":{\"receipt_id\": null,\"other_party_profile_content\": null,\"policy_uri\":null,\"personal_key\":null,\"remember_me_id\":null, \"sharing_outcome\":\"FAILURE\",\"timestamp\":\"2016-09-23T13:04:11Z\"}}" })); }); YotiClientEngine engine = new YotiClientEngine(httpRequester); var activityDetails = engine.GetActivityDetails(encryptedToken, sdkId, keyPair); Assert.IsNotNull(activityDetails); Assert.AreEqual(ActivityOutcome.Failure, activityDetails.Outcome); }
public void YotiClientEngine_TokenDecodedSuccessfully() { var keyPair = GetKeyPair(); string sdkId = "fake-sdk-id"; FakeHttpRequester httpRequester = new FakeHttpRequester((httpClient, httpMethod, uri, headers, byteContent) => { Assert.AreEqual("/api/v1/profile/" + _token, uri.AbsolutePath); return(Task.FromResult(new Response { Success = false, StatusCode = 500 })); }); YotiClientEngine engine = new YotiClientEngine(httpRequester); ActivityDetails activityDetails = engine.GetActivityDetails(_encryptedToken, sdkId, keyPair, YotiConstants.DefaultYotiApiUrl); Assert.IsNotNull(activityDetails.Outcome); }