Пример #1
0
        FakeInstallPackageAction RunInstallActionWithOneOperation()
        {
            FakeInstallPackageAction action = CreateInstallActionWithOneOperation();

            runner.Run(action);
            return(action);
        }
Пример #2
0
        FakeInstallPackageAction CreateInstallAction()
        {
            var project = new FakePackageManagementProject();
            var action  = new FakeInstallPackageAction(project);

            action.Operations = new PackageOperation[0];
            return(action);
        }
 void CreateCmdletWithoutActiveProject()
 {
     cmdlet = new TestableInstallPackageCmdlet();
     fakeTerminatingError     = cmdlet.FakeCmdletTerminatingError;
     fakeConsoleHost          = cmdlet.FakePackageManagementConsoleHost;
     fakeProject              = fakeConsoleHost.FakeProject;
     fakeInstallPackageAction = fakeProject.FakeInstallPackageAction;
 }
        void CreateInstallActionWithNoPowerShellScripts()
        {
            var fakeProject = new FakePackageManagementProject();

            fakeAction            = new FakeInstallPackageAction(fakeProject);
            fakeAction.Operations = new PackageOperation[0];
            fakeActions.Add(fakeAction);
        }
Пример #5
0
        FakeInstallPackageAction AddInstallAction()
        {
            var project = new FakePackageManagementProject();
            var action  = new FakeInstallPackageAction(project);

            actionsToRun.AddAction(action);
            return(action);
        }
        FakeInstallPackageAction AddInstallAction()
        {
            var action = new FakeInstallPackageAction(new FakePackageManagementProject(), packageManagementEvents);

            action.Operations = new List <PackageOperation> ();
            action.Logger     = new FakeLogger();
            actions.Add(action);
            return(action);
        }
Пример #7
0
        public void Run_ConsoleHostIsRunning_ActionAddedToPackageActionsToBeRun()
        {
            CreateRunner();
            ConsoleHostIsRunning();
            FakeInstallPackageAction expectedAction = RunInstallActionWithOneOperation();

            IPackageAction actionAdded = GetNextActionToRun();

            Assert.AreEqual(expectedAction, actionAdded);
        }
Пример #8
0
        FakeInstallPackageAction CreateInstallActionWithOneOperation()
        {
            var operations = new PackageOperation[] {
                new PackageOperation(new FakePackage(), PackageAction.Install)
            };
            FakeInstallPackageAction action = CreateInstallAction();

            action.Operations = operations;
            return(action);
        }
Пример #9
0
        public void ProcessRecord_OnePackageActionToRun_PackageActionScriptRunnerIsCmdlet()
        {
            CreateCmdlet();
            FakeInstallPackageAction action = AddInstallAction();

            RunCmdlet();

            IPackageScriptRunner runner = action.PackageScriptRunner;

            Assert.AreEqual(cmdlet, runner);
        }
