Exemple #1
0
 private void btnUpgrade_Click(object sender, RoutedEventArgs e)
 {
     if (WorkSpace.Instance.Solution != null)
     {
         Solution sol = WorkSpace.Instance.Solution;
         SolutionUpgrade.ClearPreviousScans();
         ConcurrentBag <string> lowerVersionFiles = SolutionUpgrade.GetSolutionFilesCreatedWithRequiredGingerVersion(SolutionUpgrade.GetSolutionFilesWithVersion(Solution.SolutionFiles(sol.Folder)), eGingerVersionComparisonResult.LowerVersion);
         if (lowerVersionFiles != null && lowerVersionFiles.Count > 0)
         {
             UpgradePage solutionUpgradePage = new UpgradePage(SolutionUpgradePageViewMode.UpgradeSolution, sol.Folder, sol.Name, lowerVersionFiles.ToList());
             solutionUpgradePage.ShowAsWindow();
         }
         else
         {
             Reporter.ToUser(eUserMsgKey.StaticInfoMessage, "Upgrade is not needed, all solution items were created with latest version.");
         }
     }
 }
        public void ShowUpgradeSolutionItems(SolutionUpgradePageViewMode upgradeSolution, string solutionFolder, string solutionName, List <string> list)
        {
            UpgradePage solutionUpgradePage = new UpgradePage(SolutionUpgradePageViewMode.UpgradeSolution, solutionFolder, solutionName, list);

            solutionUpgradePage.ShowAsWindow();
        }
        public void ShowUpgradeGinger(string solutionFolder, List <string> higherVersionFiles)
        {
            UpgradePage gingerUpgradePage = new UpgradePage(SolutionUpgradePageViewMode.UpgradeGinger, solutionFolder, string.Empty, higherVersionFiles);

            gingerUpgradePage.ShowAsWindow();
        }
Exemple #4
0
 private void Awake()
 {
     upgradePage = UpgradePage.Instance;
 }
Exemple #5
0
        public void RunUpgradeTest(XElement settings)
        {
            string testName = settings.Attribute("name").Value;
            string baseUrl  = settings.Attribute("baseURL").Value;
            string browser  = settings.Attribute("browser").Value;
            string userName = settings.Attribute("UserName").Value;
            string password = settings.Attribute("Password").Value;

            IWebDriver driver = StartBrowser(browser);

            Trace.WriteLine("Running TEST: '" + testName + "'");

            UpgradePage upgradePage = new UpgradePage(driver);

            upgradePage.OpenUsingUrl(baseUrl);

            upgradePage.FillAccountInfo(userName, password);

            upgradePage.ClickOnUpgradeButton();

            upgradePage.WaitForUpgradingProcessToFinish();

            upgradePage.ClickOnSeeLogsButton();

            upgradePage.WaitForLogContainer();

            Trace.WriteLine("Assert Log records: ");
            StringAssert.DoesNotContain("ERROR", upgradePage.FindElement(By.XPath(UpgradePage.UpgraderLogContainer)).Text, "PLZ check log file, it contains error messages");

            upgradePage.ClickOnVisitWebsiteButton();

            var installerPage = new InstallerPage(driver);

            installerPage.WelcomeScreen();

            LoginPage loginPage = new LoginPage(driver);

            loginPage.WaitForElement(By.XPath(ControlPanelIDs.LoginLink), 20).WaitTillVisible(20).Click();

            loginPage.WaitAndSwitchToFrame(30);

            loginPage.DoLoginUsingLoginLink(userName, password);

            loginPage.WaitAndSwitchToWindow(30);

            HostSettingsPage hostSettingsPage = new HostSettingsPage(driver);

            hostSettingsPage.OpenUsingButtons(baseUrl);

            hostSettingsPage.Click(By.XPath(HostSettingsPage.LogsTab));
            SlidingSelect.SelectByValue(driver, By.XPath("//a[contains(@id, '" + HostSettingsPage.LogFilesDropDownArrow + "')]"),
                                        By.XPath(HostSettingsPage.LogFilesDropDownList),
                                        HostSettingsPage.OptionOne,
                                        SlidingSelect.SelectByValueType.Contains);
            hostSettingsPage.WaitForElement(By.XPath(HostSettingsPage.LogContent));
            StringAssert.Contains("the script ran successfully", hostSettingsPage.FindElement(By.XPath(HostSettingsPage.LogContent)).Text, "The Log File is not empty");

            SlidingSelect.SelectByValue(driver, By.XPath("//a[contains(@id, '" + HostSettingsPage.LogFilesDropDownArrow + "')]"),
                                        By.XPath(HostSettingsPage.LogFilesDropDownList),
                                        HostSettingsPage.OptionTwo,
                                        SlidingSelect.SelectByValueType.Contains);
            hostSettingsPage.WaitForElement(By.XPath(HostSettingsPage.LogContent));
            StringAssert.DoesNotContain("ERROR", hostSettingsPage.FindElement(By.XPath(HostSettingsPage.LogContent)).Text, "The Installer Log File contains ERRORS");
        }
