public void Build_WhenArgumentsAreValidAndBuildFailureIsRetriable_Retries() { var innerPolicy = new Mock <IX509ChainBuildPolicy>(MockBehavior.Strict); var policy = new RetriableX509ChainBuildPolicy(innerPolicy.Object, retryCount: 3, TimeSpan.FromMilliseconds(50)); using (var chain = new X509Chain()) using (X509Certificate2 certificate = _fixture.GetDefaultCertificate()) { innerPolicy.Setup( x => x.Build( It.Is <X509Chain>(chainArg => ReferenceEquals(chainArg, chain)), It.Is <X509Certificate2>(certArg => ReferenceEquals(certArg, certificate)))) .Returns(false); innerPolicy.Setup( x => x.Build( It.Is <X509Chain>(chainArg => ReferenceEquals(chainArg, chain)), It.Is <X509Certificate2>(certArg => ReferenceEquals(certArg, certificate)))) .Returns(false); innerPolicy.Setup( x => x.Build( It.Is <X509Chain>(chainArg => ReferenceEquals(chainArg, chain)), It.Is <X509Certificate2>(certArg => ReferenceEquals(certArg, certificate)))) .Returns(true); bool actualResult = policy.Build(chain, certificate); Assert.True(actualResult); innerPolicy.VerifyAll(); } }
public void Create_WhenCertificateIsNull_Throws() { var innerPolicy = new Mock <IX509ChainBuildPolicy>(MockBehavior.Strict); var policy = new RetriableX509ChainBuildPolicy(innerPolicy.Object, retryCount: 1, TimeSpan.Zero); using (var chain = new X509Chain()) { ArgumentNullException exception = Assert.Throws <ArgumentNullException>( () => policy.Build(chain, certificate: null)); Assert.Equal("certificate", exception.ParamName); innerPolicy.VerifyAll(); } }
public void Build_WhenBuildIsNull_Throws() { var innerPolicy = new Mock <IX509ChainBuildPolicy>(MockBehavior.Strict); var policy = new RetriableX509ChainBuildPolicy(innerPolicy.Object, retryCount: 1, TimeSpan.Zero); using (X509Certificate2 certificate = _fixture.GetDefaultCertificate()) { ArgumentNullException exception = Assert.Throws <ArgumentNullException>( () => policy.Build(chain: null, certificate)); Assert.Equal("chain", exception.ParamName); innerPolicy.VerifyAll(); } }
public void Constructor_WhenArgumentsAreValid_InitializesProperties( int expectedRetryCount, int expectedMilliseconds) { var innerPolicy = new Mock <IX509ChainBuildPolicy>(MockBehavior.Strict); TimeSpan expectedSleepInterval = TimeSpan.FromSeconds(expectedMilliseconds); var policy = new RetriableX509ChainBuildPolicy(innerPolicy.Object, expectedRetryCount, expectedSleepInterval); Assert.Same(innerPolicy.Object, policy.InnerPolicy); Assert.Equal(expectedRetryCount, policy.RetryCount); Assert.Equal(expectedSleepInterval, policy.SleepInterval); innerPolicy.VerifyAll(); }