コード例 #1
0
        public void Deploy_DoesntSucceed_Aborts()
        {
            IServiceDeploymentExecutor deploymentExecutor = Substitute.For <IServiceDeploymentExecutor>();

            deploymentExecutor.Deploy(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()).Returns(true);
            deploymentExecutor.GetDeploymentStatus(
                Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()).Returns(DeploymentStatus.Failed);

            this.sut = new SequentialDeploymentHandler(deploymentExecutor, 0);
            this.sut.Deploy(GetTestManifest(2), environment: "someEnvironment", productVersion: "someVersion");

            deploymentExecutor.Received(1).Deploy(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>());
        }
コード例 #2
0
        public void Deploy_DeploymentQueued_Waits()
        {
            IServiceDeploymentExecutor deploymentExecutor = Substitute.For <IServiceDeploymentExecutor>();

            deploymentExecutor.Deploy(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()).Returns(true);

            Stack <DeploymentStatus> statusResults = new Stack <DeploymentStatus>();

            statusResults.Push(DeploymentStatus.Succeeded);
            statusResults.Push(DeploymentStatus.Queued);

            deploymentExecutor.GetDeploymentStatus(
                Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()).Returns(x => statusResults.Pop());

            this.sut = new SequentialDeploymentHandler(deploymentExecutor, 0);
            this.sut.Deploy(GetTestManifest(1), environment: "someEnvironment", productVersion: "someVersion");

            deploymentExecutor.Received(2).GetDeploymentStatus(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>());
        }