コード例 #1
0
        public void UnrecognizedParameterForAcceptShouldFail()
        {
            Action acceptUnrecognizedParameter = () => TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;odata.metadata=minimal;foo=bar", ODataVersion.V4);

            acceptUnrecognizedParameter
            .Throws <ODataException>(ErrorStrings.MediaTypeUtils_DidNotFindMatchingMediaType("*", "application/json;odata.metadata=minimal;foo=bar"));
        }
コード例 #2
0
        public void UnspecifiedAcceptShouldResolveToDefault_401()
        {
            var mediaTypeWithFormat = TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json", ODataVersion.V401);

            mediaTypeWithFormat.BeJsonLight().HaveDefaultMetadata();
            Assert.True(TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "metadata"));
        }
コード例 #3
0
 public static TestMediaTypeWithFormat BeJsonLight(this TestMediaTypeWithFormat mediaType)
 {
     mediaType.HaveFullTypeName("application/json");
     mediaType.NotHaveParameterValue("odata.metadata", "verbose");
     mediaType.HaveExactFormat(ODataFormat.Json);
     return(mediaType);
 }
コード例 #4
0
        public void UnrecognizedMetadataParameterValueForAcceptShouldFail()
        {
            Action acceptUnrecognizedStreamingValue = () => TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;odata.metadata=foometadata;", ODataVersion.V4);

            acceptUnrecognizedStreamingValue
            .Throws <ODataException>(ErrorStrings.MediaTypeUtils_DidNotFindMatchingMediaType("*", "application/json;odata.metadata=foometadata;"));
        }
コード例 #5
0
 public void Ieee754CompatibleShouldBeCaseInsensitive()
 {
     TestMediaTypeWithFormat.GetResponseTypeFromAccept("appLICatIOn/jSOn;ieee754Compatible=TRUE", ODataVersion.V4).BeJsonLight().BeIeee754Compatible();
     TestMediaTypeWithFormat.GetResponseTypeFromAccept("appLICatIOn/jSOn;ieee754Compatible=False", ODataVersion.V4).BeJsonLight().NotBeIeee754Compatible();
     TestMediaTypeWithFormat.ParseContentType("appLICatIOn/jSOn;ieee754Compatible=TRUE", ODataVersion.V4).BeJsonLight().BeIeee754Compatible();
     TestMediaTypeWithFormat.ParseContentType("appLICatIOn/jSOn;ieee754Compatible=False", ODataVersion.V4).BeJsonLight().NotBeIeee754Compatible();
 }
コード例 #6
0
        public void UnrecognizedIeee754CompatibleParameterValueForAcceptShouldFail()
        {
            Action acceptUnrecognizedIeee754CompatibleValue = () => TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;odata.metadata=minimal;IEEE754Compatible=none", ODataVersion.V4);

            acceptUnrecognizedIeee754CompatibleValue
            .Throws <ODataException>(ErrorStrings.MediaTypeUtils_DidNotFindMatchingMediaType("*", "application/json;odata.metadata=minimal;IEEE754Compatible=none"));
        }
コード例 #7
0
        public void MetadataAllAcceptShouldSucceed_Without_Prefix()
        {
            var mediaTypeWithFormat = TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;metadata=full", ODataVersion.V4);

            mediaTypeWithFormat.BeJsonLight().HaveFullMetadata();
            Assert.True(TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "metadata"));
            Assert.False(TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "odata.metadata"));
        }
コード例 #8
0
        public void UnrecognizedStreamingParameterValueForAcceptShouldFail()
        {
            Action acceptUnrecognizedStreamingValue = () => TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;odata.metadata=minimal;odata.streaming=foo", ODataVersion.V4);

            acceptUnrecognizedStreamingValue
            .ShouldThrow <ODataException>()
#if NETCOREAPP1_0
            .WithMessage(ErrorStrings.MediaTypeUtils_DidNotFindMatchingMediaType("*", "application/json;odata.metadata=minimal;odata.streaming=foo"));
コード例 #9
0
        public void UnrecognizedStreamingParameterValueForAcceptShouldFail()
        {
            Action acceptUnrecognizedStreamingValue = () => TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;odata.metadata=minimal;odata.streaming=foo", ODataVersion.V4);

            ODataContentTypeException exception = Assert.Throws <ODataContentTypeException>(acceptUnrecognizedStreamingValue);

            Assert.Contains("do not match any of the acceptable MIME types 'application/json;odata.metadata=minimal;odata.streaming=foo'.", exception.Message);
        }
コード例 #10
0
        public void NonStreamingAcceptShouldResolveToNonStreamingResponse_Without_Prefix()
        {
            var mediaTypeWithFormat = TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;metadata=minimal;streaming=false", ODataVersion.V4);

            mediaTypeWithFormat.BeJsonLight().NotBeStreaming();
            Assert.True(TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "metadata"));
            Assert.True(TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "streaming"));
        }
