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 void CanRead_GivenCorrectContentType_ExpectTrue() { var cspReportBodyFormatter = new CspReportBodyFormatter(); var httpContext = new DefaultHttpContext(); httpContext.Request.ContentType = "application/csp-report"; Assert.True(cspReportBodyFormatter.CanRead(CreateInputFormatterContext(typeof(CspPost), httpContext))); }
public void CanRead_GivenWrongContentTypeNull_ExpectFasle() { var cspReportBodyFormatter = new CspReportBodyFormatter(); var httpContext = new DefaultHttpContext(); httpContext.Request.ContentType = string.Empty; Assert.False( cspReportBodyFormatter.CanRead(CreateInputFormatterContext(typeof(CspPost), httpContext))); }
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); }
public void CanRead_GivenContextIsNull_ExpectException() { var cspReportBodyFormatter = new CspReportBodyFormatter(); Assert.Throws <ArgumentNullException>(() => cspReportBodyFormatter.CanRead(null)); }