コード例 #1
0
            public async Task When_responding_with_stream_it_should_return_response(bool isSeekable)
            {
                using var ms = new CanSeekMemoryStream(Encoding.UTF8.GetBytes("content"), isSeekable);
                var request         = new HttpRequestMessage();
                var expectedContent = new ByteArrayContent(Encoding.UTF8.GetBytes("content"));

                // Act
                _sut.Respond(ms);
                HttpResponseMessage actualResponse = await _httpCall.SendAsync(new MockHttpRequestContext(request), CancellationToken.None);

                // Assert
                await actualResponse.Should()
                .HaveStatusCode(HttpStatusCode.OK)
                .And.HaveContentAsync(expectedContent);

                // Second assert, to test we can read stream twice, even if not seekable.
                await actualResponse.Should()
                .HaveStatusCode(HttpStatusCode.OK)
                .And.HaveContentAsync(expectedContent);
            }
コード例 #2
0
            public async Task When_responding_with_statusCode_and_stream_and_media_type_it_should_return_response(HttpStatusCode statusCode, bool isSeekable)
            {
                using var ms = new CanSeekMemoryStream(Encoding.UTF8.GetBytes("content"), isSeekable);
                var request         = new HttpRequestMessage();
                var expectedContent = new StringContent("content", Encoding.UTF8, "text/html");

                // Act
                _sut.Respond(statusCode, ms, "text/html; charset=utf-8");
                HttpResponseMessage actualResponse = await _httpCall.SendAsync(new MockHttpRequestContext(request), CancellationToken.None);

                // Assert
                await actualResponse.Should()
                .HaveStatusCode(statusCode)
                .And.HaveContentAsync(expectedContent);

                // Second assert, to test we can read stream twice, even if not seekable.
                await actualResponse.Should()
                .HaveStatusCode(statusCode)
                .And.HaveContentAsync(expectedContent);
            }