示例#1
0
        public async Task GivenHttpResponseWithNoContent_WhenGetContentInfo_ThenIsEmpty()
        {
            // Arrange
            using var response = new HttpResponseMessage();
            var sut            = new FallbackProcessor(response.Content);
            var contentBuilder = new StringBuilder();

            // Act
            await sut.GetContentInfo(contentBuilder);

            // Assert
            contentBuilder.ToString().Should().BeEmpty();
        }
示例#2
0
        public async Task GivenHttpResponseWithContent_WhenGetContentInfo_ThenItContainsTheContent()
        {
            // Arrange
            using var response = new HttpResponseMessage
                  {
                      Content = new StringContent("the content")
                  };
            var sut            = new FallbackProcessor(response.Content);
            var contentBuilder = new StringBuilder();

            // Act
            await sut.GetContentInfo(contentBuilder);

            // Assert
            contentBuilder.ToString().Should().Be("the content");
        }
示例#3
0
        public async Task GivenContentWithLengthTooLarge_WhenGetContentInfo_ThenItContainsAWarningMessage()
        {
            // Arrange
            using var response = new HttpResponseMessage
                  {
                      Content = new StringContent(new string (Enumerable
                                                              .Range(0, ContentFormatterOptions.MaximumReadableBytes + 1)
                                                              .Select(_ => '0')
                                                              .ToArray()))
                  };
            var sut            = new FallbackProcessor(response.Content);
            var contentBuilder = new StringBuilder();

            // Act
            await sut.GetContentInfo(contentBuilder);

            // Assert
            contentBuilder.ToString().Should().Match("*too large*");
        }