Execute() public method

public Execute ( ) : bool
return bool
        public void Execute_DeploymentTypeIsUnrecognized_InstallIsNotCalled()
        {
            // Arrange
            string packageId = "Package.A";

            var userInterface = new Mock<IUserInterface>();
            var packageInstaller = new Mock<IPackageInstaller>();
            var deploymentTypeParser = new Mock<IDeploymentTypeParser>();
            deploymentTypeParser.Setup(d => d.GetDeploymentType(It.IsAny<string>())).Returns(DeploymentType.NotRecognized);

            var installCommand = new InstallCommand(userInterface.Object, packageInstaller.Object, deploymentTypeParser.Object);

            // prepare arguments
            installCommand.Arguments.Add(InstallCommand.ArgumentNameNugetPackageId, packageId);
            installCommand.Arguments.Add(InstallCommand.ArgumentNameNugetDeploymentType, "SomethingReallyWrong");

            // Act
            installCommand.Execute();

            // Assert
            packageInstaller.Verify(p => p.Install(packageId, It.IsAny<DeploymentType>(), It.IsAny<bool>(), It.IsAny<string[]>(), It.IsAny<string[]>()), Times.Never());
        }
        public void Execute_TwoSystemSettingTransformationProfilesSupplied_InstallIsCalledWithTwoTransformationProfiles()
        {
            // Arrange
            string packageId = "Package.A";
            string deploymentTypeString = "Full";
            string systemSettingTransformationProfilesString = "Profile1,Profile2";

            var userInterface = new Mock<IUserInterface>();
            var packageInstaller = new Mock<IPackageInstaller>();
            packageInstaller.Setup(
                p => p.Install(It.IsAny<string>(), It.IsAny<DeploymentType>(), It.IsAny<bool>(), It.IsAny<string[]>(), It.IsAny<string[]>())).Returns(
                    new SuccessResult());

            var deploymentTypeParser = new Mock<IDeploymentTypeParser>();
            deploymentTypeParser.Setup(d => d.GetDeploymentType(deploymentTypeString)).Returns(DeploymentType.Full);

            var installCommand = new InstallCommand(userInterface.Object, packageInstaller.Object, deploymentTypeParser.Object);

            // prepare arguments
            installCommand.Arguments.Add(InstallCommand.ArgumentNameNugetPackageId, packageId);
            installCommand.Arguments.Add(InstallCommand.ArgumentNameNugetDeploymentType, deploymentTypeString);
            installCommand.Arguments.Add(InstallCommand.ArgumentNameSystemSettingTransformationProfiles, systemSettingTransformationProfilesString);

            // Act
            installCommand.Execute();

            // Assert
            packageInstaller.Verify(
                p =>
                p.Install(
                    It.IsAny<string>(),
                    It.IsAny<DeploymentType>(),
                    It.IsAny<bool>(),
                    It.Is<string[]>(strings => strings.Length == 2 && strings.First().Equals("Profile1") && strings.Last().Equals("Profile2")),
                    It.IsAny<string[]>()),
                Times.Once());
        }
        public void Execute_NoDeploymentTypeSupplied_MessageIsWrittenToUserInterface()
        {
            // Arrange
            string packageId = "Package.A";

            var packageInstaller = new Mock<IPackageInstaller>();
            var deploymentTypeParser = new Mock<IDeploymentTypeParser>();

            var installCommand = new InstallCommand(this.loggingUserInterface.UserInterface, packageInstaller.Object, deploymentTypeParser.Object);

            // prepare arguments
            installCommand.Arguments.Add(InstallCommand.ArgumentNameNugetPackageId, packageId);

            // Act
            installCommand.Execute();

            // Assert
            Assert.IsNotNullOrEmpty(this.loggingUserInterface.UserInterfaceOutput);
        }
        public void Execute_NoValidPackageIdIsSupplied_InstallIsNotExecuted(string packageId)
        {
            // Arrange
            var userInterface = new Mock<IUserInterface>();
            var packageInstaller = new Mock<IPackageInstaller>();
            var deploymentTypeParser = new Mock<IDeploymentTypeParser>();

            var installCommand = new InstallCommand(userInterface.Object, packageInstaller.Object, deploymentTypeParser.Object);

            // prepare arguments
            installCommand.Arguments.Add(InstallCommand.ArgumentNameNugetPackageId, packageId);

            // Act
            installCommand.Execute();

            // Assert
            packageInstaller.Verify(p => p.Install(It.IsAny<string>(), It.IsAny<DeploymentType>(), It.IsAny<bool>(), It.IsAny<string[]>(), It.IsAny<string[]>()), Times.Never());
        }
        public void Execute_ForceOptionIsSet_InstallIsCalledWithForceOption()
        {
            // Arrange
            string packageId = "Package.A";
            string deploymentTypeString = "Full";

            bool expectedForceOptionValue = true;

            var userInterface = new Mock<IUserInterface>();
            var packageInstaller = new Mock<IPackageInstaller>();
            packageInstaller.Setup(
                p => p.Install(It.IsAny<string>(), It.IsAny<DeploymentType>(), It.IsAny<bool>(), It.IsAny<string[]>(), It.IsAny<string[]>())).Returns(
                    new SuccessResult());

            var deploymentTypeParser = new Mock<IDeploymentTypeParser>();
            deploymentTypeParser.Setup(d => d.GetDeploymentType(deploymentTypeString)).Returns(DeploymentType.Full);

            var installCommand = new InstallCommand(userInterface.Object, packageInstaller.Object, deploymentTypeParser.Object);

            // prepare arguments
            installCommand.Arguments.Add(InstallCommand.ArgumentNameNugetPackageId, packageId);
            installCommand.Arguments.Add(InstallCommand.ArgumentNameNugetDeploymentType, deploymentTypeString);

            installCommand.Arguments.Add(NuDeployConstants.CommonCommandOptionNameForce, bool.TrueString);

            // Act
            installCommand.Execute();

            // Assert
            packageInstaller.Verify(
                p => p.Install(It.IsAny<string>(), It.IsAny<DeploymentType>(), expectedForceOptionValue, It.IsAny<string[]>(), It.IsAny<string[]>()), Times.Once());
        }