public async Task LuckyMeBubbleUpHttpException() { var fetcher = new Mock <Base.Http.Fetcher.IFetcher>(); var request = new Mock <Base.Http.IRequest>(); fetcher.Setup(t => t.ExecuteAsync(It.IsAny <Base.Http.IRequest>())) .ThrowsAsync(new Base.Http.Exception.HttpException("test")); var policy = new Base.Http.Retry.LuckyMePolicy(); await Assert.ThrowsAsync <Base.Http.Exception.HttpException>( () => policy.GetResponse(fetcher.Object, request.Object) ); }
public async Task LuckyMeFetchResult() { var fetcher = new Mock <Base.Http.Fetcher.IFetcher>(); var request = new Mock <Base.Http.IRequest>(); var response = new Mock <Base.Http.IResponse>(); fetcher.Setup(t => t.ExecuteAsync(It.IsAny <Base.Http.IRequest>())) .Returns(Task.FromResult(response.Object)); var policy = new Base.Http.Retry.LuckyMePolicy(); var result = await policy.GetResponse(fetcher.Object, request.Object); Assert.Equal(result, response.Object); }