public void Constructor(MediaTypeHeaderValue mediaRange, MediaTypeHeaderValue mediaType)
        {
            MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);

            Assert.MediaType.AreEqual(mediaRange, mapping.MediaRange, "MediaRange failed to set.");
            Assert.MediaType.AreEqual(mediaType, mapping.MediaType, "MediaType failed to set.");
        }
        public void TryMatchMediaTypeReturnsFalseWithMediaRangeNotInAcceptHeader(string mediaRange, string mediaType)
        {
            MediaRangeMapping  mapping = new MediaRangeMapping(mediaRange, mediaType);
            HttpRequestMessage request = new HttpRequestMessage();

            Assert.Equal(0.0, mapping.TryMatchMediaType(request));
        }
        public void Constructor1(string mediaRange, string mediaType)
        {
            MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);

            Assert.MediaType.AreEqual(mediaRange, mapping.MediaRange, "MediaRange failed to set.");
            Assert.MediaType.AreEqual(mediaType, mapping.MediaType, "MediaType failed to set.");
        }
Example #4
0
        public void SelectResponseMediaTypeMatchesWithMediaTypeMapping(MediaTypeWithQualityHeaderValue mediaRangeWithQuality)
        {
            MockMediaTypeFormatter formatter = new MockMediaTypeFormatter()
            {
                CallBase = true
            };
            MediaTypeHeaderValue mediaRangeWithoutQuality = new MediaTypeHeaderValue(mediaRangeWithQuality.MediaType);
            MediaTypeHeaderValue mediaType = new MediaTypeHeaderValue("application/xml");
            MediaRangeMapping    mapping   = new MediaRangeMapping(mediaRangeWithoutQuality, mediaType);

            formatter.MediaTypeMappings.Add(mapping);

            HttpRequestMessage request = new HttpRequestMessage();

            request.Headers.Accept.Add(mediaRangeWithQuality);
            ResponseMediaTypeMatch match = formatter.SelectResponseMediaType(typeof(string), request);

            Assert.NotNull(match);
            Assert.Equal(ResponseFormatterSelectionResult.MatchOnRequestWithMediaTypeMapping, match.ResponseFormatterSelectionResult);
            double quality = mediaRangeWithQuality.Quality.Value;

            Assert.Equal(quality, match.MediaTypeMatch.Quality);
            Assert.NotNull(match.MediaTypeMatch.MediaType);
            Assert.Equal(mediaType.MediaType, match.MediaTypeMatch.MediaType.MediaType);
        }
        public void TryMatchMediaTypeReturnsOneWithMediaRangeInAcceptHeader(string mediaRange, string mediaType)
        {
            MediaRangeMapping  mapping = new MediaRangeMapping(mediaRange, mediaType);
            HttpRequestMessage request = new HttpRequestMessage();

            request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(mediaRange));
            Assert.Equal(1.0, mapping.TryMatchMediaType(request));
        }
        /// <summary>
        /// Updates the given <paramref name="formatter"/>'s set of <see cref="MediaTypeMapping"/> elements
        /// so that it associates the <paramref name="mediaType"/> with requests or responses containing
        /// <paramref name="mediaRange"/> in the content headers.
        /// </summary>
        /// <param name="formatter">The <see cref="MediaTypeFormatter"/> to receive the new <see cref="MediaRangeMapping"/> item.</param>
        /// <param name="mediaRange">The media range that will appear in the content headers.</param>
        /// <param name="mediaType">The media type to associate with that <paramref name="mediaRange"/>.</param>
        public static void AddMediaRangeMapping(this MediaTypeFormatter formatter, string mediaRange, string mediaType)
        {
            if (formatter == null)
            {
                throw new ArgumentNullException("formatter");
            }

            MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);
            formatter.MediaTypeMappings.Add(mapping);
        }
        public void TryMatchMediaTypeReturnsQualityWithMediaRangeWithQualityInAcceptHeader(MediaTypeWithQualityHeaderValue mediaRangeWithQuality, MediaTypeHeaderValue mediaType)
        {
            MediaTypeWithQualityHeaderValue mediaRangeWithNoQuality = new MediaTypeWithQualityHeaderValue(mediaRangeWithQuality.MediaType);
            MediaRangeMapping  mapping = new MediaRangeMapping(mediaRangeWithNoQuality, mediaType);
            HttpRequestMessage request = new HttpRequestMessage();

            request.Headers.Accept.Add(mediaRangeWithQuality);
            double quality = mediaRangeWithQuality.Quality.Value;

            Assert.Equal(quality, mapping.TryMatchMediaType(request));
        }
        /// <summary>
        /// Updates the given <paramref name="formatter"/>'s set of <see cref="MediaTypeMapping"/> elements
        /// so that it associates the <paramref name="mediaType"/> with requests or responses containing
        /// <paramref name="mediaRange"/> in the content headers.
        /// </summary>
        /// <param name="formatter">The <see cref="MediaTypeFormatter"/> to receive the new <see cref="MediaRangeMapping"/> item.</param>
        /// <param name="mediaRange">The media range that will appear in the content headers.</param>
        /// <param name="mediaType">The media type to associate with that <paramref name="mediaRange"/>.</param>
        public static void AddMediaRangeMapping(this MediaTypeFormatter formatter, string mediaRange, string mediaType)
        {
            if (formatter == null)
            {
                throw new ArgumentNullException("formatter");
            }

            MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);

            formatter.MediaTypeMappings.Add(mapping);
        }
