public async void ReturnedDataIncludesUrlWhenExceptionIsThrown() { var exception = new DivideByZeroException(); var checker = new TestableUrlChecker(exception, "http://uri/"); var result = await checker.CheckAsync(); Assert.Collection(result.Data.OrderBy(kvp => kvp.Key).Select(kvp => $"'{kvp.Key}' = '{kvp.Value}'"), value => Assert.Equal("'url' = 'http://uri/'", value) ); }
public async void CallsHttpClientWithNoCache_ReturnsCheckFunctionResult() { var response = new HttpResponseMessage(); var checkResult = HealthCheckResult.Healthy("This is a healthy response"); var checkFunc = Substitute.For <Func <HttpResponseMessage, ValueTask <IHealthCheckResult> > >(); checkFunc(response).Returns(new ValueTask <IHealthCheckResult>(checkResult)); var checker = new TestableUrlChecker(checkFunc, "http://url1/", response); var result = await checker.CheckAsync(); Assert.Equal(CheckStatus.Healthy, checkResult.CheckStatus); Assert.Equal("This is a healthy response", checkResult.Description); Assert.Equal(HttpMethod.Get, response.RequestMessage.Method); Assert.Equal("http://url1/", response.RequestMessage.RequestUri.ToString()); Assert.Equal(true, response.RequestMessage.Headers.CacheControl.NoCache); }