Ejemplo n.º 1
0
        public static SolutionRepository CreateGingerSolutionRepository()
        {
            SolutionRepository SR = new SolutionRepository();


            // TODO: replace ~\ with ~ env.seperator !!!!!!!!!!
            SR.AddItemInfo <BusinessFlow>("*.Ginger.BusinessFlow.xml", @"~\BusinessFlows", true, GingerDicser.GetTermResValue(eTermResKey.BusinessFlows), PropertyNameForFileName: nameof(BusinessFlow.Name));

            SR.AddItemInfo <ApplicationAPIModel>("*.Ginger.ApplicationAPIModel.xml", @"~\Applications Models\API Models", true, "API Models", PropertyNameForFileName: nameof(ApplicationAPIModel.Name));
            SR.AddItemInfo <GlobalAppModelParameter>("*.Ginger.GlobalAppModelParameter.xml", @"~\Applications Models\Global Models Parameters", true, "Global Model Parameters", PropertyNameForFileName: nameof(GlobalAppModelParameter.PlaceHolder));
            SR.AddItemInfo <ApplicationPOMModel>("*.Ginger.ApplicationPOMModel.xml", @"~\Applications Models\POM Models", true, "POM Models", PropertyNameForFileName: nameof(ApplicationPOMModel.Name));

            SR.AddItemInfo <ProjEnvironment>("*.Ginger.Environment.xml", @"~\Environments", true, "Environments", PropertyNameForFileName: nameof(ProjEnvironment.Name));
            SR.AddItemInfo <ALMDefectProfile>("*.Ginger.ALMDefectProfile.xml", @"~\ALMDefectProfiles", true, "ALM Defect Profiles", PropertyNameForFileName: nameof(ALMDefectProfile.Name));

            SR.AddItemInfo <Agent>("*.Ginger.Agent.xml", @"~\Agents", true, "Agents", PropertyNameForFileName: nameof(Agent.Name));

            SR.AddItemInfo <HTMLReportConfiguration>("*.Ginger.HTMLReportConfiguration.xml", @"~\HTMLReportConfigurations", true, "HTMLReportConfigurations", PropertyNameForFileName: nameof(HTMLReportsConfiguration.Name));
            //SR.AddItemInfo<HTMLReportTemplate>("*.Ginger.HTMLReportTemplate.xml", @"~\HTMLReportConfigurations\HTMLReportTemplate", true, "HTMLReportTemplate", PropertyNameForFileName: nameof(HTMLReportTemplate.Name));
            //SR.AddItemInfo<ReportTemplate>("*.Ginger.ReportTemplate.xml", @"~\HTMLReportConfigurations\ReportTemplates", true, "ReportTemplates", PropertyNameForFileName: nameof(ReportTemplate.Name));

            SR.AddItemInfo <DataSourceBase>("*.Ginger.DataSource.xml", @"~\DataSources", true, "Data Sources", PropertyNameForFileName: nameof(DataSourceBase.Name));

            SR.AddItemInfo <PluginPackage>("*.Ginger.PluginPackage.xml", @"~\Plugins", true, "Plugins", PropertyNameForFileName: nameof(PluginPackage.PluginId));

            SR.AddItemInfo <ActivitiesGroup>("*.Ginger.ActivitiesGroup.xml", @"~\SharedRepository\ActivitiesGroup", true, GingerDicser.GetTermResValue(eTermResKey.ActivitiesGroups, "Shared "), PropertyNameForFileName: nameof(ActivitiesGroup.Name));
            SR.AddItemInfo <Activity>("*.Ginger.Activity.xml", @"~\SharedRepository\Activities", true, GingerDicser.GetTermResValue(eTermResKey.Activities, "Shared "), PropertyNameForFileName: nameof(Activity.ActivityName));
            SR.AddItemInfo <Act>("*.Ginger.Action.xml", @"~\SharedRepository\Actions", true, "Shared Actions", PropertyNameForFileName: nameof(Act.Description));
            SR.AddItemInfo <VariableBase>("*.Ginger.Variable.xml", @"~\SharedRepository\Variables", true, GingerDicser.GetTermResValue(eTermResKey.Variables, "Shared "), PropertyNameForFileName: nameof(VariableBase.Name));

            SR.AddItemInfo <RunSetConfig>("*.Ginger.RunSetConfig.xml", @"~\RunSetConfigs", true, GingerDicser.GetTermResValue(eTermResKey.RunSets), PropertyNameForFileName: nameof(RunSetConfig.Name));

            return(SR);
        }
Ejemplo n.º 2
0
        public static void ClassInitialize(TestContext TC)
        {
            string path = TestResources.GetTestResourcesFolder(@"Solutions" + Path.DirectorySeparatorChar + "AnalyzerTestSolution");

            SR = WorkspaceHelper.CreateWorkspaceAndOpenSolution(path);
            SR.StopAllRepositoryFolderWatchers();
        }
