static void AddUpdatePackage (NuGetPackageOptions packageOptions, Action<string> takeScreenshot, bool isUpdate = false)
		{
			packageOptions.PrintData ();
			takeScreenshot = takeScreenshot ?? delegate {};
			var nuget = new NuGetController (takeScreenshot, isUpdate);
			nuget.Open ();
			nuget.EnterSearchText (packageOptions.PackageName, packageOptions.Version, packageOptions.IsPreRelease);
			for (int i = 0; i < packageOptions.RetryCount; i++) {
				try {
					nuget.SelectResultByPackageName (packageOptions.PackageName, packageOptions.Version);
					break;
				} catch (NuGetException) {
					if (i == packageOptions.RetryCount - 1)
						throw;
				}
			}
			nuget.ClickAdd ();
			Session.WaitForNoElement (nugetWindow);
			takeScreenshot ("NuGet-Update-Is-"+isUpdate);
			try {
				WaitForNuGet.Success (packageOptions.PackageName, isUpdate ? NuGetOperations.Update : NuGetOperations.Add);
			} catch (TimeoutException e) {
				takeScreenshot ("Wait-For-NuGet-Operation-Failed");
				throw;
			}
			takeScreenshot ("NuGet-Operation-Finished");
		}
Beispiel #2
0
        static void AddUpdatePackage(NuGetPackageOptions packageOptions, Action <string> takeScreenshot, bool isUpdate = false)
        {
            packageOptions.PrintData();
            var nuget = new NuGetController(takeScreenshot, isUpdate);

            nuget.Open();
            nuget.EnterSearchText(packageOptions.PackageName, packageOptions.Version, packageOptions.IsPreRelease);
            for (int i = 0; i < packageOptions.RetryCount; i++)
            {
                try {
                    nuget.SelectResultByPackageName(packageOptions.PackageName, packageOptions.Version);
                    break;
                } catch (NuGetException) {
                    if (i == packageOptions.RetryCount - 1)
                    {
                        throw;
                    }
                }
            }
            nuget.ClickAdd();
            Session.WaitForNoElement(nugetWindow);
            takeScreenshot("NuGet-Update-Is-" + isUpdate);
            try {
                WaitForNuGet.Success(packageOptions.PackageName, isUpdate ? NuGetOperations.Update : NuGetOperations.Add);
            } catch (TimeoutException e) {
                takeScreenshot("Wait-For-NuGet-Operation-Failed");
                throw;
            }
            takeScreenshot("NuGet-Operation-Finished");
        }
Beispiel #3
0
 public void AddPackagesTest()
 {
     CreateProject();
     NuGetController.AddPackage(new NuGetPackageOptions {
         PackageName  = "CommandLineParser",
         Version      = "2.0.257-beta",
         IsPreRelease = true
     }, this);
 }
Beispiel #4
0
 public void TestDontShowWarningWithPowerShellScripts()
 {
     CreateProject();
     NuGetController.AddPackage(new NuGetPackageOptions {
         PackageName = "Newtonsoft.Json",
     }, this);
     WaitForNuGet.Success("Newtonsoft.Json", NuGetOperations.Add, false, this);
     TakeScreenShot("NewtonSoftJson-Package-Added-Without-Warning");
 }
Beispiel #5
0
 public void TestReadmeTxtOpens()
 {
     CreateProject();
     NuGetController.AddPackage(new NuGetPackageOptions {
         PackageName  = "RestSharp",
         Version      = "105.2.3",
         IsPreRelease = true
     }, this);
     WaitForNuGetReadmeOpened();
 }
Beispiel #6
0
 public void TestReadmeTxtOpens()
 {
     CreateProject();
     NuGetController.AddPackage(new NuGetPackageOptions {
         PackageName  = "RestSharp",
         Version      = "105.0.1",
         IsPreRelease = true
     });
     Session.WaitForElement(c => c.Window().Marked("MonoDevelop.Ide.Gui.DefaultWorkbench").Property("TabControl.CurrentTab.Text", "readme.txt"));
 }
		public static void AddPackage (NuGetPackageOptions packageOptions, Action<string> takeScreenshot = null)
		{
			var nuget = new NuGetController (takeScreenshot);
			nuget.Open ();
			nuget.EnterSearchText (packageOptions.PackageName, packageOptions.Version, packageOptions.IsPreRelease);
			nuget.SelectResultByPackageName (packageOptions.PackageName, packageOptions.Version);
			nuget.ClickAdd ();
			Ide.WaitForStatusMessage (new [] {
				string.Format ("{0} successfully added.", packageOptions.PackageName)
			});
			if (takeScreenshot != null)
				takeScreenshot ("Package-Added");
		}
		static void AddUpdatePackage (NuGetPackageOptions packageOptions, Action<string> takeScreenshot, bool isUpdate)
		{
			var nuget = new NuGetController (takeScreenshot, isUpdate);
			nuget.Open ();
			nuget.EnterSearchText (packageOptions.PackageName, packageOptions.Version, packageOptions.IsPreRelease);
			nuget.SelectResultByPackageName (packageOptions.PackageName, packageOptions.Version);
			nuget.ClickAdd ();
			Ide.WaitForStatusMessage (new[] {
				string.Format ("{0} successfully {1}.", packageOptions.PackageName, isUpdate ? "updated": "added")
			});
			if (takeScreenshot != null)
				takeScreenshot ("NuGet-Operation-Finished");
		}
        static void AddUpdatePackage(NuGetPackageOptions packageOptions, Action <string> takeScreenshot, bool isUpdate)
        {
            var nuget = new NuGetController(takeScreenshot, isUpdate);

            nuget.Open();
            nuget.EnterSearchText(packageOptions.PackageName, packageOptions.Version, packageOptions.IsPreRelease);
            nuget.SelectResultByPackageName(packageOptions.PackageName, packageOptions.Version);
            nuget.ClickAdd();
            Ide.WaitForStatusMessage(new[] {
                string.Format("{0} successfully {1}.", packageOptions.PackageName, isUpdate ? "updated": "added")
            });
            if (takeScreenshot != null)
            {
                takeScreenshot("NuGet-Operation-Finished");
            }
        }
