public void TestRestartSupervisor() { var restartSupervisorTestResults = new RestartSupervisorTestResults(); var supervisor = TestWorld.ActorFor <ISupervisor>( Definition.Has <RestartSupervisorActor>( Definition.Parameters(restartSupervisorTestResults), "restart-supervisor")); var failureControlTestResults = new FailureControlActor.FailureControlTestResults(); var failure = TestWorld.ActorFor <IFailureControl>( Definition.Has <FailureControlActor>( Definition.Parameters(failureControlTestResults), supervisor.ActorInside, "failure-for-restart")); var failureAccess = failureControlTestResults.AfterCompleting(6); var restartAccess = restartSupervisorTestResults.AfterCompleting(1); failure.Actor.FailNow(); Assert.Equal(1, restartAccess.ReadFrom <int>("informedCount")); Assert.Equal(2, failureAccess.ReadFrom <int>("beforeStartCount")); Assert.Equal(1, failureAccess.ReadFrom <int>("failNowCount")); Assert.Equal(1, failureAccess.ReadFrom <int>("afterRestartCount")); Assert.Equal(1, failureAccess.ReadFrom <int>("afterStopCount")); Assert.Equal(1, failureAccess.ReadFrom <int>("beforeRestartCount")); var afterFailureAccess = failureControlTestResults.AfterCompleting(1); failure.Actor.AfterFailure(); Assert.Equal(1, afterFailureAccess.ReadFrom <int>("afterFailureCount")); Assert.Equal(0, afterFailureAccess.ReadFrom <int>("stoppedCount")); }
public void TestRestartSupervisor() { var restartSupervisorTestResults = new RestartSupervisorTestResults(); var supervisor = TestWorld.ActorFor <ISupervisor>( Definition.Has <RestartSupervisorActor>( Definition.Parameters(restartSupervisorTestResults), "restart-supervisor")); var failureControlTestResults = new FailureControlActor.FailureControlTestResults(); var failure = TestWorld.ActorFor <IFailureControl>( Definition.Has <FailureControlActor>( Definition.Parameters(failureControlTestResults), supervisor.ActorInside, "failure-for-restart")); Assert.Equal(0, failureControlTestResults.FailNowCount.Get()); Assert.Equal(0, restartSupervisorTestResults.InformedCount.Get()); Assert.Equal(0, failureControlTestResults.AfterRestartCount.Get()); Assert.Equal(0, failureControlTestResults.AfterStopCount.Get()); Assert.Equal(0, failureControlTestResults.BeforeRestartCount.Get()); Assert.Equal(1, failureControlTestResults.BeforeStartCount.Get()); failure.Actor.FailNow(); Assert.Equal(1, failureControlTestResults.FailNowCount.Get()); Assert.Equal(1, restartSupervisorTestResults.InformedCount.Get()); Assert.Equal(1, failureControlTestResults.AfterRestartCount.Get()); Assert.Equal(1, failureControlTestResults.AfterStopCount.Get()); Assert.Equal(1, failureControlTestResults.BeforeRestartCount.Get()); Assert.Equal(2, failureControlTestResults.BeforeStartCount.Get()); Assert.Equal(0, failureControlTestResults.AfterFailureCount.Get()); failure.Actor.AfterFailure(); Assert.Equal(1, failureControlTestResults.AfterFailureCount.Get()); Assert.Equal(0, failureControlTestResults.StoppedCount.Get()); }
public RestartSupervisorActor(RestartSupervisorTestResults testResults) { this.testResults = testResults; }