public void InvokeFailure_RetryForbidden() { var instance = new RetryProxySubject(); var retryPolicy = new CanNotRetryProxySubjectPolicy(5, TimeSpan.FromMinutes(15)); var retryProxy = RetryProxy.Create <IRetryProxySubject>(instance, retryPolicy); try { var result = retryProxy.Fail(); } catch (RetryException ex) { Assert.IsTrue(ex.InnerException is ProxySubjectTestException); Assert.AreEqual(1, ex.RetrySession.Attempts); Assert.AreEqual(ex.RetrySession.Attempts, ex.RetrySession.Exceptions.Count); throw; } }
public async Task InvokeFailure_RetryForbiddenAsync() { var instance = new RetryProxySubject(); var retryPolicy = new CanNotRetryProxySubjectPolicy(5, TimeSpan.FromSeconds(5)); var retryProxy = RetryProxy.Create <IRetryProxySubject>(instance, retryPolicy); //Assert.ThrowsException<RetryNotAllowedException>() try { var result = await retryProxy.FailAsync(); } catch (RetryException ex) { Assert.IsTrue(ex.InnerException is ProxySubjectTestException); Assert.AreEqual(1, ex.RetrySession.Attempts); Assert.AreEqual(ex.RetrySession.Attempts, ex.RetrySession.Exceptions.Count); throw; } }