public async Task ReadRequestBodyAsync_GivenValidContext_ExpectSuccessfulResultWithData() { var csp = new CspPost { CspReport = new CspReport { Referrer = "referrer", BlockedUri = "blocked-uri", SourceFile = "source-file", }, }; var cspReportBodyFormatter = new CspReportBodyFormatter(); var httpContext = new DefaultHttpContext(); httpContext.Request.ContentType = "application/csp-report"; var stream = new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(csp))); httpContext.Request.Body = stream; httpContext.Request.ContentLength = stream.Length; var result = await cspReportBodyFormatter.ReadRequestBodyAsync(CreateInputFormatterContext( typeof(CspPost), httpContext)); Assert.False(result.HasError); Assert.IsType <CspPost>(result.Model); }
public async Task ReadRequestBodyAsync_GivenInvalidContentType_ExpectFailure() { var cspReportBodyFormatter = new CspReportBodyFormatter(); var httpContext = new DefaultHttpContext(); httpContext.Request.ContentType = string.Empty; var result = await cspReportBodyFormatter.ReadRequestBodyAsync(CreateInputFormatterContext( typeof(CspPost), httpContext)); Assert.True(result.HasError); }