public void ShouldAddThirdPartyAttributeToProfile() { var thirdPartyAttribute = TestTools.Attributes.CreateProtobufAttributeFromRawAnchor(TestData.TestAttributes.ThirdPartyAssignedAttribute); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute <string>(thirdPartyAttribute); YotiAttribute <string> yotiAttribute = yotiProfile.GetAttributeByName <string>("com.thirdparty.id"); Assert.AreEqual("test-third-party-attribute-0", yotiAttribute.GetValue()); Assert.AreEqual("THIRD_PARTY", yotiAttribute.GetSources().First().GetValue()); Assert.AreEqual("orgName", yotiAttribute.GetSources().First().GetSubType()); Assert.AreEqual("THIRD_PARTY", yotiAttribute.GetVerifiers().First().GetValue()); Assert.AreEqual("orgName", yotiAttribute.GetVerifiers().First().GetSubType()); ReadOnlyCollection <YotiAttribute <string> > yotiAttributes = yotiProfile.GetAttributesByName <string>(name: "com.thirdparty.id"); var yotiAttributeFromCollection = yotiAttributes.Single(); Assert.AreEqual("test-third-party-attribute-0", yotiAttributeFromCollection.GetValue()); Assert.AreEqual("THIRD_PARTY", yotiAttributeFromCollection.GetSources().First().GetValue()); Assert.AreEqual("orgName", yotiAttributeFromCollection.GetSources().First().GetSubType()); Assert.AreEqual("THIRD_PARTY", yotiAttributeFromCollection.GetVerifiers().First().GetValue()); Assert.AreEqual("orgName", yotiAttributeFromCollection.GetVerifiers().First().GetSubType()); }
public void GetAttributeShouldReturnNullWhenNoAttributePresent() { var applicationProfile = new ApplicationProfile(); YotiAttribute <string> notPresentAttribute = applicationProfile.GetAttributeByName <string>("notPresent"); Assert.IsNull(notPresentAttribute); }
public void ShouldRetrieveEmailAddressAttribute() { YotiAttribute <string> initialAttribute = CreateStringAttribute(Constants.UserProfile.EmailAddressAttribute); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <string> emailAddressAttribute = yotiProfile.EmailAddress; Assert.AreSame(initialAttribute, emailAddressAttribute); }
public void ShouldRetrievePhoneNumberAttribute() { YotiAttribute <string> initialAttribute = CreateStringAttribute(Constants.UserProfile.PhoneNumberAttribute); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <string> mobileNumberAttribute = yotiProfile.MobileNumber; Assert.AreSame(initialAttribute, mobileNumberAttribute); }
public void ShouldRetrieveFamilyNameAttribute() { YotiAttribute <string> initialAttribute = CreateStringAttribute(Constants.UserProfile.FamilyNameAttribute); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <string> familyNameAttribute = yotiProfile.FamilyName; Assert.AreSame(initialAttribute, familyNameAttribute); }
public void ShouldRetrieveGivenNamesAttribute() { YotiAttribute <string> initialAttribute = CreateStringAttribute(Constants.UserProfile.GivenNamesAttribute); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <string> givenNamesAttribute = yotiProfile.GivenNames; Assert.AreSame(initialAttribute, givenNamesAttribute); }
public void ShouldRetrieveNationalityAttribute() { YotiAttribute <string> initialAttribute = CreateStringAttribute(Constants.UserProfile.NationalityAttribute); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <string> nationalityAttribute = yotiProfile.Nationality; Assert.AreSame(initialAttribute, nationalityAttribute); }
public static YotiProfile CreateUserProfileWithSingleAttribute <T>(YotiAttribute <T> attribute) { var attributes = new Dictionary <string, List <BaseAttribute> > { { attribute.GetName(), new List <BaseAttribute> { attribute } } }; return(new YotiProfile(attributes)); }
public void YotiAttribute_GetValueOrDefault_ReturnsDefaultWhenNull() { var yotiAttribute = new YotiAttribute <string>( name: "given_names", value: null, anchors: new List <Anchor>()); string defaultValue = "default"; Assert.AreEqual(defaultValue, yotiAttribute.GetValueOrDefault(defaultValue)); }
// GET: Account/Connect?token public ActionResult Connect(string token) { if (token == null) { return(RedirectToAction("Index", "Home")); } try { string sdkId = Environment.GetEnvironmentVariable("YOTI_CLIENT_SDK_ID"); _logger.LogInformation(string.Format("sdkId='{0}'", sdkId)); string yotiKeyFilePath = Environment.GetEnvironmentVariable("YOTI_KEY_FILE_PATH"); _logger.LogInformation( string.Format( "yotiKeyFilePath='{0}'", yotiKeyFilePath)); StreamReader privateKeyStream = System.IO.File.OpenText(yotiKeyFilePath); var yotiClient = new YotiClient(sdkId, privateKeyStream); ActivityDetails activityDetails = yotiClient.GetActivityDetails(token); var profile = activityDetails.Profile; ViewBag.RememberMeID = activityDetails.RememberMeId; DisplayAttributes displayAttributes = CreateDisplayAttributes(profile.AttributeCollection); if (profile.FullName != null) { displayAttributes.FullName = profile.FullName.GetValue(); } YotiAttribute <Image> selfie = profile.Selfie; if (profile.Selfie != null) { displayAttributes.Base64Selfie = selfie.GetValue().GetBase64URI(); } return(View(displayAttributes)); } catch (Exception e) { _logger.LogError( exception: e, message: e.Message); TempData["Error"] = e.Message; TempData["InnerException"] = e.InnerException?.Message; return(RedirectToAction("Error")); } }
public void PngBase64UriShouldRetrieveCorrectValue() { byte[] pngBytes = Conversion.UtfToBytes("PngData"); var yotiAttribute = new YotiAttribute <Image>( name: "selfie", value: new PngImage(pngBytes), anchors: null); string expectedString = string.Format("data:image/png;base64,{0}", Conversion.BytesToBase64(pngBytes)); Assert.AreEqual(expectedString, yotiAttribute.GetValue().GetBase64URI()); }
public void ShouldRetrieveSelfieAttribute() { var initialAttribute = new YotiAttribute <Image>( name: Constants.UserProfile.SelfieAttribute, value: new JpegImage(Encoding.UTF8.GetBytes(_value)), anchors: null); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <Image> selfieAttribute = yotiProfile.Selfie; Assert.AreSame(initialAttribute, selfieAttribute); }
public void ReceiptBgColorShouldBeRetrieved() { var initialAttribute = new YotiAttribute <string>( name: Constants.ApplicationProfile.ApplicationReceiptBgColorAttribute, value: _value, anchors: null); ApplicationProfile applicationProfile = TestTools.Profile.CreateApplicationProfileWithSingleAttribute(initialAttribute); YotiAttribute <string> applicationReceiptBgColorAttribute = applicationProfile.ReceiptBackgroundColor; Assert.AreSame(initialAttribute, applicationReceiptBgColorAttribute); }
public void LogoShouldBeRetrieved() { var initialAttribute = new YotiAttribute <Image>( name: Constants.ApplicationProfile.ApplicationLogoAttribute, value: new JpegImage(Encoding.UTF8.GetBytes(_value)), anchors: null); ApplicationProfile applicationProfile = TestTools.Profile.CreateApplicationProfileWithSingleAttribute(initialAttribute); YotiAttribute <Image> applicationLogoAttribute = applicationProfile.Logo; Assert.AreSame(initialAttribute, applicationLogoAttribute); }
public void URLShouldBeRetrieved() { var initialAttribute = new YotiAttribute <string>( name: Constants.ApplicationProfile.ApplicationURLAttribute, value: _value, anchors: null); ApplicationProfile applicationProfile = TestTools.Profile.CreateApplicationProfileWithSingleAttribute(initialAttribute); YotiAttribute <string> applicationURLAttribute = applicationProfile.URL; Assert.AreSame(initialAttribute, applicationURLAttribute); }
public void ShouldRetrieveDateOfBirthAttribute() { var initialAttribute = new YotiAttribute <DateTime>( name: Constants.UserProfile.DateOfBirthAttribute, value: new DateTime(2000, 01, 13), anchors: null); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <DateTime> dateOfBirthAttribute = yotiProfile.DateOfBirth; Assert.AreSame(initialAttribute, dateOfBirthAttribute); }
public void YotiAttribute_GetValueOrDefault_ReturnsValueWhenNotNull() { string expectedValue = "expected"; var expectedAttributeValue = new YotiAttributeValue(TypeEnum.Text, Conversion.UtfToBytes(expectedValue)); var yotiAttribute = new YotiAttribute <string>( name: "given_names", value: expectedAttributeValue, anchors: new List <Anchor>()); string defaultValue = "default"; Assert.AreEqual(expectedValue, yotiAttribute.GetValueOrDefault(defaultValue)); }
public void GetValueShouldRetrieveImage() { byte[] imageBytes = Conversion.UtfToBytes("ImageValue"); var yotiAttribute = new YotiAttribute <Image>("selfie", new JpegImage(imageBytes), null); var expectedImage = new JpegImage(imageBytes); string expectedBase64URI = string.Format("data:image/jpeg;base64,{0}", Conversion.BytesToBase64(imageBytes)); Image actualImage = yotiAttribute.GetValue(); Assert.IsTrue(new ImageComparer().Equals(expectedImage, actualImage)); Assert.AreEqual(expectedBase64URI, actualImage.GetBase64URI()); }
public void WrongAttributeTypeForGetAttributesShouldThrowException() { var initialAttribute = new YotiAttribute <string>( name: Constants.ApplicationProfile.ApplicationNameAttribute, value: _value, anchors: null); ApplicationProfile applicationProfile = TestTools.Profile.CreateApplicationProfileWithSingleAttribute(initialAttribute); Assert.ThrowsException <InvalidCastException>(() => { applicationProfile.GetAttributesByName <Image>(Constants.ApplicationProfile.ApplicationNameAttribute); }); }
public void InvalidAttributeNamesShouldThrowException(string attributeName) { var attribute = new YotiAttribute <string>( name: attributeName, value: "true", anchors: null); var exception = Assert.ThrowsException <InvalidOperationException>(() => { new AgeVerification(attribute); }); Assert.IsTrue(exception.Message.Contains("does not match expected format:")); }
public void StringShouldBeRetrieved() { var initialAttribute = new YotiAttribute <string>( name: Constants.ApplicationProfile.ApplicationNameAttribute, value: _value, anchors: null); ApplicationProfile applicationProfile = TestTools.Profile.CreateApplicationProfileWithSingleAttribute(initialAttribute); YotiAttribute <string> applicationNameAttribute = applicationProfile.GetAttributeByName <string>(Constants.ApplicationProfile.ApplicationNameAttribute); YotiAttribute <string> applicationNameAttributeFromCollection = applicationProfile.GetAttributesByName <string>(Constants.ApplicationProfile.ApplicationNameAttribute).Single(); Assert.AreSame(initialAttribute, applicationNameAttribute); Assert.AreSame(initialAttribute, applicationNameAttributeFromCollection); }
public void ImageShouldBeRetrieved() { var initialAttribute = new YotiAttribute <Image>( name: Constants.ApplicationProfile.ApplicationLogoAttribute, value: new JpegImage(Encoding.UTF8.GetBytes(_value)), anchors: null); ApplicationProfile applicationProfile = TestTools.Profile.CreateApplicationProfileWithSingleAttribute(initialAttribute); YotiAttribute <Image> logoAttribute = applicationProfile.GetAttributeByName <Image>(Constants.ApplicationProfile.ApplicationLogoAttribute); YotiAttribute <Image> logoAttributeFromCollection = applicationProfile.GetAttributesByName <Image>(Constants.ApplicationProfile.ApplicationLogoAttribute).Single(); Assert.AreSame(initialAttribute, logoAttribute); Assert.AreSame(initialAttribute, logoAttributeFromCollection); }
public void GetAttributeByNameShouldRetrieveDatetime() { DateTime value = new DateTime(1990, 1, 13); var initialAttribute = new YotiAttribute <DateTime>( name: Constants.UserProfile.DateOfBirthAttribute, value: value, anchors: null); YotiProfile userProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <DateTime> dobAttribute = userProfile.GetAttributeByName <DateTime>(Constants.UserProfile.DateOfBirthAttribute); Assert.AreSame(initialAttribute, dobAttribute); Assert.AreEqual(value, dobAttribute.GetValue()); }
public void GetAttributeByNameShouldRetrieveString() { var initialAttribute = new YotiAttribute <string>( name: Constants.UserProfile.NationalityAttribute, value: "Nation", anchors: null); YotiProfile userProfile = new YotiProfile(); userProfile.Add(initialAttribute); YotiAttribute <string> nationalityAttribute = userProfile.GetAttributeByName <string>(Constants.UserProfile.NationalityAttribute); Assert.AreSame(initialAttribute, nationalityAttribute); }
public void ShouldRetrieveStructuredPostalAddressAttribute() { var jsonValue = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, JToken> >( "{ \"properties\": { \"name\": { \"type\": \"string\" } } }"); var initialAttribute = new YotiAttribute <Dictionary <string, JToken> >( name: Constants.UserProfile.StructuredPostalAddressAttribute, value: jsonValue, anchors: null); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <Dictionary <string, JToken> > structuredPostalAddressAttribute = yotiProfile.StructuredPostalAddress; Assert.AreSame(initialAttribute, structuredPostalAddressAttribute); }
public void ShouldRetrieveIntAttribute() { string intAttributeName = "intAttributeName"; int intValue = 92387; var initialAttribute = new YotiAttribute <int>( intAttributeName, intValue, anchors: null); YotiProfile yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute(initialAttribute); YotiAttribute <int> intAttribute = yotiProfile.GetAttributeByName <int>(intAttributeName); YotiAttribute <int> intAttributeFromCollection = yotiProfile.GetAttributesByName <int>(intAttributeName).Single(); Assert.AreEqual(intValue, intAttribute.GetValue()); Assert.AreEqual(intValue, intAttributeFromCollection.GetValue()); }
public void GetAttributeByNameShouldRetrieveImage() { Image imageValue = new PngImage(Encoding.UTF8.GetBytes("Value")); var initialAttribute = new YotiAttribute <Image>( name: Constants.UserProfile.SelfieAttribute, value: imageValue, anchors: null); YotiProfile userProfile = new YotiProfile(); userProfile.Add(initialAttribute); YotiAttribute <Image> imageAttribute = userProfile.GetAttributeByName <Image>(Constants.UserProfile.SelfieAttribute); Assert.AreEqual(imageValue, imageAttribute.GetValue()); }
public void GetAttributeByNameShouldRetrieveBool() { bool boolValue = true; string attributeName = "Bool"; var initialAttribute = new YotiAttribute <bool>( name: attributeName, value: boolValue, anchors: null); YotiProfile userProfile = new YotiProfile(); userProfile.Add(initialAttribute); YotiAttribute <bool> boolAttribute = userProfile.GetAttributeByName <bool>(attributeName); Assert.AreEqual(boolValue, boolAttribute.GetValue()); }
internal void Add <T>(YotiAttribute <T> newValue) { TryAddAttribute(newValue); string attributeName = newValue.GetName(); if (_attributes.ContainsKey(attributeName)) { List <BaseAttribute> attributeList = _attributes[attributeName]; attributeList.Add(newValue); _attributes[attributeName] = attributeList; } else { _attributes.Add(attributeName, new List <BaseAttribute> { newValue }); } }
public void ShouldRetrieveAttributesThroughAttributeList() { string mobileNumberValue = "0127456689"; var initialAttribute = new YotiAttribute <string>( name: Constants.UserProfile.PhoneNumberAttribute, value: mobileNumberValue, anchors: null); YotiProfile userProfile = new YotiProfile(); userProfile.Add(initialAttribute); #pragma warning disable CS0618 // Type or member is obsolete var attribute1 = (YotiAttribute <string>)userProfile.Attributes.Values.First(); #pragma warning restore CS0618 // Type or member is obsolete Assert.AreEqual(mobileNumberValue, attribute1.GetValue()); var attributeListItem1 = (YotiAttribute <string>)userProfile.AttributeCollection.First(); Assert.AreEqual(mobileNumberValue, attributeListItem1.GetValue()); }