Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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)));
        }
Esempio n. 3
0
        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)));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        public void CanRead_GivenContextIsNull_ExpectException()
        {
            var cspReportBodyFormatter = new CspReportBodyFormatter();

            Assert.Throws <ArgumentNullException>(() => cspReportBodyFormatter.CanRead(null));
        }