示例#1
0
        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);
        }
示例#2
0
        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);
        }