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()); }