Пример #10
0
        public void ProcessRecord_OnePackageActionToRun_PackageActionIsRun()
        {
            CreateCmdlet();
            FakeInstallPackageAction action = AddInstallAction();

            RunCmdlet();

            bool run = action.IsExecuteCalled;

            Assert.IsTrue(run);
        }
        public void Run_TwoActions_BothActionsExecuted()
        {
            CreateRunner();
            FakeInstallPackageAction   action1 = AddInstallAction();
            FakeUninstallPackageAction action2 = AddUninstallAction();

            Run();

            Assert.IsTrue(action1.IsExecuteCalled);
            Assert.IsTrue(action2.IsExecuted);
        }
 void CreateViewModel(FakePackageManagementSolution solution)
 {
     viewModel                   = new TestablePackageViewModel(solution);
     fakePackage                 = viewModel.FakePackage;
     this.fakeSolution           = solution;
     fakePackageManagementEvents = viewModel.FakePackageManagementEvents;
     fakeLogger                  = viewModel.FakeLogger;
     fakeInstallPackageAction    = solution.FakeProjectToReturnFromGetProject.FakeInstallPackageAction;
     fakeUninstallPackageAction  = solution.FakeProjectToReturnFromGetProject.FakeUninstallPackageAction;
     fakeActionRunner            = viewModel.FakeActionRunner;
 }
        IEnumerable <PackageOperation> GetInstallPackageOperations(
            FakePackage package,
            bool ignoreDependencies,
            bool allowPrereleaseVersions)
        {
            var fakeInstallAction = new FakeInstallPackageAction();

            fakeInstallAction.IgnoreDependencies      = ignoreDependencies;
            fakeInstallAction.AllowPrereleaseVersions = allowPrereleaseVersions;
            return(packageManager.GetInstallPackageOperations(package, fakeInstallAction));
        }
        FakePackage InstallPackageWithPackageOperations(PackageOperation operation)
        {
            var operations = new PackageOperation[] {
                operation
            };
            FakePackage package       = CreateFakePackage();
            var         installAction = new FakeInstallPackageAction();

            installAction.Operations = operations;
            packageManager.InstallPackage(package, installAction);
            return(package);
        }
        void AddInstallActionWithPowerShellScript(string packageId = "Test")
        {
            FakeInstallPackageAction action = AddInstallAction();
            var package = new FakePackage(packageId);

            package.AddFile(@"tools\install.ps1");
            var operations = new List <PackageOperation> ();

            operations.Add(new PackageOperation(package, PackageAction.Install));
            action.Operations = operations;
            action.Package    = package;
        }
        FakePackage InstallPackageWithNoPackageOperations(bool ignoreDependencies, bool allowPrereleaseVersions)
        {
            FakePackage package       = CreateFakePackage();
            var         operations    = new List <PackageOperation>();
            var         installAction = new FakeInstallPackageAction();

            installAction.IgnoreDependencies      = ignoreDependencies;
            installAction.AllowPrereleaseVersions = allowPrereleaseVersions;
            installAction.Operations = operations;
            packageManager.InstallPackage(package, installAction);
            return(package);
        }
        public void Run_OneInstallActionNoCustomMSBuildTask_TypeSystemIsNotRefreshed()
        {
            CreateRunner();
            FakeInstallPackageAction action = AddInstallActionWithPowerShellScript();

            action.ExecuteAction = () => {
                packageManagementEvents.OnParentPackageInstalled(action.Package, action.Project, action.Operations);
            };

            Run();

            Assert.IsFalse(runner.EventsMonitor.IsTypeSystemRefreshed);
        }
        void AddInstallActionWithLicenseToAccept(string packageId = "Test")
        {
            FakeInstallPackageAction action = AddInstallAction();
            var package = new FakePackage(packageId)
            {
                RequireLicenseAcceptance = true
            };
            var operations = new List <PackageOperation> ();

            operations.Add(new PackageOperation(package, PackageAction.Install));
            action.Operations = operations;
            action.Package    = package;
        }
        public void Run_OneUninstallActionWithPackageOperationWithCustomMSBuildTask_TypeSystemIsNotRefreshed()
        {
            CreateRunner();
            FakeInstallPackageAction action = AddInstallActionWithMSBuildTargetsFile("Test", PackageAction.Uninstall);

            action.ExecuteAction = () => {
                packageManagementEvents.OnParentPackageInstalled(action.Package, action.Project, action.Operations);
            };

            Run();

            Assert.IsFalse(runner.EventsMonitor.IsTypeSystemRefreshed);
        }
        public void AddPackage_PackageAddedSuccessfully_PackageOperationsUsedWhenInstallingPackage()
        {
            CreateViewModel();
            viewModel.AddOneFakeInstallPackageOperationForViewModelPackage();
            viewModel.AddPackage();

            PackageOperation[] expectedOperations = new PackageOperation[] {
                new PackageOperation(fakePackage, PackageAction.Install)
            };

            FakeInstallPackageAction action = fakeSolution.FakeProjectToReturnFromGetProject.LastInstallPackageCreated;

            CollectionAssert.AreEqual(expectedOperations, action.Operations);
        }
        FakeInstallPackageAction AddInstallActionWithMSBuildTargetsFile(
            string packageId            = "Test",
            PackageAction packageAction = PackageAction.Install)
        {
            FakeInstallPackageAction action = AddInstallAction();
            var package = new FakePackage(packageId);

            package.AddFile(@"build\net40\" + packageId + ".targets");
            var operations = new List <PackageOperation> ();

            operations.Add(new PackageOperation(package, packageAction));
            action.Operations = operations;
            action.Package    = package;
            return(action);
        }
        public void Run_OneInstallActionWithPackageOperationWithCustomMSBuildTask_TypeSystemIsRefreshed()
        {
            CreateRunner();
            FakeInstallPackageAction action = AddInstallActionWithMSBuildTargetsFile();

            action.ExecuteAction = () => {
                packageManagementEvents.OnParentPackageInstalled(action.Package, action.Project, action.Operations);
            };

            Run();

            Assert.IsTrue(runner.EventsMonitor.IsTypeSystemRefreshed);
            Assert.AreEqual(action.Project, runner.EventsMonitor.ProjectsPassedToReconnectAssemblyReferences [0]);
            Assert.IsNotNull(action.Project);
        }
        public void InstallPackage_OldPackageReferenceIsRemovedOnInstalling_OldPackageIsUninstalled()
        {
            CreatePackageManager();
            var fakeProjectManager = MockRepository.GenerateStub <ISharpDevelopProjectManager>();

            packageManager.ProjectManager = fakeProjectManager;
            FakePackage installedPackage = fakeSolutionSharedRepository.AddFakePackageWithVersion("MyPackage", "1.0");
            FakePackage newPackage       = fakeFeedSourceRepository.AddFakePackageWithVersion("MyPackage", "1.1");
            var         eventArgs        = new PackageOperationEventArgs(installedPackage, null, null);

            RaisePackageRemovedEventWhenPackageReferenceAdded(fakeProjectManager, newPackage, eventArgs);
            var installAction = new FakeInstallPackageAction {
                Operations = new List <PackageOperation>()
            };

            packageManager.InstallPackage(newPackage, installAction);

            Assert.IsFalse(fakeSolutionSharedRepository.FakePackages.Contains(installedPackage));
        }
        public void InstallPackage_OldPackageReferenceIsRemovedOnInstallingButOtherProjectsReferencesOldPackage_OldPackageIsNotUninstalled()
        {
            CreatePackageManager();
            var fakeProjectManager = new FakeProjectManager();

            packageManager.ProjectManager = fakeProjectManager;
            FakePackage installedPackage = fakeSolutionSharedRepository.AddFakePackageWithVersion("MyPackage.Core", "1.0");
            FakePackage newPackage       = fakeFeedSourceRepository.AddFakePackageWithVersion("MyPackage", "1.1");

            fakeSolutionSharedRepository.PackageIdsReferences.Add("MyPackage.Core");
            var eventArgs = new PackageOperationEventArgs(installedPackage, null, null);

            RaisePackageRemovedEventWhenPackageReferenceAdded(fakeProjectManager, newPackage, eventArgs);
            var installAction = new FakeInstallPackageAction {
                Operations = new List <PackageOperation> ()
            };

            packageManager.InstallPackage(newPackage, installAction);

            Assert.IsTrue(fakeSolutionSharedRepository.FakePackages.Contains(installedPackage));
        }
Пример #25
0
 FakeInstallPackageAction CreateFakeInstallAction()
 {
     fakeInstallAction = new FakeInstallPackageAction();
     return(fakeInstallAction);
 }
        void AddInstallActionWithCustomExecuteAction(Action executeAction)
        {
            FakeInstallPackageAction action = AddInstallAction();

            action.ExecuteAction = executeAction;
        }