コード例 #11
0
        public void NonStreamingAcceptShouldResolveToNonStreamingResponse()
        {
            var mediaTypeWithFormat = TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;odata.metadata=minimal;odata.streaming=false", ODataVersion.V4);

            mediaTypeWithFormat.Should().BeJsonLight().And.NotBeStreaming();
            TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "odata.metadata").Should().BeTrue();
            TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "odata.streaming").Should().BeTrue();
        }
コード例 #12
0
        public void StreamingAcceptShouldResolveToStreamingResponse_Without_Prefix()
        {
            var mediaTypeWithFormat = TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;metadata=minimal;streaming=true", ODataVersion.V4);

            mediaTypeWithFormat.Should().BeJsonLight().And.BeStreaming();
            TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "metadata").Should().BeTrue();
            TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "streaming").Should().BeTrue();
        }
コード例 #13
0
 public void ODataParameterShouldBeCaseInsensitive()
 {
     TestMediaTypeWithFormat.GetResponseTypeFromAccept("appLICatIOn/jSOn;oDaTa.MeTaDAtA=MinIMaL", ODataVersion.V4).BeJsonLight().HaveDefaultMetadata();
     TestMediaTypeWithFormat.GetResponseTypeFromAccept("appLICatIOn/jSOn;oDaTa.MeTaDAta=FuLl", ODataVersion.V4).BeJsonLight().HaveFullMetadata();
     TestMediaTypeWithFormat.GetResponseTypeFromAccept("appLICatIOn/jSOn;oDaTa.MetADAtA=nONe", ODataVersion.V4).BeJsonLight().HaveNoMetadata();
     TestMediaTypeWithFormat.ParseContentType("appLICatIOn/jSOn;oDaTa.MeTaDaTa=MinIMaL", ODataVersion.V4).BeJsonLight().HaveDefaultMetadata();
     TestMediaTypeWithFormat.ParseContentType("appLICatIOn/jSOn;ODATA.MeTaDaTa=FuLl", ODataVersion.V4).BeJsonLight().HaveFullMetadata();
     TestMediaTypeWithFormat.ParseContentType("appLICatIOn/jSOn;oDaTa.MeTaDaTa=nONe", ODataVersion.V4).BeJsonLight().HaveNoMetadata();
 }
コード例 #14
0
        public void StreamingAcceptShouldResolveToStreamingResponse()
        {
            var mediaTypeWithFormat = TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;odata.metadata=minimal;odata.streaming=true", ODataVersion.V4);

            mediaTypeWithFormat.BeJsonLight().BeStreaming().HaveDefaultMetadata();

            Assert.True(TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "odata.metadata"));
            Assert.True(TestMediaTypeWithFormat.MediaTypeContains(mediaTypeWithFormat.MediaType, "odata.streaming"));
        }
コード例 #15
0
        public static TestMediaTypeWithFormat NotHaveParameter(this TestMediaTypeWithFormat mediaType, string parameterName)
        {
            Assert.NotNull(mediaType.MediaType);
            if (mediaType.MediaType.Parameters != null)
            {
                Assert.DoesNotContain(mediaType.MediaType.Parameters, kvp => kvp.Key == parameterName);
            }

            return(mediaType);
        }
コード例 #16
0
        public void MatchInfoCacheShouldWork()
        {
            var result1 = TestMediaTypeWithFormat.ParseContentType("application/json;odata.metadata=minimal", ODataVersion.V4);
            var result2 = TestMediaTypeWithFormat.ParseContentType("application/json;odata.metadata=minimal", ODataVersion.V4);
            var result3 = TestMediaTypeWithFormat.ParseContentType("application/json", ODataVersion.V4);
            var result4 = TestMediaTypeWithFormat.ParseContentType("application/json", ODataVersion.V4, ODataMediaTypeResolver.GetMediaTypeResolver(null));

            result1.BeJsonLight().HaveDefaultMetadata();
            result2.BeJsonLight().HaveDefaultMetadata();
            result3.BeUnspecifiedJson();
            result4.BeUnspecifiedJson();
        }
コード例 #17
0
 public void NotIeee754CompatibleAcceptShouldResolveToNotCompatible()
 {
     string[] args =
     {
         "application/json;IEEE754Compatible=false",
         "application/json"
     };
     foreach (var arg in args)
     {
         TestMediaTypeWithFormat.GetResponseTypeFromAccept(arg, ODataVersion.V4).BeJsonLight().NotBeIeee754Compatible();
     }
 }