Ejemplo n.º 3
0
        public void CloseSolution()
        {
            //Do cleanup
            if (SolutionRepository != null)
            {
                PlugInsManager.CloseAllRunningPluginProcesses();
                CloseAllRunningAgents();
                CloseAllEnvironments();
                SolutionRepository.StopAllRepositoryFolderWatchers();
                if (!RunningInExecutionMode)
                {
                    AppSolutionAutoSave.SolutionAutoSaveEnd();
                }
            }

            //Reset values
            if (!DoNotResetWorkspaceArgsOnClose)
            {
                mPluginsManager    = new PluginsManager();
                SolutionRepository = null;
                SourceControl      = null;
                Solution           = null;
            }

            EventHandler.SolutionClosed();
        }
Ejemplo n.º 4
0
        private void OpenSolution()
        {
            Console.WriteLine("Solution Folder?");
            string sFolder = Console.ReadLine();

            if (Directory.Exists(sFolder))
            {
                Console.WriteLine("Opening Solution at folder: " + sFolder);

                SR = GingerSolutionRepository.CreateGingerSolutionRepository();

                WorkSpace.Instance.SolutionRepository = SR;
                SR.Open(sFolder);
                IEnumerable <RepositoryFile> files = SR.GetAllSolutionRepositoryFiles().ToList();
                Console.WriteLine("Files count = " + files.Count());

                Console.WriteLine("Ginger Menu - Solution: " + sFolder);

                OpenSolutionMenuItem.Active       = false;
                CloseSolutionMenuItem.Active      = true;
                BusinessFlowsCountMenuItem.Active = true;
                BusinessFlowsListMenuItem.Active  = true;
                EnvironmentsListMenuItem.Active   = true;
                RunBusinessFlowMenuItem.Active    = true;
                RunSetMenuItem.Active             = true;
            }
            else
            {
                Console.WriteLine("Directory not found: " + sFolder);
            }
        }
Ejemplo n.º 5
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            var logger = new CmdletLoggerPS(this, false);

            try
            {
                var generatedFiles = new List <string>();

                var solutionRepository  = new SolutionRepository(new CrmServiceClient(ConnectionString), logger);
                var solutionAuditor     = new CrmAuditor(solutionRepository, logger);
                var publishersToInclude = RequiredPublishers.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries).ToList();


                var crmInstance = solutionAuditor.AuditCrmInstance(InstanceName, publishersToInclude);

                logger.Verbose("About to generate HTML report");
                var htmlWriter = new HtmlReport(OutputDir);
                var htmlFiles  = htmlWriter.SaveSolutionAudit(crmInstance);
                generatedFiles.Add(htmlFiles.First(x => x.Contains("Home_")));
                logger.Verbose("HTML report completed");

                if (GenerateExcelReport)
                {
                    logger.Verbose("About to generate Excel report");
                    var excelWriter = new ExcelReport(OutputDir);
                    generatedFiles.AddRange(excelWriter.SaveSolutionAudit(crmInstance));
                    logger.Verbose("Excel report completed");
                }

                if (GenerateJsonReport)
                {
                    logger.Verbose("About to generate JSON report");
                    var jsonWriter = new JsonReport(OutputDir);
                    generatedFiles.AddRange(jsonWriter.SaveSolutionAudit(crmInstance));
                    logger.Verbose("JSON report completed");
                }

                if (GenerateXmlReport)
                {
                    logger.Verbose("About to generate XML report");
                    var xmlWriter = new XmlReport(OutputDir);
                    generatedFiles.AddRange(xmlWriter.SaveSolutionAudit(crmInstance));
                    logger.Verbose("XML report completed");
                }

                if (!string.IsNullOrWhiteSpace(SendGridKey) && !string.IsNullOrWhiteSpace(ReportsToRecipients))
                {
                    SendReportsToRecipients(SendGridKey, ReportsToRecipients, crmInstance.Name.Replace(".dynamics.com", ""), generatedFiles, ReportName);
                }
            }
            catch (Exception exception)
            {
                var errorMessage = $"Dynamics365 solution audit failed: {exception.Message}";
                logger.Verbose(errorMessage);
                logger.Error(errorMessage);
                throw;
            }
        }
