public void Watch_ShouldRetryOnTimeoutException() { using (var http = new HttpTest()) { http.SimulateTimeout() .SimulateTimeout() .SimulateTimeout() .RespondWithJson(Fixtures.Watch.DefaultResponse); Etcd.ClientFor(Fixtures.EtcdUrl.ToUri()) .Watch(Fixtures.Watch.Path) .SubscribeFor(1) .Wait(); http.Should() .HaveCalled( Fixtures.EtcdUrl .AppendPathSegment(Constants.Etcd.Path_Keys) .AppendPathSegment(Fixtures.Watch.Path) .SetQueryParam(Constants.Etcd.Parameter_Wait, Constants.Etcd.Parameter_True) ) .WithVerb(HttpMethod.Get) .Times(4); } }
public void ShouldThrowEtcdTimeoutException() { using (var http = new HttpTest()) { http.SimulateTimeout(); CallFixture.ShouldThrow<EtcdTimeoutException>() .And .IsTimeout.Should().BeTrue(); } }