FakePackageOperation AddFakeInstallPackageOperationWithPackage(FakeSelectedProject selectedProject, bool requireLicenseAcceptance) { FakePackageOperation operation = selectedProject.AddFakeInstallPackageOperation(); operation.FakePackage.RequireLicenseAcceptance = requireLicenseAcceptance; return(operation); }
public void ManagePackagesForSelectedProjects_FirstProjectIsSelectedAndTwoPackageOperationsRequireLicenseAcceptance_UserPromptedToAcceptLicensesForTwoPackages() { CreateViewModel(); CreateTwoFakeSelectedProjects(); FirstFakeSelectedProject.IsSelected = true; FakePackageOperation firstOperation = AddFakeInstallPackageOperationWithPackageThatRequiresLicenseAcceptance(FirstFakeSelectedProject); FakePackageOperation secondOperation = AddFakeInstallPackageOperationWithPackageThatRequiresLicenseAcceptance(FirstFakeSelectedProject); fakePackageManagementEvents.OnAcceptLicensesReturnValue = false; viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects); var expectedPackages = new FakePackage[] { firstOperation.FakePackage, secondOperation.FakePackage }; List <IPackage> actualPackages = fakePackageManagementEvents.GetPackagesPassedToOnAcceptLicensesAsList(); CollectionAssert.AreEqual(expectedPackages, actualPackages); }
FakePackageOperation AddFakeUninstallPackageOperationWithPackageThatRequiresLicenseAcceptance(FakeSelectedProject selectedProject) { FakePackageOperation uninstallOperation = selectedProject.AddFakeUninstallPackageOperation(); uninstallOperation.FakePackage.RequireLicenseAcceptance = true; return(uninstallOperation); }
public PackageOperation AddOneFakeUninstallPackageOperation() { var package = new FakePackage("PackageToUninstall"); var operation = new FakePackageOperation(package, PackageAction.Uninstall); FakeSolution.FakeProjectToReturnFromGetProject.FakeInstallOperations.Add(operation); return(operation); }
FakePackageOperation AddFakeInstallPackageOperationWithPackage(PackageManagementSelectedProject selectedProject, bool requireLicenseAcceptance) { var project = selectedProject.Project as FakePackageManagementProject; FakePackageOperation operation = project.AddFakeInstallOperation(); operation.FakePackage.RequireLicenseAcceptance = requireLicenseAcceptance; return(operation); }
FakePackageOperation AddFakeUninstallPackageOperationWithPackageThatRequiresLicenseAcceptance(PackageManagementSelectedProject selectedProject) { var project = selectedProject.Project as FakePackageManagementProject; FakePackageOperation uninstallOperation = project.AddFakeUninstallOperation(); uninstallOperation.FakePackage.RequireLicenseAcceptance = true; return(uninstallOperation); }
public PackageOperation AddOneFakeInstallPackageOperationForViewModelPackage() { var operation = new FakePackageOperation(FakePackage, PackageAction.Install); FakeSolution .FakeProjectToReturnFromGetProject .FakeInstallOperations .Add(operation); return(operation); }
public void HasPackageScriptsToRun_ProjectHasOnePackageOperation_DoesNotThrowNullReferenceException() { CreateAction(); FakePackage package = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); var operation = new FakePackageOperation(package, PackageAction.Install); action.PackageId = package.Id; action.PackageVersion = package.Version; fakeProject.FakeInstallOperations.Add(operation); Assert.DoesNotThrow(() => action.HasPackageScriptsToRun()); }
public void HasPackageScriptsToRun_ProjectHasOnePackageOperation_PackageLocated() { CreateAction(); FakePackage expectedPackage = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); var operation = new FakePackageOperation(expectedPackage, PackageAction.Install); action.PackageId = expectedPackage.Id; action.PackageVersion = expectedPackage.Version; fakeProject.FakeInstallOperations.Add(operation); bool hasPackageScripts = action.HasPackageScriptsToRun(); IPackage actualPackage = action.Package; Assert.AreEqual(expectedPackage, actualPackage); }
public void Execute_ProjectHasOnePackageInstallOperationThatHasALicenseToBeAccepted_PackagesPassedToLicenseAcceptanceService() { CreateAction(); FakePackage expectedPackage = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); expectedPackage.RequireLicenseAcceptance = true; var expectedPackages = new IPackage [] { expectedPackage }; var operation = new FakePackageOperation(expectedPackage, PackageAction.Install); action.PackageId = expectedPackage.Id; action.PackageVersion = expectedPackage.Version; fakeProject.FakeInstallOperations.Add(operation); action.Execute(); PackageCollectionAssert.AreEqual(expectedPackages, action.LicenseAcceptanceService.PackagesAccepted); }
public void ManagePackagesForSelectedProjects_OneInstallPackageOperationsRequiresLicenseAcceptanceButIsInstalledInSolutionAlready_UserIsNotPromptedToAcceptLicense() { CreateViewModel(); CreateTwoFakeSelectedProjects(); FirstFakeSelectedProject.IsSelected = true; FakePackageOperation installOperation = AddFakeInstallPackageOperationWithPackageThatRequiresLicenseAcceptance(FirstFakeSelectedProject); fakeSolution.FakeInstalledPackages.Add(installOperation.FakePackage); fakePackageManagementEvents.OnAcceptLicensesReturnValue = false; viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects); Assert.IsFalse(fakePackageManagementEvents.IsOnAcceptLicensesCalled); }
public void ManagePackagesForSelectedProjects_FirstProjectIsSelectedAndPackageOperationRequiresLicenseAcceptance_PackageInViewModelUsedToGetPackageOperations() { CreateViewModel(); CreateTwoFakeSelectedProjects(); FakeSelectedProject selectedProject = fakeSelectedProjects[0]; selectedProject.IsSelected = true; FakePackageOperation operation = selectedProject.AddFakeInstallPackageOperation(); operation.FakePackage.RequireLicenseAcceptance = true; fakePackageManagementEvents.OnAcceptLicensesReturnValue = false; viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects); IPackage actualPackage = selectedProject.FakeProject.PackagePassedToGetInstallPackageOperations; Assert.AreEqual(fakePackage, actualPackage); }
public void ManagePackagesForSelectedProjects_FirstProjectIsSelectedAndPackageOperationRequiresLicenseAcceptance_PrereleaseVersionsAreNotAllowed() { CreateViewModel(); CreateTwoFakeSelectedProjects(); FakeSelectedProject selectedProject = fakeSelectedProjects[0]; selectedProject.IsSelected = true; FakePackageOperation operation = selectedProject.AddFakeInstallPackageOperation(); operation.FakePackage.RequireLicenseAcceptance = true; fakePackageManagementEvents.OnAcceptLicensesReturnValue = false; viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects); bool allowed = selectedProject.FakeProject.AllowPrereleaseVersionsPassedToGetInstallPackageOperations; Assert.IsFalse(allowed); }
public void Execute_ProjectHasOnePackageInstallOperationThatHasALicenseToBeAcceptedAndLicensesNotAccepted_ExceptionThrown() { CreateAction(); FakePackage expectedPackage = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); expectedPackage.RequireLicenseAcceptance = true; var operation = new FakePackageOperation(expectedPackage, PackageAction.Install); action.PackageId = expectedPackage.Id; action.PackageVersion = expectedPackage.Version; fakeProject.FakeInstallOperations.Add(operation); packageManagementEvents.AcceptLicenses += (sender, e) => { e.IsAccepted = false; }; Exception ex = Assert.Throws(typeof(ApplicationException), () => action.Execute()); Assert.AreEqual("Licenses not accepted.", ex.Message); }
public void Execute_ProjectHasOnePackageInstallOperationThatHasALicenseToBeAcceptedAndLicensesNotAccepted_LicenseAcceptanceServiceUsedAndExceptionThrown() { CreateAction(); FakePackage expectedPackage = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); expectedPackage.RequireLicenseAcceptance = true; var expectedPackages = new IPackage [] { expectedPackage }; var operation = new FakePackageOperation(expectedPackage, PackageAction.Install); action.PackageId = expectedPackage.Id; action.PackageVersion = expectedPackage.Version; fakeProject.FakeInstallOperations.Add(operation); action.LicenseAcceptanceService.AcceptLicensesReturnValue = false; Exception ex = Assert.Throws(typeof(ApplicationException), () => action.Execute()); Assert.AreEqual("Licenses not accepted.", ex.Message); PackageCollectionAssert.AreEqual(expectedPackages, action.LicenseAcceptanceService.PackagesAccepted); }
public void Execute_ProjectHasOnePackageInstallOperationThatHasALicenseToBeAcceptedButPackageInstalledAlready_NoAcceptLicensesEventIsRaised() { CreateAction(); FakePackage expectedPackage = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); expectedPackage.RequireLicenseAcceptance = true; var operation = new FakePackageOperation(expectedPackage, PackageAction.Install); action.PackageId = expectedPackage.Id; action.PackageVersion = expectedPackage.Version; fakeProject.FakeInstallOperations.Add(operation); fakeProject.FakePackages.Add(expectedPackage); bool acceptLicensesEventRaised = false; packageManagementEvents.AcceptLicenses += (sender, e) => { acceptLicensesEventRaised = true; }; action.Execute(); Assert.IsFalse(acceptLicensesEventRaised); }
public void ManagePackagesForSelectedProjects_FirstProjectIsSelectedAndPackageOperationRequiresLicenseAcceptance_UserPromptedToAcceptLicenses() { CreateViewModel(); CreateTwoFakeSelectedProjects(); FakeSelectedProject selectedProject = fakeSelectedProjects[0]; selectedProject.IsSelected = true; FakePackageOperation operation = selectedProject.AddFakeInstallPackageOperation(); operation.FakePackage.RequireLicenseAcceptance = true; fakePackageManagementEvents.OnAcceptLicensesReturnValue = false; viewModel.ManagePackagesForSelectedProjects(fakeSelectedProjects); var expectedPackages = new FakePackage[] { operation.FakePackage }; List <IPackage> actualPackages = fakePackageManagementEvents.GetPackagesPassedToOnAcceptLicensesAsList(); CollectionAssert.AreEqual(expectedPackages, actualPackages); }
public void Execute_UpdateIfPackageDoesNotExistInProjectSetToFalseAndPackageDoesNotExistInProjectAndPackageRequiresLicenseAcceptance_PackageLicenseAcceptanceIsNotRequested() { CreateSolution(); var package = new FakePackage("Test") { RequireLicenseAcceptance = true }; action.Package = package; var operation = new FakePackageOperation(package, PackageAction.Install); action.PackageId = package.Id; action.PackageVersion = package.Version; fakeProject.FakeInstallOperations.Add(operation); action.UpdateIfPackageDoesNotExistInProject = false; action.Execute(); bool updated = fakeProject.IsUpdatePackageCalled; Assert.IsFalse(updated); Assert.IsNull(action.LicenseAcceptanceService.PackagesAccepted); }
public void Execute_ProjectHasOnePackageInstallOperationThatHasALicenseToBeAccepted_AcceptLicensesEventRaised() { CreateAction(); FakePackage expectedPackage = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); expectedPackage.RequireLicenseAcceptance = true; var expectedPackages = new IPackage [] { expectedPackage }; var operation = new FakePackageOperation(expectedPackage, PackageAction.Install); action.PackageId = expectedPackage.Id; action.PackageVersion = expectedPackage.Version; fakeProject.FakeInstallOperations.Add(operation); List <IPackage> actualPackages = null; packageManagementEvents.AcceptLicenses += (sender, e) => { e.IsAccepted = true; actualPackages = e.Packages.ToList(); }; action.Execute(); PackageCollectionAssert.AreEqual(expectedPackages, actualPackages); }
public void Execute_PackageBeingInstalledHasPowerShellScripts_WarningAboutPowerShellScriptsIsLogged() { CreateAction(); FakePackage expectedPackage = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); expectedPackage.AddFile(@"tools\init.ps1"); var operation = new FakePackageOperation(expectedPackage, PackageAction.Install); action.PackageId = expectedPackage.Id; action.PackageVersion = expectedPackage.Version; fakeProject.FakeInstallOperations.Add(operation); string messageLogged = null; packageManagementEvents.PackageOperationMessageLogged += (sender, e) => { if (e.Message.Level == MessageLevel.Warning) { messageLogged = e.Message.ToString(); } }; action.Execute(); Assert.AreEqual("Test Package contains PowerShell scripts which will not be run.", messageLogged); }
public void Execute_PackageBeingInstalledHasPowerShellScripts_MessageAboutPowerShellScriptsIsLogged() { CreateAction(); FakePackage expectedPackage = fakeProject.FakeSourceRepository.AddFakePackageWithVersion("Test", "1.0"); expectedPackage.AddFile(@"tools\init.ps1"); var operation = new FakePackageOperation(expectedPackage, PackageAction.Install); action.PackageId = expectedPackage.Id; action.PackageVersion = expectedPackage.Version; fakeProject.FakeInstallOperations.Add(operation); var messagesLogged = new List <string> (); packageManagementEvents.PackageOperationMessageLogged += (sender, e) => { if (e.Message.Level == MessageLevel.Info) { messagesLogged.Add(e.Message.ToString()); } }; action.Execute(); Assert.That(messagesLogged, Contains.Item("WARNING: Test Package contains PowerShell scripts which will not be run.")); }