Exemple #6
0
        public static bool SetSolution(string SolutionFolder)
        {
            try
            {
                Reporter.ToLog(eLogLevel.INFO, string.Format("Loading the Solution '{0}'", SolutionFolder));
                mLoadingSolution = true;
                OnPropertyChanged(nameof(LoadingSolution));

                //Cleanup
                SolutionCleanup();

                //Load new Solution
                string SolFile = System.IO.Path.Combine(SolutionFolder, @"Ginger.Solution.xml");
                if (File.Exists(Amdocs.Ginger.IO.PathHelper.GetLongPath(SolFile)))
                {
                    //get Solution files
                    IEnumerable <string> solutionFiles = Solution.SolutionFiles(SolutionFolder);
                    ConcurrentBag <Tuple <SolutionUpgrade.eGingerVersionComparisonResult, string> > solutionFilesWithVersion = null;

                    //check if Ginger Upgrade is needed for loading this Solution
                    try
                    {
                        Reporter.ToLog(eLogLevel.DEBUG, "Checking if Ginger upgrade is needed for loading the Solution");
                        if (solutionFilesWithVersion == null)
                        {
                            solutionFilesWithVersion = SolutionUpgrade.GetSolutionFilesWithVersion(solutionFiles);
                        }
                        ConcurrentBag <string> higherVersionFiles = SolutionUpgrade.GetSolutionFilesCreatedWithRequiredGingerVersion(solutionFilesWithVersion, SolutionUpgrade.eGingerVersionComparisonResult.HigherVersion);
                        if (higherVersionFiles.Count > 0)
                        {
                            if (WorkSpace.Instance.RunningInExecutionMode == false && RunningFromUnitTest == false)
                            {
                                MainWindow.HideSplash();
                                UpgradePage gingerUpgradePage = new UpgradePage(SolutionUpgradePageViewMode.UpgradeGinger, SolutionFolder, string.Empty, higherVersionFiles.ToList());
                                gingerUpgradePage.ShowAsWindow();
                            }
                            Reporter.ToLog(eLogLevel.WARN, "Ginger upgrade is needed for loading the Solution, aborting Solution load.");
                            return(false);
                        }
                    }
                    catch (Exception ex)
                    {
                        Reporter.ToLog(eLogLevel.ERROR, "Error occurred while checking if Solution requires Ginger Upgrade", ex);
                    }

                    Solution sol = Solution.LoadSolution(SolFile);

                    if (sol != null)
                    {
                        WorkSpace.Instance.SolutionRepository = GingerSolutionRepository.CreateGingerSolutionRepository();
                        WorkSpace.Instance.SolutionRepository.Open(SolutionFolder);

                        WorkSpace.Instance.PlugInsManager.SolutionChanged(WorkSpace.Instance.SolutionRepository);

                        HandleSolutionLoadSourceControl(sol);

                        ValueExpression.SolutionFolder = SolutionFolder;
                        BusinessFlow.SolutionVariables = sol.Variables;
                        sol.SetReportsConfigurations();

                        WorkSpace.Instance.Solution = sol;

                        WorkSpace.Instance.UserProfile.LoadRecentAppAgentMapping();
                        AutoLogProxy.SetAccount(sol.Account);

                        //SetDefaultBusinessFlow();

                        if (!WorkSpace.Instance.RunningInExecutionMode)
                        {
                            DoSolutionAutoSaveAndRecover();
                        }

                        //Offer to upgrade Solution items to current version
                        try
                        {
                            if (WorkSpace.Instance.UserProfile.DoNotAskToUpgradeSolutions == false && WorkSpace.Instance.RunningInExecutionMode == false && RunningFromUnitTest == false)
                            {
                                if (solutionFilesWithVersion == null)
                                {
                                    solutionFilesWithVersion = SolutionUpgrade.GetSolutionFilesWithVersion(solutionFiles);
                                }
                                ConcurrentBag <string> lowerVersionFiles = SolutionUpgrade.GetSolutionFilesCreatedWithRequiredGingerVersion(solutionFilesWithVersion, SolutionUpgrade.eGingerVersionComparisonResult.LowerVersion);
                                if (lowerVersionFiles != null && lowerVersionFiles.Count > 0)
                                {
                                    MainWindow.HideSplash();
                                    UpgradePage solutionUpgradePage = new UpgradePage(SolutionUpgradePageViewMode.UpgradeSolution, sol.Folder, sol.Name, lowerVersionFiles.ToList());
                                    solutionUpgradePage.ShowAsWindow();
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Reporter.ToLog(eLogLevel.ERROR, "Error occurred while checking if Solution files should be Upgraded", ex);
                        }

                        // No need to add solution to recent if running from CLI
                        if (!WorkSpace.Instance.RunningInExecutionMode && !RunningFromUnitTest)
                        {
                            WorkSpace.Instance.UserProfile.AddSolutionToRecent(sol);
                        }
                    }
                    else
                    {
                        Reporter.ToUser(eUserMsgKey.SolutionLoadError, "Load solution from file failed.");
                        return(false);
                    }
                }
                else
                {
                    Reporter.ToUser(eUserMsgKey.BeginWithNoSelectSolution);
                    return(false);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.ERROR, "Error occurred while loading the solution", ex);
                SolutionCleanup();
                throw ex;
            }
            finally
            {
                mLoadingSolution = false;
                OnPropertyChanged(nameof(LoadingSolution));
                Reporter.ToLog(eLogLevel.INFO, string.Format("Finished Loading the Solution '{0}'", SolutionFolder));
                Mouse.OverrideCursor = null;
            }
        }