public void TestServiceStateMachine() { Context.Configuration.AddService("my-service", "dummy-svc"); var lifecycle = new Lifecycle(Context, "my-service"); // start state -> offline lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Offline); // offline -> undeploy -> offline lifecycle.Undeploy(); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Offline); // offline -> deploy -> starting -> online lifecycle.Deploy(); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Starting); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Online); // online -> deploy -> online lifecycle.Deploy(); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Online); // online -> undeploy -> stopping -> offline lifecycle.Undeploy(); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Stopping); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Offline); }
public void TestAppStateMachine() { Context.Configuration.AddApp("my-app"); var lifecycle = new Lifecycle(Context, "my-app"); // start state -> offline lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Offline); // offline -> undeploy -> offline lifecycle.Undeploy(); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Offline); // offline -> deploy -> online lifecycle.Deploy(); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Online); // online -> deploy -> online lifecycle.Deploy(); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Online); // online -> undeploy -> offline lifecycle.Undeploy(); lifecycle.GetStatus().ShouldBe(Lifecycle.Status.Offline); }