Example #9
0
        public void TryMatchMediaTypeMappingClonesMediaType(MediaTypeWithQualityHeaderValue mediaRangeWithQuality)
        {
            MockMediaTypeFormatter formatter = new MockMediaTypeFormatter();
            MediaTypeHeaderValue   mediaRangeWithoutQuality = new MediaTypeHeaderValue(mediaRangeWithQuality.MediaType);
            MediaTypeHeaderValue   mediaType = new MediaTypeHeaderValue("application/xml");
            MediaRangeMapping      mapping   = new MediaRangeMapping(mediaRangeWithoutQuality, mediaType);

            formatter.MediaTypeMappings.Add(mapping);

            HttpRequestMessage request = new HttpRequestMessage();

            request.Headers.Accept.Add(mediaRangeWithQuality);
            MediaTypeMatch match;

            formatter.TryMatchMediaTypeMapping(request, out match);
            Assert.NotNull(match);
            Assert.NotNull(match.MediaType);
            Assert.NotSame(mediaType, match.MediaType);
        }
Example #10
0
        public void TryMatchMediaTypeMappingWithQuality(MediaTypeWithQualityHeaderValue mediaRangeWithQuality)
        {
            MockMediaTypeFormatter formatter = new MockMediaTypeFormatter();
            MediaTypeHeaderValue   mediaRangeWithoutQuality = new MediaTypeHeaderValue(mediaRangeWithQuality.MediaType);
            MediaTypeHeaderValue   mediaType = new MediaTypeHeaderValue("application/xml");
            MediaRangeMapping      mapping   = new MediaRangeMapping(mediaRangeWithoutQuality, mediaType);

            formatter.MediaTypeMappings.Add(mapping);

            HttpRequestMessage request = new HttpRequestMessage();

            request.Headers.Accept.Add(mediaRangeWithQuality);
            MediaTypeMatch match;
            bool           result = formatter.TryMatchMediaTypeMapping(request, out match);

            Assert.True(result, String.Format("TryMatchMediaTypeMapping should have succeeded for '{0}'.", mediaRangeWithQuality));
            Assert.NotNull(match);
            double quality = mediaRangeWithQuality.Quality.Value;

            Assert.Equal(quality, match.Quality);
            Assert.NotNull(match.MediaType);
            Assert.Equal(mediaType.MediaType, match.MediaType.MediaType);
        }
 public void TryMatchMediaTypeReturnsOneWithMediaRangeInAcceptHeader(string mediaRange, string mediaType)
 {
     MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);
     HttpRequestMessage request = new HttpRequestMessage();
     request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(mediaRange));
     Assert.Equal(1.0, mapping.TryMatchMediaType(request));
 }
 public void TryMatchMediaTypeReturnsQualityWithMediaRangeWithQualityInAcceptHeader(MediaTypeWithQualityHeaderValue mediaRangeWithQuality, MediaTypeHeaderValue mediaType)
 {
     MediaTypeWithQualityHeaderValue mediaRangeWithNoQuality = new MediaTypeWithQualityHeaderValue(mediaRangeWithQuality.MediaType);
     MediaRangeMapping mapping = new MediaRangeMapping(mediaRangeWithNoQuality, mediaType);
     HttpRequestMessage request = new HttpRequestMessage();
     request.Headers.Accept.Add(mediaRangeWithQuality);
     double quality = mediaRangeWithQuality.Quality.Value;
     Assert.Equal(quality, mapping.TryMatchMediaType(request));
 }
 public void TryMatchMediaTypeReturnsFalseWithMediaRangeNotInAcceptHeader(string mediaRange, string mediaType)
 {
     MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);
     HttpRequestMessage request = new HttpRequestMessage();
     Assert.Equal(0.0, mapping.TryMatchMediaType(request));
 }
 public void TryMatchMediaTypeThrowsWithNullHttpRequestMessage(string mediaRange, string mediaType)
 {
     MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);
     Assert.ThrowsArgumentNull(() => mapping.TryMatchMediaType(request: null), "request");
 }
        public void TryMatchMediaTypeThrowsWithNullHttpRequestMessage(string mediaRange, string mediaType)
        {
            MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);

            Assert.ThrowsArgumentNull(() => mapping.TryMatchMediaType(request: null), "request");
        }
 public void Constructor1(string mediaRange, string mediaType)
 {
     MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);
     Assert.MediaType.AreEqual(mediaRange, mapping.MediaRange, "MediaRange failed to set.");
     Assert.MediaType.AreEqual(mediaType, mapping.MediaType, "MediaType failed to set.");
 }
 public void Constructor(MediaTypeHeaderValue mediaRange, MediaTypeHeaderValue mediaType)
 {
     MediaRangeMapping mapping = new MediaRangeMapping(mediaRange, mediaType);
     Assert.MediaType.AreEqual(mediaRange, mapping.MediaRange, "MediaRange failed to set.");
     Assert.MediaType.AreEqual(mediaType, mapping.MediaType, "MediaType failed to set.");
 }