示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }