Пример #1
0
        public void Negotiate_CallGetPerRequestFormatterInstanceFirst()
        {
            HttpConfiguration  config              = RoutingConfigurationFactory.CreateWithRootContainer("odata");
            HttpRequestMessage request             = RequestFactory.Create(config, "odata");
            MediaTypeFormatter perRequestFormatter = new ODataMediaTypeFormatter(Enumerable.Empty <ODataPayloadKind>())
            {
                Request = request
            };
            Mock <MediaTypeFormatter> formatter = new Mock <MediaTypeFormatter>();

            formatter
            .Setup(f => f.GetPerRequestFormatterInstance(typeof(void), request, It.IsAny <MediaTypeHeaderValue>()))
            .Returns(perRequestFormatter);
            Mock <IContentNegotiator> innerContentNegotiator = new Mock <IContentNegotiator>();

            innerContentNegotiator
            .Setup(n => n.Negotiate(typeof(void), request, It.Is <IEnumerable <MediaTypeFormatter> >(f => f.First() == perRequestFormatter)))
            .Returns(new ContentNegotiationResult(perRequestFormatter, MediaTypeHeaderValue.Parse("application/json")));

            IContentNegotiator contentNegotiator = new PerRequestContentNegotiator(innerContentNegotiator.Object);
            var negotiationResult = contentNegotiator.Negotiate(typeof(void), request, new MediaTypeFormatter[] { formatter.Object });

            Assert.Same(perRequestFormatter, negotiationResult.Formatter);
        }
Пример #2
0
 public void Property_Request_RoundTrips()
 {
     ReflectionAssert.Property(_context, (c) => c.Request, null, allowNull: true, roundTripTestValue: RequestFactory.Create());
 }