Ejemplo n.º 1
0
        public void CanWriteResult_ReturnsTrue_IfReturnValueIsNullAndTreatNullValueAsNoContentIsNotSet(
            string value,
            bool treatNullValueAsNoContent,
            bool expected)
        {
            // Arrange
            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                typeof(string),
                value)
            {
                ContentType = MediaTypeHeaderValue.Parse("text/plain"),
            };

            var formatter = new HttpNoContentOutputFormatter()
            {
                TreatNullValueAsNoContent = treatNullValueAsNoContent
            };

            // Act
            var result = formatter.CanWriteResult(context);

            // Assert
            Assert.Equal(expected, result);
        }
Ejemplo n.º 2
0
        public void CanWriteResult_ByDefault_ReturnsTrue_IfTheValueIsNull(
            object value,
            bool declaredTypeAsString,
            bool expected,
            bool useNonNullContentType)
        {
            // Arrange
            var type        = declaredTypeAsString ? typeof(string) : typeof(object);
            var contentType = useNonNullContentType ? MediaTypeHeaderValue.Parse("text/plain") : null;

            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                type,
                value)
            {
                ContentType = contentType,
            };

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            var result = formatter.CanWriteResult(context);

            // Assert
            Assert.Equal(expected, result);
        }
Ejemplo n.º 3
0
        public void CanWriteResult_ByDefault_ReturnsTrue_IfTheValueIsNull(
            object value,
            bool declaredTypeAsString,
            bool expected,
            bool useNonNullContentType)
        {
            // Arrange
            var type = declaredTypeAsString ? typeof(string) : typeof(object);
            var contentType = useNonNullContentType ? MediaTypeHeaderValue.Parse("text/plain") : null;

            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                type,
                value)
            {
                ContentType = contentType,
            };

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            var result = formatter.CanWriteResult(context);

            // Assert
            Assert.Equal(expected, result);
        }
Ejemplo n.º 4
0
        public async Task WriteAsync_WritesTheStatusCode204()
        {
            // Arrange
            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                typeof(string),
                @object: null);

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            await formatter.WriteAsync(context);

            // Assert
            Assert.Equal(StatusCodes.Status204NoContent, context.HttpContext.Response.StatusCode);
        }
Ejemplo n.º 5
0
        public void CanWriteResult_ReturnsTrue_IfReturnTypeIsVoidOrTask(Type declaredType)
        {
            // Arrange
            var formatterContext = new OutputFormatterContext()
            {
                Object       = "Something non null.",
                DeclaredType = declaredType,
                HttpContext  = null,
            };
            var contetType = MediaTypeHeaderValue.Parse("text/plain");
            var formatter  = new HttpNoContentOutputFormatter();

            // Act
            var actualCanWriteResult = formatter.CanWriteResult(formatterContext, contetType);

            // Assert
            Assert.True(actualCanWriteResult);
        }
Ejemplo n.º 6
0
        public void CanWriteResult_ReturnsTrue_IfReturnTypeIsVoidOrTask(Type declaredType)
        {
            // Arrange
            var formatterContext = new OutputFormatterContext()
            {
                Object = "Something non null.",
                DeclaredType = declaredType,
                HttpContext = null,
            };
            var contetType = MediaTypeHeaderValue.Parse("text/plain");
            var formatter = new HttpNoContentOutputFormatter();

            // Act
            var actualCanWriteResult = formatter.CanWriteResult(formatterContext, contetType);

            // Assert
            Assert.True(actualCanWriteResult);
        }
Ejemplo n.º 7
0
        public async Task WriteAsync_WritesTheStatusCode204()
        {
            // Arrange
            var defaultHttpContext = new DefaultHttpContext();
            var formatterContext   = new OutputFormatterContext()
            {
                Object      = null,
                HttpContext = defaultHttpContext,
            };

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            await formatter.WriteAsync(formatterContext);

            // Assert
            Assert.Equal(StatusCodes.Status204NoContent, defaultHttpContext.Response.StatusCode);
        }