コード例 #18
0
        public void StreamingParameterShouldBeCaseInsensitive()
        {
            TestMediaTypeWithFormat.ParseContentType("appLICatIOn/jSOn;OdAtA.sTrEaMinG=TrUe", ODataVersion.V4).BeJsonLight().BeStreaming();
            TestMediaTypeWithFormat.ParseContentType("APpLiCAtIOn/jSoN;oDaTa.stReAMinG=fAlSe", ODataVersion.V4).BeJsonLight().NotBeStreaming();
            TestMediaTypeWithFormat.ParseContentType("appLICatIOn/jSOn;sTrEaMinG=TrUe", ODataVersion.V4).BeJsonLight().BeStreaming();
            TestMediaTypeWithFormat.ParseContentType("APpLiCAtIOn/jSoN;stReAMinG=fAlSe", ODataVersion.V4).BeJsonLight().NotBeStreaming();

            var mediaTypeWithFormat = TestMediaTypeWithFormat.GetResponseTypeFromAccept("appLICatIOn/jSOn;OdAtA.sTrEaMinG=TrUe", ODataVersion.V4);

            mediaTypeWithFormat.BeJsonLight().BeStreaming();

            TestMediaTypeWithFormat.GetResponseTypeFromAccept("APpLiCAtIOn/jSoN;oDaTa.stReAMinG=fAlSe", ODataVersion.V4).BeJsonLight().NotBeStreaming();

            TestMediaTypeWithFormat.GetResponseTypeFromAccept("appLICatIOn/jSOn;sTrEaMinG=TrUe", ODataVersion.V4).BeJsonLight().BeStreaming();
            TestMediaTypeWithFormat.GetResponseTypeFromAccept("APpLiCAtIOn/jSoN;stReAMinG=fAlSe", ODataVersion.V4).BeJsonLight().NotBeStreaming();
        }
コード例 #19
0
 public void Ieee754CompatibleAcceptShouldBeResolved()
 {
     TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;odata.metadata=minimal;IEEE754Compatible=true", ODataVersion.V4).BeJsonLight().BeIeee754Compatible();
 }
コード例 #20
0
 public void UnspecifiedAcceptShouldResolveToStreamingResponse_Without_Prefix()
 {
     TestMediaTypeWithFormat.GetResponseTypeFromAccept("application/json;metadata=minimal", ODataVersion.V4).BeJsonLight().BeStreaming();
 }
コード例 #21
0
 public static TestMediaTypeWithFormat HaveExactFormat(this TestMediaTypeWithFormat mediaType, ODataFormat format)
 {
     Assert.Same(format, mediaType.Format);
     return(mediaType);
 }
コード例 #22
0
 public static TestMediaTypeWithFormat NotHaveParameterValue(this TestMediaTypeWithFormat mediaType, string parameterName, string parameterValue)
 {
     Assert.NotNull(mediaType.MediaType);
     Assert.False(mediaType.MediaType.MediaTypeHasParameterWithValue(parameterName, parameterValue));
     return(mediaType);
 }
コード例 #23
0
 public static TestMediaTypeWithFormat HaveParameterValue(this TestMediaTypeWithFormat mediaType, string[] parameterNames, string parameterValue)
 {
     Assert.True(parameterNames.Any(p => mediaType.MediaType.MediaTypeHasParameterWithValue(p, parameterValue)));
     return(mediaType);
 }
コード例 #24
0
 public static TestMediaTypeWithFormat NotBeIeee754Compatible(this TestMediaTypeWithFormat mediaType)
 {
     Assert.False(mediaType.MediaType.HasIeee754CompatibleSetToTrue());
     return(mediaType);
 }
コード例 #25
0
 public static TestMediaTypeWithFormat NotBeStreaming(this TestMediaTypeWithFormat mediaType)
 {
     Assert.False(mediaType.MediaType.HasStreamingSetToTrue());
     return(mediaType);
 }
コード例 #26
0
 public static TestMediaTypeWithFormat BeUnspecifiedJson(this TestMediaTypeWithFormat mediaType)
 {
     return(mediaType.HaveFullTypeName("application/json").NotHaveParameter("odata.metadata").NotHaveParameter("metadata"));
 }
コード例 #27
0
 public void JsonFormatShouldBeJsonLightInV3()
 {
     TestMediaTypeWithFormat.GetResponseTypeFromFormat(ODataFormat.Json, ODataVersion.V4).BeJsonLight();
 }
コード例 #28
0
 public static TestMediaTypeWithFormat HaveDefaultMetadata(this TestMediaTypeWithFormat mediaType)
 {
     return(mediaType.HaveParameterValue(new string[] { "odata.metadata", "metadata" }, "minimal"));
 }
コード例 #29
0
 public static TestMediaTypeWithFormat HaveFullTypeName(this TestMediaTypeWithFormat mediaType, string fullTypeName)
 {
     Assert.NotNull(mediaType.MediaType);
     Assert.Equal(fullTypeName, mediaType.MediaType.FullTypeName);
     return(mediaType);
 }
コード例 #30
0
 public void JsonLightFormatShouldResolveToMinimalMetadataAndStreaming()
 {
     TestMediaTypeWithFormat.GetResponseTypeFromFormat(ODataFormat.Json, ODataVersion.V4).BeJsonLight().HaveDefaultMetadata().BeStreaming();
 }