public async Task SetsReadTimeoutToProvidedValue() { var hangingStream = new HangingReadStream(); MockResponse mockResponse = new MockResponse(200) { ContentStream = hangingStream }; MockTransport mockTransport = new MockTransport(mockResponse); Response response = await SendGetRequest(mockTransport, new ResponseBodyPolicy(TimeSpan.FromMilliseconds(1234567)), bufferResponse : false); Assert.IsInstanceOf <ReadTimeoutStream>(response.ContentStream); Assert.AreEqual(1234567, hangingStream.ReadTimeout); }
public async Task WrapsNonBufferedStreamsWithTimeoutStream() { var hangingStream = new HangingReadStream(); MockResponse mockResponse = new MockResponse(200) { ContentStream = hangingStream }; MockTransport mockTransport = new MockTransport(mockResponse); Response response = await SendGetRequest(mockTransport, TimeoutPolicy, bufferResponse: false); var buffer = new byte[100]; Assert.ThrowsAsync<TaskCanceledException>(async () => await response.ContentStream.ReadAsync(buffer, 0, 100)); Assert.AreEqual(50, hangingStream.ReadTimeout); }
public async Task CanOverrideDefaultNetworkTimeout_Stream() { var hangingStream = new HangingReadStream(); MockResponse mockResponse = new MockResponse(200) { ContentStream = hangingStream }; MockTransport mockTransport = new MockTransport(mockResponse); Response response = await SendRequestAsync(mockTransport, message => { message.NetworkTimeout = TimeSpan.FromMilliseconds(30); }, new ResponseBodyPolicy(TimeSpan.MaxValue), bufferResponse: false); Assert.IsInstanceOf<ReadTimeoutStream>(response.ContentStream); Assert.AreEqual(30, hangingStream.ReadTimeout); }