Ejemplo n.º 1
0
        public virtual void TestFailoverBetweenMultipleStandbys()
        {
            long millisToSleep             = 10000;
            UnreliableImplementation impl1 = new UnreliableImplementation("impl1", UnreliableImplementation.TypeOfExceptionToFailWith
                                                                          .StandbyException);

            TestFailoverProxy.FlipFlopProxyProvider <UnreliableInterface> proxyProvider = new
                                                                                          TestFailoverProxy.FlipFlopProxyProvider <UnreliableInterface>(typeof(UnreliableInterface
                                                                                                                                                               ), impl1, new UnreliableImplementation("impl2", UnreliableImplementation.TypeOfExceptionToFailWith
                                                                                                                                                                                                      .StandbyException));
            UnreliableInterface unreliable = (UnreliableInterface)RetryProxy.Create <UnreliableInterface
                                                                                     >(proxyProvider, RetryPolicies.FailoverOnNetworkException(RetryPolicies.TryOnceThenFail
                                                                                                                                               , 10, 1000, 10000));

            new _Thread_328(millisToSleep, impl1).Start();
            string result = unreliable.FailsIfIdentifierDoesntMatch("renamed-impl1");

            Assert.Equal("renamed-impl1", result);
        }
Ejemplo n.º 2
0
 public _Thread_328(long millisToSleep, UnreliableImplementation impl1)
 {
     this.millisToSleep = millisToSleep;
     this.impl1         = impl1;
 }
Ejemplo n.º 3
0
 public virtual void SetUp()
 {
     unreliableImpl = new UnreliableImplementation();
 }