public void ShouldParseNonDocumentImageMultiValue() { string stringValue = "stringValue"; string multiValueAttributeName = "multiValueAttributeName"; var multiValue1 = new MultiValue.Types.Value { ContentType = ContentType.String, Data = ByteString.CopyFromUtf8(stringValue) }; var multiValue = new MultiValue(); multiValue.Values.Add(multiValue1); AttributeList attributeList = CreateAttributeListWithSingleAttribute( multiValueAttributeName, ContentType.MultiValue, multiValue.ToByteString()); var convertedAttributes = AttributeConverter.ConvertToBaseAttributes(attributeList); var attribute = (YotiAttribute <List <MultiValueItem> >)convertedAttributes.First().Value.First(); var attributeValue = attribute.GetValue().First(); Assert.AreEqual(ContentType.String, attributeValue.ContentType); Assert.AreEqual(stringValue, attributeValue.Value); }
public void ShouldParseMixedDocumentImageTypes() { var multiValue1 = new MultiValue.Types.Value { ContentType = ContentType.Png, Data = ByteString.FromBase64("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAACklEQVQImWNgAAAAAgAB9HFkpgAAAABJRU5ErkJggg==") }; var multiValue2 = new MultiValue.Types.Value { ContentType = ContentType.Jpeg, Data = ByteString.FromBase64("/9j/4AAQSkZJRgABAQEAYABgAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAAQABAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A+f6KKKAP/9k=") }; var multiValue = new MultiValue(); multiValue.Values.Add(multiValue1); multiValue.Values.Add(multiValue2); AttributeList attributeList = CreateAttributeListWithSingleAttribute( Constants.UserProfile.DocumentImagesAttribute, ContentType.MultiValue, multiValue.ToByteString()); var convertedAttributes = AttributeConverter.ConvertToBaseAttributes(attributeList); var attribute = (YotiAttribute <List <Image> >)convertedAttributes.First().Value.First(); var attributeValues = attribute.GetValue(); Assert.IsInstanceOfType(attributeValues[0], typeof(PngImage)); Assert.IsInstanceOfType(attributeValues[1], typeof(JpegImage)); }
public static ProtoBuf.Attribute.Attribute CreateMultiValueAttribute(string multiValueAttributeName, ContentType innerContentType, ByteString value) { var outerValue = new MultiValue.Types.Value { ContentType = innerContentType, Data = value }; var multiValue = new MultiValue(); multiValue.Values.Add(outerValue); var attribute = new ProtoBuf.Attribute.Attribute { Name = multiValueAttributeName, ContentType = ContentType.MultiValue, Value = multiValue.ToByteString() }; return(attribute); }
public void ShouldFilterNonImageTypeInDocumentImages() { var multiValue1 = new MultiValue.Types.Value { ContentType = ContentType.String, Data = ByteString.CopyFromUtf8("stringValue") }; var multiValue = new MultiValue(); multiValue.Values.Add(multiValue1); AttributeList attributeList = CreateAttributeListWithSingleAttribute( Constants.UserProfile.DocumentImagesAttribute, ContentType.MultiValue, multiValue.ToByteString()); var convertedAttributes = AttributeConverter.ConvertToBaseAttributes(attributeList); Assert.AreEqual(0, convertedAttributes.Count); }
public void NestedMultiValueShouldBeAddedToProfile() { var attributeName = "multiValueName"; var nestedValue = new MultiValue.Types.Value { ContentType = ContentType.String, Data = _byteStringValue }; var multiValue = new MultiValue(); multiValue.Values.Add(nestedValue); ProtoBuf.Attribute.Attribute attribute = TestTools.Attributes.CreateMultiValueAttribute(attributeName, ContentType.MultiValue, multiValue.ToByteString()); _yotiProfile = TestTools.Profile.CreateUserProfileWithSingleAttribute <List <MultiValueItem> >(attribute); List <MultiValueItem> retrievedMultiValue = _yotiProfile.GetAttributeByName <List <MultiValueItem> >(attributeName).GetValue(); MultiValueItem outerMultiValue = retrievedMultiValue.First(); List <MultiValueItem> innerMultiValueList = (List <MultiValueItem>)outerMultiValue.Value; var innerMultiValue = innerMultiValueList.First(); Assert.AreEqual(ContentType.String, innerMultiValue.ContentType); Assert.AreEqual(StringValue, innerMultiValue.Value); List <MultiValueItem> retrievedMultiValueFromCollection = _yotiProfile.GetAttributesByName <List <MultiValueItem> >(attributeName).Single().GetValue(); MultiValueItem outerMultiValueFromCollection = retrievedMultiValueFromCollection.First(); List <MultiValueItem> innerMultiValueListFromCollection = (List <MultiValueItem>)outerMultiValueFromCollection.Value; var innerMultiValueFromCollection = innerMultiValueListFromCollection.First(); Assert.AreEqual(ContentType.String, innerMultiValueFromCollection.ContentType); Assert.AreEqual(StringValue, innerMultiValueFromCollection.Value); }