Ejemplo n.º 8
0
        public async Task WriteAsync_ContextStatusCodeSet_WritesSameStatusCode()
        {
            // Arrange
            var defaultHttpContext = new DefaultHttpContext();
            var formatterContext   = new OutputFormatterContext()
            {
                Object      = null,
                HttpContext = defaultHttpContext,
                StatusCode  = StatusCodes.Status201Created
            };

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            await formatter.WriteAsync(formatterContext);

            // Assert
            Assert.Equal(StatusCodes.Status201Created, defaultHttpContext.Response.StatusCode);
        }
Ejemplo n.º 9
0
        public void CanWriteResult_ReturnsTrue_IfReturnTypeIsVoidOrTask(Type declaredType)
        {
            // Arrange
            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                declaredType,
                "Something non null.")
            {
                ContentType = MediaTypeHeaderValue.Parse("text/plain"),
            };

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            var result = formatter.CanWriteResult(context);

            // Assert
            Assert.True(result);
        }
Ejemplo n.º 10
0
        public void CanWriteResult_ReturnsTrue_IfReturnTypeIsVoidOrTask(Type declaredType)
        {
            // Arrange
            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                declaredType,
                "Something non null.")
            {
                ContentType = MediaTypeHeaderValue.Parse("text/plain"),
            };

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            var result = formatter.CanWriteResult(context);

            // Assert
            Assert.True(result);
        }
Ejemplo n.º 11
0
        public async Task WriteAsync_ContextStatusCodeSet_WritesSameStatusCode()
        {
            // Arrange
            var httpContext = new DefaultHttpContext();

            httpContext.Response.StatusCode = StatusCodes.Status201Created;

            var context = new OutputFormatterWriteContext(
                httpContext,
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                typeof(string),
                @object: null);

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            await formatter.WriteAsync(context);

            // Assert
            Assert.Equal(StatusCodes.Status201Created, httpContext.Response.StatusCode);
        }
Ejemplo n.º 12
0
        public void CanWriteResult_ByDefault_ReturnsTrue_IfTheValueIsNull(
            object value,
            bool declaredTypeAsString,
            bool expectedCanwriteResult,
            bool useNonNullContentType)
        {
            // Arrange
            var typeToUse = declaredTypeAsString ? typeof(string) : typeof(object);
            var formatterContext = new OutputFormatterContext()
            {
                Object = value,
                DeclaredType = typeToUse,
                HttpContext = null,
            };
            var contetType = useNonNullContentType ? MediaTypeHeaderValue.Parse("text/plain") : null;
            var formatter = new HttpNoContentOutputFormatter();

            // Act
            var actualCanWriteResult = formatter.CanWriteResult(formatterContext, contetType);

            // Assert
            Assert.Equal(expectedCanwriteResult, actualCanWriteResult);
        }
Ejemplo n.º 13
0
        public void CanWriteResult_ByDefault_ReturnsTrue_IfTheValueIsNull(
            object value,
            bool declaredTypeAsString,
            bool expectedCanwriteResult,
            bool useNonNullContentType)
        {
            // Arrange
            var typeToUse        = declaredTypeAsString ? typeof(string) : typeof(object);
            var formatterContext = new OutputFormatterContext()
            {
                Object       = value,
                DeclaredType = typeToUse,
                HttpContext  = null,
            };
            var contetType = useNonNullContentType ? MediaTypeHeaderValue.Parse("text/plain") : null;
            var formatter  = new HttpNoContentOutputFormatter();

            // Act
            var actualCanWriteResult = formatter.CanWriteResult(formatterContext, contetType);

            // Assert
            Assert.Equal(expectedCanwriteResult, actualCanWriteResult);
        }