Beispiel #10
0
        public static void AddPackage(NuGetPackageOptions packageOptions, Action <string> takeScreenshot = null)
        {
            var nuget = new NuGetController(takeScreenshot);

            nuget.Open();
            nuget.EnterSearchText(packageOptions.PackageName, packageOptions.Version, packageOptions.IsPreRelease);
            nuget.SelectResultByPackageName(packageOptions.PackageName, packageOptions.Version);
            nuget.ClickAdd();
            Ide.WaitForStatusMessage(new [] {
                string.Format("{0} successfully added.", packageOptions.PackageName)
            });
            if (takeScreenshot != null)
            {
                takeScreenshot("Package-Added");
            }
        }
Beispiel #11
0
 public void TestReadmeTxtUpgradeOpens()
 {
     CreateProject();
     NuGetController.AddPackage(new NuGetPackageOptions {
         PackageName  = "RestSharp",
         Version      = "105.0.1",
         IsPreRelease = true
     }, TakeScreenShot);
     Session.WaitForElement(c => c.Window().Marked("MonoDevelop.Ide.Gui.DefaultWorkbench").Property("TabControl.CurrentTab.Text", "readme.txt"));
     Session.ExecuteCommand(FileCommands.CloseFile);
     Session.WaitForElement(IdeQuery.TextArea);
     NuGetController.UpdatePackage(new NuGetPackageOptions {
         PackageName  = "RestSharp",
         Version      = "105.1.0",
         IsPreRelease = true
     }, TakeScreenShot);
     Session.WaitForElement(c => c.Window().Marked("MonoDevelop.Ide.Gui.DefaultWorkbench").Property("TabControl.CurrentTab.Text", "readme.txt"));
 }
Beispiel #12
0
        public void TestReadmeTxtUpgradeOpens()
        {
            CreateProject();
            NuGetController.AddPackage(new NuGetPackageOptions {
                PackageName  = "RestSharp",
                Version      = "105.2.2",
                IsPreRelease = true
            }, this);
            WaitForNuGetReadmeOpened();

            Session.ExecuteCommand(FileCommands.CloseFile);
            Session.WaitForElement(IdeQuery.TextArea);
            TakeScreenShot("About-To-Update-Package");
            NuGetController.UpdatePackage(new NuGetPackageOptions {
                PackageName  = "RestSharp",
                Version      = "105.2.3",
                IsPreRelease = true
            }, this);
            WaitForNuGetReadmeOpened();
        }
Beispiel #13
0
        public void DontShowPackageUpdatesAvailable()
        {
            var templateOptions = new TemplateSelectionOptions {
                CategoryRoot     = OtherCategoryRoot,
                Category         = ".NET",
                TemplateKindRoot = GeneralKindRoot,
                TemplateKind     = "Console Project"
            };
            var projectDetails = new ProjectDetails(templateOptions);

            CreateProject(templateOptions, projectDetails);
            NuGetController.AddPackage(new NuGetPackageOptions {
                PackageName  = "CommandLineParser",
                Version      = "1.9.3.34",
                IsPreRelease = false
            }, this);

            string solutionFolder = GetSolutionDirectory();
            string solutionPath   = Path.Combine(solutionFolder, projectDetails.SolutionName + ".sln");
            var    projectPath    = Path.Combine(solutionFolder, projectDetails.ProjectName, projectDetails.ProjectName + ".csproj");

            Assert.IsTrue(File.Exists(projectPath));

            Workbench.CloseWorkspace(this);

            Workbench.OpenWorkspace(solutionPath, this);
            try {
                const string expected = "When a solution is opened and package updates are available, it don't show in status bar";
                ReproStep(expected);
                Ide.WaitForPackageUpdate();
                var failureMessage = string.Format("Expected: {0}\nActual: {1}",
                                                   expected, "When a solution is opened and package updates are available, it shows in status bar");
                ReproStep(failureMessage);
                Assert.Fail(failureMessage);
            } catch (TimeoutException) {
                Session.DebugObject.Debug("WaitForPackageUpdate throws TimeoutException as expected");
            }
            Ide.WaitForSolutionLoaded();
            TakeScreenShot("Solution-Ready");
        }