Ejemplo n.º 6
0
        public static void ClassInitialize(TestContext TC)
        {
            solutionName = "ActionConversionSol";
            CreateTestSolution();

            // Use helper !!!!!

            // Creating workspace
            WorkSpace.Init(new WorkSpaceEventHandler());
            WorkSpace.Instance.SolutionRepository = GingerSolutionRepository.CreateGingerSolutionRepository();

            // Init SR
            mSolutionRepository = WorkSpace.Instance.SolutionRepository;
            Ginger.App.InitClassTypesDictionary();
            string TempRepositoryFolder = TestResources.GetTestTempFolder(@"Solutions\" + solutionName);

            mSolutionRepository.Open(TempRepositoryFolder);

            Ginger.SolutionGeneral.Solution sol = new Ginger.SolutionGeneral.Solution();
            sol.ApplicationPlatforms = new ObservableList <GingerCoreNET.SolutionRepositoryLib.RepositoryObjectsLib.PlatformsLib.ApplicationPlatform>();
            sol.ApplicationPlatforms.Add(new GingerCoreNET.SolutionRepositoryLib.RepositoryObjectsLib.PlatformsLib.ApplicationPlatform()
            {
                AppName  = "Web-App",
                Platform = GingerCoreNET.SolutionRepositoryLib.RepositoryObjectsLib.PlatformsLib.ePlatformType.Web
            });

            sol.ApplicationPlatforms.Add(new GingerCoreNET.SolutionRepositoryLib.RepositoryObjectsLib.PlatformsLib.ApplicationPlatform()
            {
                AppName  = "Java-App",
                Platform = GingerCoreNET.SolutionRepositoryLib.RepositoryObjectsLib.PlatformsLib.ePlatformType.Java
            });

            WorkSpace.Instance.Solution = sol;
        }
Ejemplo n.º 7
0
        private void CleanRecentSolutionsList()
        {
            try
            {
                //Clean not exist Solutions
                for (int i = 0; i < RecentSolutions.Count; i++)
                {
                    if (Directory.Exists(RecentSolutions[i]) == false)
                    {
                        RecentSolutions.RemoveAt(i);
                        i--;
                    }
                }

                //clean resent solutions list from duplications caused due to bug
                for (int i = 0; i < RecentSolutions.Count; i++)
                {
                    for (int j = i + 1; j < RecentSolutions.Count; j++)
                    {
                        if (SolutionRepository.NormalizePath(RecentSolutions[i]) == SolutionRepository.NormalizePath(RecentSolutions[j]))
                        {
                            RecentSolutions.RemoveAt(j);
                            j--;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eAppReporterLogLevel.ERROR, "Failed to do Recent Solutions list clean up", ex);
            }
        }
Ejemplo n.º 8
0
        public void AddSolutionToRecent(Solution solution)
        {
            //remove existing similar folder path
            string solPath = RecentSolutions.Where(x => SolutionRepository.NormalizePath(x) == SolutionRepository.NormalizePath(solution.Folder)).FirstOrDefault();

            if (solPath != null)
            {
                RecentSolutions.Remove(solPath);
                Solution sol = mRecentSolutionsAsObjects.Where(x => SolutionRepository.NormalizePath(x.Folder) == SolutionRepository.NormalizePath(solution.Folder)).FirstOrDefault();
                if (sol != null)
                {
                    mRecentSolutionsAsObjects.Remove(sol);
                }
            }

            // Add it in first place
            if (RecentSolutions.Count == 0)
            {
                RecentSolutions.Add(solution.Folder);
            }
            else
            {
                RecentSolutions.Insert(0, solution.Folder);
            }

            RecentSolutionsAsObjects.AddToFirstIndex(solution);

            while (RecentSolutions.Count > 10)//to keep list of 10
            {
                RecentSolutions.RemoveAt(10);
            }
        }
        public static void ClassInitialize(TestContext TC)
        {
            solutionName = "ActionConversionSol";
            CreateTestSolution();

            // Use helper !!!!!

            // Creating workspace
            WorkSpace.Init(new WorkSpaceEventHandler());
            WorkSpace.Instance.SolutionRepository = GingerSolutionRepository.CreateGingerSolutionRepository();

            // Init SR
            mSolutionRepository = WorkSpace.Instance.SolutionRepository;
            string TempRepositoryFolder = TestResources.GetTestTempFolder(@"Solutions\" + solutionName);

            mSolutionRepository.Open(TempRepositoryFolder);

            Ginger.SolutionGeneral.Solution sol = new Ginger.SolutionGeneral.Solution();
            sol.ApplicationPlatforms = new ObservableList <GingerCoreNET.SolutionRepositoryLib.RepositoryObjectsLib.PlatformsLib.ApplicationPlatform>();
            sol.ApplicationPlatforms.Add(new GingerCoreNET.SolutionRepositoryLib.RepositoryObjectsLib.PlatformsLib.ApplicationPlatform()
            {
                AppName  = "WebServices",
                Platform = GingerCoreNET.SolutionRepositoryLib.RepositoryObjectsLib.PlatformsLib.ePlatformType.WebServices
            });

            WorkSpace.Instance.Solution = sol;

            mListBF = new ObservableList <BusinessFlow>();
            mBF     = new BusinessFlow()
            {
                Name = "TestBFConversion", Active = true
            };
            mBF.TargetApplications = WorkSpace.Instance.Solution.GetSolutionTargetApplications();
        }
Ejemplo n.º 10
0
        public static void ClassInitialize(TestContext TestContext)
        {
            mTestHelper.ClassInitialize(TestContext);

            TempRepositoryFolder = TestResources.GetTestTempFolder("Solutions", "SRTestTemp");
            Console.WriteLine("SolutionRepositoryTest folder: " + TempRepositoryFolder);

            Console.WriteLine("===> Creating test solution");
            CreateTestSolution();
            Console.WriteLine("===> test solution created");

            mRepositorySerializer = new NewRepositorySerializer();
            // Init SR
            mSolutionRepository = new SolutionRepository();
            mSolutionRepository.AddItemInfo <MyRepositoryItem>(pattern: "*.Ginger.MyRepositoryItem.xml",   // Need to use for file name
                                                               rootFolder: SolutionRepository.cSolutionRootFolderSign + "MyRepositoryItems",
                                                               containRepositoryItems: true,
                                                               displayName: "My Repository Item",
                                                               PropertyNameForFileName: nameof(MyRepositoryItem.Name)
                                                               );

            NewRepositorySerializer RS = new NewRepositorySerializer();

            NewRepositorySerializer.AddClassesFromAssembly(typeof(MyRepositoryItem).Assembly);
            mSolutionRepository.Open(TempRepositoryFolder);
        }
Ejemplo n.º 11
0
        public void InstalledPluginPackageFromOnline()
        {
            //Arrange

            // TODO: create a simple plugin for unit test which will download faster.

            string PluginId = "PACT";
            string path     = TestResources.GetTestTempFolder(@"Solutions\PluginsManagerSR1");

            if (Directory.Exists(path))
            {
                Directory.Delete(path, true);
            }

            SolutionRepository solutionRepository = GingerSolutionRepository.CreateGingerSolutionRepository();

            solutionRepository.CreateRepository(path);
            solutionRepository.Open(path);

            PluginsManager pluginsManager = new PluginsManager(solutionRepository);
            ObservableList <PluginPackage> pluginPackages = solutionRepository.GetAllRepositoryItems <PluginPackage>();

            // Act
            var p = pluginsManager.GetOnlinePluginsIndex();
            OnlinePluginPackage onlinePluginPackage = (from x in p where x.Id == PluginId select x).SingleOrDefault();

            //OnlinePluginPackageRelease onlinePluginPackageRelease
            pluginsManager.InstallPluginPackage(onlinePluginPackage, onlinePluginPackage.Releases[0]);
            //string folder = Path.Combine(Common.GetTestResourcesFolder(), @"PluginPackages\SeleniumPluginPackage.1.0.0");


            //Assert
            Assert.AreEqual(1, pluginPackages.Count);
            Assert.AreEqual("PACT", pluginPackages[0].PluginId);
        }
Ejemplo n.º 12
0
        public static void ClassInitialize(TestContext TC)
        {
            TempRepositoryFolder = TestResources.GetTestTempFolder(@"Solutions" + Path.DirectorySeparatorChar + "SRTestTempLongPath");

            int i = 1;

            while (TempRepositoryFolder.Length < 300)
            {
                TempRepositoryFolder = Path.Combine(TempRepositoryFolder, "LongSubFolderName_" + i);
                Directory.CreateDirectory(PathHelper.GetLongPath(TempRepositoryFolder));
                i++;
            }


            CreateTestSolution();

            mRepositorySerializer = new NewRepositorySerializer();
            // Init SR
            mSolutionRepository = new SolutionRepository();
            mSolutionRepository.AddItemInfo <MyRepositoryItem>(pattern: "*.Ginger.MyRepositoryItem.xml",   // Need to use for file name
                                                               rootFolder: @"~\MyRepositoryItems",
                                                               containRepositoryItems: true,
                                                               displayName: "My Repository Item",
                                                               PropertyNameForFileName: nameof(MyRepositoryItem.Name)
                                                               );


            NewRepositorySerializer.AddClassesFromAssembly(typeof(MyRepositoryItem).Assembly);



            mSolutionRepository.Open(TempRepositoryFolder);
        }
        public static void ClassInitialize(TestContext TestContext)
        {
            DummyWorkSpace ws = new DummyWorkSpace();

            WorkSpace.Init(ws);

            string folder = TestResources.GetTestTempFolder("Solutions", "PluginTest");

            if (Directory.Exists(folder))
            {
                Directory.Delete(folder, true);
            }

            SR = new SolutionRepository();
            SR.AddItemInfo <PluginPackage>("*.Ginger.PluginPackage.xml", @"~\Plugins", true, "Plugins", PropertyNameForFileName: nameof(PluginPackage.PluginId));
            SR.CreateRepository(folder);
            SR.Open(folder);
            WorkSpace.Instance.SolutionRepository = SR;
            string pluginFolder = TestResources.GetTestResourcesFolder(@"PluginPackages\GingerOfficePlugin");


            //string txt = WorkSpace.Instance.PlugInsManager.CreatePluginPackageInfo("GingerOfficePlugin", "1.0.0");
            //System.IO.File.WriteAllText(pluginFolder + @"\Ginger.PluginPackage.json", txt);


            WorkSpace.Instance.PlugInsManager.AddPluginPackage(pluginFolder);
        }
Ejemplo n.º 14
0
        public static void ClassInitialize(TestContext TestContext)
        {
            DummyWorkSpace ws = new DummyWorkSpace();

            WorkSpace.Init(ws);

            string folder = TestResources.GetTestTempFolder("Solutions", "PluginTest");

            if (Directory.Exists(folder))
            {
                Directory.Delete(folder, true);
            }

            SR = GingerSolutionRepository.CreateGingerSolutionRepository();
            SR.CreateRepository(folder);
            SR.Open(folder);
            WorkSpace.Instance.SolutionRepository = SR;
            string pluginFolder = TestResources.GetTestResourcesFolder(@"PluginPackages" + Path.DirectorySeparatorChar + "GingerOfficePlugin");


            //string txt = WorkSpace.Instance.PlugInsManager.CreatePluginPackageInfo("GingerOfficePlugin", "1.0.0");
            //System.IO.File.WriteAllText(pluginFolder + @"\Ginger.PluginPackage.json", txt);


            WorkSpace.Instance.PlugInsManager.AddPluginPackage(pluginFolder);
        }
Ejemplo n.º 15
0
        static void Main(string[] args)
        {
            var _logger         = new ConsoleLogger();
            var repository      = new SolutionRepository(new CrmServiceClient(CrmConnectionString), _logger);
            var solutionAuditor = new CrmAuditor(repository, _logger);
            var publisherFilter = new List <string> {
                "Dynamics 365"
            };

            var crmInstance = solutionAuditor.AuditCrmInstance(InstanceName, publisherFilter);

            var excelReport = new ExcelReport(_downloadsPath);

            excelReport.SaveSolutionAudit(crmInstance);

            var xmlReport = new XmlReport(_downloadsPath);

            xmlReport.SaveSolutionAudit(crmInstance);

            var htmlReport = new HtmlReport(_downloadsPath);

            htmlReport.SaveSolutionAudit(crmInstance);

            var jsonReport = new JsonReport(_downloadsPath);

            jsonReport.SaveSolutionAudit(crmInstance);
        }
Ejemplo n.º 16
0
        public void Close()
        {
            try
            {
                AppSolutionAutoSave.StopSolutionAutoSave();
                if (SolutionRepository != null)
                {
                    CloseAllRunningAgents();
                    PlugInsManager.CloseAllRunningPluginProcesses();
                    SolutionRepository.StopAllRepositoryFolderWatchers();
                }

                if (!RunningInExecutionMode)
                {
                    UserProfile.GingerStatus = eGingerStatus.Closed;
                    UserProfile.SaveUserProfile();
                    AppSolutionAutoSave.CleanAutoSaveFolders();
                }

                if (WorkSpace.Instance.LocalGingerGrid != null)
                {
                    WorkSpace.Instance.LocalGingerGrid.Stop();
                }
                WorkSpace.Instance.Telemetry.SessionEnd();
                mWorkSpace = null;
            }
            catch (Exception ex)
            {
                Reporter.ToLog(eLogLevel.DEBUG, "Exception during close workspace", ex);
            }
        }
Ejemplo n.º 17
0
        private async void btnSelectLastSolution_Click(object sender, RoutedEventArgs e)
        {
            string lastSolutionUniqueName = cmBLastSelectedSolution.SelectedItem?.ToString();

            if (string.IsNullOrEmpty(lastSolutionUniqueName))
            {
                return;
            }

            var repository = new SolutionRepository(this._service);

            var lastSolution = await repository.GetSolutionByUniqueNameAsync(lastSolutionUniqueName);

            if (lastSolution == null)
            {
                return;
            }

            if (lastSolution.IsManaged.GetValueOrDefault() || !lastSolution.IsVisible.GetValueOrDefault())
            {
                return;
            }

            this.SelectedSolution = lastSolution;

            this._service.ConnectionData.AddLastSelectedSolution(lastSolution.UniqueName);

            _iWriteToOutput.WriteToOutputSolutionUri(_service.ConnectionData, lastSolution.UniqueName, lastSolution.Id);

            this.DialogResult = true;
        }
Ejemplo n.º 18
0
        private void OpenSolution()
        {
            InitClassTypesDictionary();

            Console.WriteLine("Solution Folder?");
            string sFolder = Console.ReadLine();

            if (Directory.Exists(sFolder))
            {
                Console.WriteLine("Opening Solution at folder: " + sFolder);

                SR = new SolutionRepository();
                SR.AddItemInfo <BusinessFlow>("*.Ginger.BusinessFlow.xml", @"~\BusinessFlows", true, GingerDicser.GetTermResValue(eTermResKey.BusinessFlows), PropertyNameForFileName: nameof(BusinessFlow.Name));

                SR.AddItemInfo <ApplicationAPIModel>("*.Ginger.ApplicationAPIModel.xml", @"~\Applications Models\API Models", true, "API Models", PropertyNameForFileName: nameof(ApplicationAPIModel.Name));
                SR.AddItemInfo <GlobalAppModelParameter>("*.Ginger.GlobalAppModelParameter.xml", @"~\Applications Models\Global Models Parameters", true, "Global Model Parameters", PropertyNameForFileName: nameof(GlobalAppModelParameter.PlaceHolder));
                SR.AddItemInfo <ApplicationPOMModel>("*.Ginger.ApplicationPOMModel.xml", @"~\Applications Models\POM Models", true, "POM Models", PropertyNameForFileName: nameof(ApplicationPOMModel.Name));

                SR.AddItemInfo <ProjEnvironment>("*.Ginger.Environment.xml", @"~\Environments", true, "Environments", PropertyNameForFileName: nameof(ProjEnvironment.Name));
                SR.AddItemInfo <ALMDefectProfile>("*.Ginger.ALMDefectProfile.xml", @"~\ALMDefectProfiles", true, "ALM Defect Profiles", PropertyNameForFileName: nameof(ALMDefectProfile.Name));

                // SR.AddItemInfo<Agent>("*.Ginger.Agent.xml", @"~\Agents", true, "Agents", PropertyNameForFileName: nameof(Agent.Name));

                //TODO: check if below 2 reports folders are realy needed
                SR.AddItemInfo <HTMLReportConfiguration>("*.Ginger.HTMLReportConfiguration.xml", @"~\HTMLReportConfigurations", true, "HTMLReportConfigurations", PropertyNameForFileName: nameof(HTMLReportsConfiguration.Name));
                SR.AddItemInfo <HTMLReportTemplate>("*.Ginger.HTMLReportTemplate.xml", @"~\HTMLReportConfigurations\HTMLReportTemplate", true, "HTMLReportTemplate", PropertyNameForFileName: nameof(HTMLReportTemplate.Name));

                // SR.AddItemInfo<ReportTemplate>("*.Ginger.ReportTemplate.xml", @"~\HTMLReportConfigurations\ReportTemplates", true, "ReportTemplates", PropertyNameForFileName: nameof(ReportTemplate.Name));

                SR.AddItemInfo <DataSourceBase>("*.Ginger.DataSource.xml", @"~\DataSources", true, "Data Sources", PropertyNameForFileName: nameof(DataSourceBase.Name));

                SR.AddItemInfo <PluginPackage>("*.Ginger.PluginPackage.xml", @"~\Plugins", true, "Plugins", PropertyNameForFileName: nameof(PluginPackage.PluginId));

                SR.AddItemInfo <ActivitiesGroup>("*.Ginger.ActivitiesGroup.xml", @"~\SharedRepository\ActivitiesGroup", true, GingerDicser.GetTermResValue(eTermResKey.ActivitiesGroups, "Shared "), PropertyNameForFileName: nameof(ActivitiesGroup.Name));
                SR.AddItemInfo <Activity>("*.Ginger.Activity.xml", @"~\SharedRepository\Activities", true, GingerDicser.GetTermResValue(eTermResKey.Activities, "Shared "), PropertyNameForFileName: nameof(Activity.ActivityName));
                SR.AddItemInfo <Act>("*.Ginger.Action.xml", @"~\SharedRepository\Actions", true, "Shared Actions", PropertyNameForFileName: nameof(Act.Description));
                SR.AddItemInfo <VariableBase>("*.Ginger.Variable.xml", @"~\SharedRepository\Variables", true, GingerDicser.GetTermResValue(eTermResKey.Variables, "Shared "), PropertyNameForFileName: nameof(VariableBase.Name));

                SR.AddItemInfo <RunSetConfig>("*.Ginger.RunSetConfig.xml", @"~\RunSetConfigs", true, GingerDicser.GetTermResValue(eTermResKey.RunSets), PropertyNameForFileName: nameof(RunSetConfig.Name));

                WorkSpace.Instance.SolutionRepository = SR;
                SR.Open(sFolder);
                IEnumerable <RepositoryFile> files = SR.GetAllSolutionRepositoryFiles().ToList();
                Console.WriteLine("Files count = " + files.Count());

                Console.WriteLine("Ginger Menu - Solution: " + sFolder);

                OpenSolutionMenuItem.Active       = false;
                CloseSolutionMenuItem.Active      = true;
                BusinessFlowsCountMenuItem.Active = true;
                BusinessFlowsListMenuItem.Active  = true;
                EnvironmentsListMenuItem.Active   = true;
                RunBusinessFlowMenuItem.Active    = true;
            }
            else
            {
                Console.WriteLine("Directory not found: " + sFolder);
            }
        }
 public DataManager()
 {
     _solutionRepository   = new SolutionRepository();
     _runDateRepository    = new SolutionRunDateRepository();
     _jobRepository        = new ExtractionJobRepository();
     _triggerRepository    = new ExtractionTriggerRepository();
     _extractionRepository = new ExtractionRepository();
 }
Ejemplo n.º 20
0
 public DataManager()
 {
     _solutionRepository = new SolutionRepository();
     _runDateRepository  = new SolutionRunDateRepository();
     _jobRepository      = new ProcessJobRepository();
     _triggerRepository  = new ProcessTriggerRepository();
     _processRepository  = new ProcessRepository();
 }
Ejemplo n.º 21
0
        public void BetAllTestMethod()
        {
            var solutionRepository = new SolutionRepository();

            var solutions = solutionRepository.Get();

            Assert.AreEqual(solutions.Count(), 1);
        }
Ejemplo n.º 22
0
 public SolutionRepository GetRepository()
 {
     if (_repository == null)
     {
         _repository = new SolutionRepository();
     }
     return(_repository);
 }
Ejemplo n.º 23
0
        private static void CreateTestSolution()
        {
            // First we create a basic solution with some sample items
            SolutionRepository SR = new SolutionRepository();

            //string TempRepositoryFolder = TestResources.getGingerUnitTesterTempFolder(@"Solutions\SRTestTemp");
            if (Directory.Exists(TempRepositoryFolder))
            {
                Directory.Delete(TempRepositoryFolder, true);
            }

            // Define the items types we want in our Repository
            SR.AddItemInfo <MyRepositoryItem>("*.Ginger.MyRepositoryItem.xml", @"~\MyRepositoryItems", true, "My Repository Item", PropertyNameForFileName: nameof(MyRepositoryItem.Name));


            SR.CreateRepository(TempRepositoryFolder);
            SR.Open(TempRepositoryFolder);

            MyRepositoryItem A1 = new MyRepositoryItem("A1");

            SR.AddRepositoryItem(A1);

            MyRepositoryItem A2 = new MyRepositoryItem("A2");

            SR.AddRepositoryItem(A2);

            MyRepositoryItem A3 = new MyRepositoryItem("A3");

            SR.AddRepositoryItem(A3);


            RepositoryFolder <MyRepositoryItem> MyRepoRF   = SR.GetRepositoryItemRootFolder <MyRepositoryItem>();
            RepositoryFolder <MyRepositoryItem> SubFolder1 = (RepositoryFolder <MyRepositoryItem>)MyRepoRF.AddSubFolder("SubFolder1");

            MyRepoRF.AddSubFolder("EmptySubFolder");

            MyRepositoryItem A4 = new MyRepositoryItem("A4");

            SubFolder1.AddRepositoryItem(A4);

            // Folder to delete later
            MyRepoRF.AddSubFolder("SubFolderForDelete");

            // Create folders tree
            RepositoryFolder <MyRepositoryItem> SF1 = (RepositoryFolder <MyRepositoryItem>)MyRepoRF.AddSubFolder("SF1");
            RepositoryFolder <MyRepositoryItem> SF2 = (RepositoryFolder <MyRepositoryItem>)SF1.AddSubFolder("SF1_SF2");
            RepositoryFolder <MyRepositoryItem> SF3 = (RepositoryFolder <MyRepositoryItem>)SF2.AddSubFolder("SF1_SF2_SF3");
            MyRepositoryItem BF5 = new MyRepositoryItem("A5");

            SubFolder1.AddRepositoryItem(BF5);

            MyRepositoryItem BF6 = new MyRepositoryItem("A6");

            SF3.AddRepositoryItem(BF6);

            //TODO: add more sample items for testing
            SR.Close();
        }
Ejemplo n.º 24
0
 private void CloseSolution()
 {
     SR = null;
     OpenSolutionMenuItem.Active       = true;
     CloseSolutionMenuItem.Active      = false;
     BusinessFlowsCountMenuItem.Active = false;
     BusinessFlowsListMenuItem.Active  = false;
     EnvironmentsListMenuItem.Active   = false;
 }
Ejemplo n.º 25
0
 public void CloseSolution()
 {
     SolutionRepository = null;
     // PlugInsManager = null;
     // GingerRunner = null;
     // CurrentEnvironment = null;
     SourceControl = null;
     EventHandler.SolutionClosed();
 }
Ejemplo n.º 26
0
        public GingerCoreNETWindow()
        {
            InitializeComponent();

            mSolutionRepository = WorkSpace.Instance.SolutionRepository;
            LogTextBox.Clear();
            ElapsedLabel.Visibility = Visibility.Collapsed;
            MemKBLabel.Visibility   = Visibility.Collapsed;

            Actions.Add(new MyAction()
            {
                Name = "Report.Error", Action = () => ReporterError()
            });
            Actions.Add(new MyAction()
            {
                Name = "Get all Files", Action = () => GetAllFiles()
            });
            Actions.Add(new MyAction()
            {
                Name = "Get All BFs", Action = () => GetBFs()
            });
            Actions.Add(new MyAction()
            {
                Name = "Get All BFs + keep refs", Action = () => GetBFsKeepRef()
            });
            Actions.Add(new MyAction()
            {
                Name = "Get All BFs and Drill down", Action = () => GetAllBFsandDrilldown()
            });
            Actions.Add(new MyAction()
            {
                Name = "Get All BFs and Save", Action = () => GetAllBFsandSave()
            });
            Actions.Add(new MyAction()
            {
                Name = "GetEnvironments", Action = () => GetEnvironments()
            });
            Actions.Add(new MyAction()
            {
                Name = "Run C# Code", Action = () => RunCShrapCode()
            });
            Actions.Add(new MyAction()
            {
                Name = "Repository Item Base Report", Action = () => RepositoryItemBaseReport()
            });
            Actions.Add(new MyAction()
            {
                Name = "Test crash on non UI thread", Action = () => TestCrash()
            });
            Actions.Add(new MyAction()
            {
                Name = "LongPath Test", Action = () => LongPathTest()
            });
            ActionsListBox.ItemsSource     = Actions;
            MainDataGrid.MouseDoubleClick += MainDataGrid_MouseDoubleClick;
        }
Ejemplo n.º 27
0
 public HomeController(Mailer mailer, ISolutionEvaluator solutionEvaluator,
                       IProblemGenerator problemGenerator, SolutionRepository solutionRepository,
                       RegistrationRepository registrationRepository)
 {
     _mailer                 = mailer ?? throw new ArgumentNullException(nameof(mailer));
     _solutionEvaluator      = solutionEvaluator ?? throw new ArgumentNullException(nameof(solutionEvaluator));
     _problemGenerator       = problemGenerator ?? throw new ArgumentNullException(nameof(problemGenerator));
     _solutionRepository     = solutionRepository ?? throw new ArgumentNullException(nameof(solutionRepository));
     _registrationRepository = registrationRepository ?? throw new ArgumentNullException(nameof(registrationRepository));
 }
Ejemplo n.º 28
0
        public void BetByIdTestMethod()
        {
            var solutionRepository = new SolutionRepository();

            var solution = solutionRepository.Get().FirstOrDefault();

            var newSolution = solutionRepository.Get(solution.EntityId);

            Assert.AreEqual(newSolution.EntityId, solution.EntityId);
        }
Ejemplo n.º 29
0
        public static void ClassInitialize(TestContext TC)
        {
            CreateTestSolution();

            // Init SR
            mSolutionRepository = Ginger.App.CreateGingerSolutionRepository();
            Ginger.App.InitClassTypesDictionary();
            string TempRepositoryFolder = TestResources.getGingerUnitTesterTempFolder(@"Solutions\SRTestTemp");

            mSolutionRepository.Open(TempRepositoryFolder);
        }
Ejemplo n.º 30
0
        private void PrepareForCLICreationAndExecution()
        {
            WorkSpace.Instance.OpenSolution(mSolutionFolder);
            SolutionRepository SR             = WorkSpace.Instance.SolutionRepository;
            RunsetExecutor     runsetExecutor = new RunsetExecutor();

            runsetExecutor.RunsetExecutionEnvironment = (from x in SR.GetAllRepositoryItems <ProjEnvironment>() where x.Name == "Default" select x).SingleOrDefault();
            runsetExecutor.RunSetConfig       = (from x in SR.GetAllRepositoryItems <RunSetConfig>() where x.Name == "Default Run Set" select x).SingleOrDefault();
            WorkSpace.Instance.RunsetExecutor = runsetExecutor;
            WorkSpace.Instance.RunsetExecutor.InitRunners();
        }
Ejemplo n.º 31
0
 public Brkga(IProblemManager problemManager)
 {
     ProblemManager = problemManager;
     SolutionRepository = new SolutionRepository(TopEntitiesManager.GetContext());
 }