Пример #1
0
    public void CanWriteResult_MatchesWildcardsOnlyWhenContentTypeProvidedByServer(
        bool contentTypeProvidedByServer, bool shouldMatchWildcards)
    {
        // Arrange
        var formatter = new TypeSpecificFormatter();

        formatter.SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/*+xml"));
        formatter.SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/*+json"));
        formatter.SupportedTypes.Add(typeof(string));

        var requestedContentType = "application/vnd.test.entity+json;v=2";
        var context = new OutputFormatterWriteContext(
            new DefaultHttpContext(),
            new TestHttpResponseStreamWriterFactory().CreateWriter,
            typeof(string),
            "Hello, world!")
        {
            ContentType = new StringSegment(requestedContentType),
            ContentTypeIsServerDefined = contentTypeProvidedByServer,
        };

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

        // Assert
        Assert.Equal(shouldMatchWildcards, result);
        Assert.Equal(requestedContentType, context.ContentType.ToString());
    }
Пример #2
0
        public void GetSupportedContentTypes_ReturnsNull_ForUnsupportedType()
        {
            // Arrange
            var formatter = new TypeSpecificFormatter();

            formatter.SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/json"));
            formatter.SupportedTypes.Add(typeof(int));

            // Act
            var contentTypes = formatter.GetSupportedContentTypes(contentType: null, objectType: typeof(string));

            // Assert
            Assert.Null(contentTypes);
        }
Пример #3
0
        public void GetSupportedContentTypes_ReturnsNull_ForUnsupportedType()
        {
            // Arrange
            var formatter = new TypeSpecificFormatter();
            formatter.SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/json"));
            formatter.SupportedTypes.Add(typeof(int));

            // Act
            var contentTypes = formatter.GetSupportedContentTypes(
                contentType: null,
                objectType: typeof(string));

            // Assert
            Assert.Null(contentTypes);
        }
Пример #4
0
        public void CanWrite_ReturnsFalse_ForUnsupportedType()
        {
            // Arrange
            var context = new OutputFormatterContext();

            context.DeclaredType = typeof(string);
            context.Object       = "Hello, world!";

            var formatter = new TypeSpecificFormatter();

            formatter.SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/json"));

            formatter.SupportedTypes.Add(typeof(int));

            // Act
            var result = formatter.CanWriteResult(context, formatter.SupportedMediaTypes[0]);

            // Assert
            Assert.False(result);
        }
Пример #5
0
        public void CanWrite_ReturnsFalse_ForUnsupportedType()
        {
            // Arrange
            var formatter = new TypeSpecificFormatter();
            formatter.SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/json"));
            formatter.SupportedTypes.Add(typeof(int));

            var context = new OutputFormatterWriteContext(
                new DefaultHttpContext(),
                new TestHttpResponseStreamWriterFactory().CreateWriter,
                typeof(string),
                "Hello, world!")
            {
                ContentType = new StringSegment(formatter.SupportedMediaTypes[0].ToString()),
            };

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

            // Assert
            Assert.False(result);
        }
Пример #6
0
    public void CanWrite_ReturnsFalse_ForUnsupportedType()
    {
        // Arrange
        var formatter = new TypeSpecificFormatter();

        formatter.SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/json"));
        formatter.SupportedTypes.Add(typeof(int));

        var context = new OutputFormatterWriteContext(
            new DefaultHttpContext(),
            new TestHttpResponseStreamWriterFactory().CreateWriter,
            typeof(string),
            "Hello, world!")
        {
            ContentType = new StringSegment(formatter.SupportedMediaTypes[0].ToString()),
        };

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

        // Assert
        Assert.False(result);
    }
Пример #7
0
        public void CanWrite_ReturnsFalse_ForUnsupportedType()
        {
            // Arrange
            var context = new OutputFormatterContext();
            context.DeclaredType = typeof(string);
            context.Object = "Hello, world!";

            var formatter = new TypeSpecificFormatter();

            formatter.SupportedMediaTypes.Add(MediaTypeHeaderValue.Parse("application/json"));

            formatter.SupportedTypes.Add(typeof(int));

            // Act
            var result = formatter.CanWriteResult(context, formatter.SupportedMediaTypes[0]);

            // Assert
            Assert.False(result);
        }