Beispiel #14
0
        public void TestDontOpenReadmeOpenedInOther()
        {
            var packageInfo = new NuGetPackageOptions {
                PackageName  = "RestSharp",
                Version      = "105.2.3",
                IsPreRelease = true
            };

            var projectDetails = CreateProject();

            NuGetController.AddPackage(packageInfo, this);
            WaitForNuGetReadmeOpened();
            Session.ExecuteCommand(FileCommands.CloseFile);

            var pclTemplateOptions = new TemplateSelectionOptions {
                CategoryRoot     = "Other",
                Category         = ".NET",
                TemplateKindRoot = "General",
                TemplateKind     = "Library"
            };
            var pclProjectDetails = ProjectDetails.ToExistingSolution(projectDetails.SolutionName,
                                                                      GenerateProjectName(pclTemplateOptions.TemplateKind));

            CreateProject(pclTemplateOptions, pclProjectDetails);
            Ide.WaitForIdeIdle(30);

            SolutionExplorerController.SelectProject(projectDetails.SolutionName, pclProjectDetails.ProjectName);
            NuGetController.AddPackage(packageInfo, this);
            try {
                WaitForNuGetReadmeOpened(false);
                var failureMessage = string.Format("Expected: {0}\nActual:{1}",
                                                   "readme.txt tab should not open", "readme.txt tab opens");
                ReproStep(failureMessage);
                Assert.Fail(failureMessage);
            } catch (TimeoutException) {
                Session.DebugObject.Debug("readme.txt tab failed to open as expected");
            }
        }
Beispiel #15
0
        public void TestLocalCopyPreservedUpdate()
        {
            var templateOptions = new TemplateSelectionOptions {
                CategoryRoot     = OtherCategoryRoot,
                Category         = ".NET",
                TemplateKindRoot = GeneralKindRoot,
                TemplateKind     = "Console Project"
            };
            var projectDetails = new ProjectDetails(templateOptions);

            CreateProject(templateOptions, projectDetails);
            NuGetController.AddPackage(new NuGetPackageOptions {
                PackageName  = "CommandLineParser",
                Version      = "1.9.7",
                IsPreRelease = false
            }, TakeScreenShot);

            string solutionFolder = GetSolutionDirectory();
            string solutionPath   = Path.Combine(solutionFolder, projectDetails.SolutionName + ".sln");
            var    projectPath    = Path.Combine(solutionFolder, projectDetails.ProjectName, projectDetails.ProjectName + ".csproj");

            Assert.IsTrue(File.Exists(projectPath));

            TakeScreenShot("About-To-Close-Solution");
            Session.ExecuteCommand(FileCommands.CloseWorkspace);
            TakeScreenShot("Closed-Solution");

            AddOrCheckLocalCopy(projectPath, true);

            Session.GlobalInvoke("MonoDevelop.Ide.IdeApp.Workspace.OpenWorkspaceItem", new FilePath(solutionPath), true);
            TakeScreenShot("Solution-Opened");
            Ide.WaitForPackageUpdate();
            TakeScreenShot("Solution-Ready");

            NuGetController.UpdateAllNuGetPackages(TakeScreenShot);

            AddOrCheckLocalCopy(projectPath, false);
        }
Beispiel #16
0
        public void TestLocalCopyPreservedUpdate()
        {
            var templateOptions = new TemplateSelectionOptions {
                CategoryRoot     = OtherCategoryRoot,
                Category         = ".NET",
                TemplateKindRoot = GeneralKindRoot,
                TemplateKind     = "Console Project"
            };
            var projectDetails = new ProjectDetails(templateOptions);

            CreateProject(templateOptions, projectDetails);
            NuGetController.AddPackage(new NuGetPackageOptions {
                PackageName  = "CommandLineParser",
                Version      = "1.9.71",
                IsPreRelease = false
            }, this);

            string solutionFolder = GetSolutionDirectory();
            string solutionPath   = Path.Combine(solutionFolder, projectDetails.SolutionName + ".sln");
            var    projectPath    = Path.Combine(solutionFolder, projectDetails.ProjectName, projectDetails.ProjectName + ".csproj");

            Assert.IsTrue(File.Exists(projectPath));

            ReproStep("Check 'Local Copy' on CommandLine package under References");

            Workbench.CloseWorkspace(this);

            AddOrCheckLocalCopy(projectPath, true);

            Workbench.OpenWorkspace(solutionPath, this);

            NuGetController.UpdateAllNuGetPackages(this);

            ReproStep("Check if CommandLine package under References has 'Local Copy' checked");
            AddOrCheckLocalCopy(projectPath, false);
        }