public async Task TheWriteResponseBodyAsyncMethodShouldReturnStatusCode400IfFieldsMalformed() { // Arrange Mock.Get(this.httpResponse) .SetupGet(httpResponse => httpResponse.StatusCode) .Returns(200); Mock.Get(this.queryCollection) .Setup(queryCollection => queryCollection.ContainsKey("fields")) .Returns(true); Mock.Get(this.queryCollection) .SetupGet(queryCollection => queryCollection["fields"]) .Returns("foo/"); var writeContext = new OutputFormatterWriteContext(this.httpContext, (stream, encoding) => new StringWriter(this.body), typeof(object), new {}); var formatter = new PartialJsonOutputFormatter(new JsonSerializerSettings(), Mock.Of <ArrayPool <char> >(), false); // Act await formatter.WriteResponseBodyAsync(writeContext, Encoding.UTF8); // Assert Mock.Get(this.httpResponse) .VerifySet(httpResponse => httpResponse.StatusCode = 400); }
public async Task TheWriteResponseBodyAsyncMethodShouldBypassPartialResponseIfStatusCodeIsNot200() { // Arrange Mock.Get(this.httpResponse) .SetupGet(httpResponse => httpResponse.StatusCode) .Returns(500); Mock.Get(this.queryCollection) .Setup(queryCollection => queryCollection.ContainsKey("fields")) .Returns(true); Mock.Get(this.queryCollection) .SetupGet(queryCollection => queryCollection["fields"]) .Returns(""); var value = new { foo = "bar" }; var writeContext = new OutputFormatterWriteContext(this.httpContext, (stream, encoding) => new StringWriter(this.body), typeof(object), value); var formatter = new PartialJsonOutputFormatter(new JsonSerializerSettings(), Mock.Of <ArrayPool <char> >(), false); // Act await formatter.WriteResponseBodyAsync(writeContext, Encoding.UTF8); // Assert Assert.Equal("{\"foo\":\"bar\"}", this.body.ToString()); }
public PartialJsonOutputFormatterTests() { Mock.Get(this.httpContext) .SetupGet(httpContext => httpContext.Request) .Returns(this.httpRequest); Mock.Get(this.httpContext) .SetupGet(httpContext => httpContext.Response) .Returns(this.httpResponse); Mock.Get(this.httpContext) .SetupGet(httpContext => httpContext.Items) .Returns(this.httpContextItems); Mock.Get(this.httpRequest) .SetupGet(httpRequest => httpRequest.HttpContext) .Returns(this.httpContext); #if ASPNETCORE2 this.formatter = new PartialJsonOutputFormatter(new JsonSerializerSettings(), this.fieldsParser, Mock.Of <ArrayPool <char> >(), this.mvcPartialJsonOptions); #else this.formatter = new PartialJsonOutputFormatter(new JsonSerializerSettings(), this.fieldsParser, Mock.Of <ArrayPool <char> >(), this.mvcPartialJsonOptions, this.mvcOptions); #endif }
public PartialJsonOutputFormatterTests() { Mock.Get(this.httpContext) .SetupGet(httpContext => httpContext.Request) .Returns(this.httpRequest); Mock.Get(this.httpContext) .SetupGet(httpContext => httpContext.Response) .Returns(this.httpResponse); Mock.Get(this.httpContext) .SetupGet(httpContext => httpContext.Items) .Returns(this.httpContextItems); Mock.Get(this.httpRequest) .SetupGet(httpRequest => httpRequest.HttpContext) .Returns(this.httpContext); Mock.Get(this.options) .SetupGet(options => options.Value) .Returns(this.partialJsonOptions); this.formatter = new PartialJsonOutputFormatter(new JsonSerializerSettings(), this.fieldsParser, Mock.Of <ArrayPool <char> >(), this.partialJsonOptions); }