Ejemplo n.º 14
0
        CanWriteResult_ReturnsTrue_IfReturnValueIsNullAndTreatNullValueAsNoContentIsNotSet(string value,
                                                                                           bool treatNullValueAsNoContent,
                                                                                           bool expectedCanwriteResult)
        {
            // Arrange
            var formatterContext = new OutputFormatterContext()
            {
                Object       = value,
                DeclaredType = typeof(string),
                HttpContext  = null,
            };

            var contetType = MediaTypeHeaderValue.Parse("text/plain");
            var formatter  = new HttpNoContentOutputFormatter()
            {
                TreatNullValueAsNoContent = treatNullValueAsNoContent
            };

            // Act
            var actualCanWriteResult = formatter.CanWriteResult(formatterContext, contetType);

            // Assert
            Assert.Equal(expectedCanwriteResult, actualCanWriteResult);
        }
Ejemplo n.º 15
0
        public async Task WriteAsync_ContextStatusCodeSet_WritesSameStatusCode()
        {
            // Arrange
            var defaultHttpContext = new DefaultHttpContext();
            var formatterContext = new OutputFormatterContext()
            {
                Object = null,
                HttpContext = defaultHttpContext,
                StatusCode = StatusCodes.Status201Created
            };

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            await formatter.WriteAsync(formatterContext);

            // Assert
            Assert.Equal(StatusCodes.Status201Created, defaultHttpContext.Response.StatusCode);
        }
Ejemplo n.º 16
0
        public async Task WriteAsync_WritesTheStatusCode204()
        {
            // Arrange
            var defaultHttpContext = new DefaultHttpContext();
            var formatterContext = new OutputFormatterContext()
            {
                Object = null,
                HttpContext = defaultHttpContext,
            };

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            await formatter.WriteAsync(formatterContext);

            // Assert
            Assert.Equal(StatusCodes.Status204NoContent, defaultHttpContext.Response.StatusCode);
        }
Ejemplo n.º 17
0
        public void CanWriteResult_ReturnsTrue_IfReturnValueIsNullAndTreatNullValueAsNoContentIsNotSet(
            string value,
            bool treatNullValueAsNoContent,
            bool expected)
        {
            // Arrange
            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                typeof(string),
                value)
            {
                ContentType = MediaTypeHeaderValue.Parse("text/plain"),
            };

            var formatter = new HttpNoContentOutputFormatter()
            {
                TreatNullValueAsNoContent = treatNullValueAsNoContent
            };

            // Act
            var result = formatter.CanWriteResult(context);

            // Assert
            Assert.Equal(expected, result);
        }
Ejemplo n.º 18
0
        public async Task WriteAsync_ContextStatusCodeSet_WritesSameStatusCode()
        {
            // Arrange
            var httpContext = new DefaultHttpContext();
            httpContext.Response.StatusCode = StatusCodes.Status201Created;

            var context = new OutputFormatterWriteContext(
                httpContext,
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                typeof(string),
                @object: null);

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            await formatter.WriteAsync(context);

            // Assert
            Assert.Equal(StatusCodes.Status201Created, httpContext.Response.StatusCode);
        }
Ejemplo n.º 19
0
            CanWriteResult_ReturnsTrue_IfReturnValueIsNullAndTreatNullValueAsNoContentIsNotSet(string value,
                                                                                      bool treatNullValueAsNoContent,
                                                                                      bool expectedCanwriteResult)
        {
            // Arrange
            var formatterContext = new OutputFormatterContext()
            {
                Object = value,
                DeclaredType = typeof(string),
                HttpContext = null,
            };

            var contetType = MediaTypeHeaderValue.Parse("text/plain");
            var formatter = new HttpNoContentOutputFormatter()
            {
                TreatNullValueAsNoContent = treatNullValueAsNoContent
            };

            // Act
            var actualCanWriteResult = formatter.CanWriteResult(formatterContext, contetType);

            // Assert
            Assert.Equal(expectedCanwriteResult, actualCanWriteResult);
        }
Ejemplo n.º 20
0
        public async Task WriteAsync_WritesTheStatusCode204()
        {
            // Arrange
            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                typeof(string),
                @object: null);

            var formatter = new HttpNoContentOutputFormatter();

            // Act
            await formatter.WriteAsync(context);

            // Assert
            Assert.Equal(StatusCodes.Status204NoContent, context.HttpContext.Response.StatusCode);
        }