public async Task RetryAfterIsNotSetWhenTimeSpanNotSet() { var controller = new DummyController() { Configuration = new HttpConfiguration(), Request = new HttpRequestMessage() }; var actionResult = new ServiceUnavailableResult(controller, new TimeSpan()); var response = await actionResult.ExecuteAsync(new CancellationToken()); response.Headers.RetryAfter.Should().BeNull("because the response should not specify the Retry-After"); }
public async Task HttpStatusCodeIsCorrect() { var controller = new DummyController() { Configuration = new HttpConfiguration(), Request = new HttpRequestMessage() }; var actionResult = new ServiceUnavailableResult(controller, TimeSpan.FromSeconds(5)); var response = await actionResult.ExecuteAsync(new CancellationToken()); response.StatusCode.Should().Be(HttpStatusCode.ServiceUnavailable, "because the result should set the provided status code"); }
public async Task RetryAfterIsSetOnResponse() { var controller = new DummyController() { Configuration = new HttpConfiguration(), Request = new HttpRequestMessage() }; var retryAfter = TimeSpan.FromSeconds(5); var actionResult = new ServiceUnavailableResult(controller, retryAfter); var response = await actionResult.ExecuteAsync(new CancellationToken()); response.Headers.RetryAfter.Should().NotBeNull("Retry-After", "because the response should specify the Retry-After"); response.Headers.RetryAfter.Delta.Should().Be(retryAfter, "because the duration should match the provided TimeSpan"); }