public Adapter[] GetAdapters(int id)
        {
            var configuration = PTMKernelService.GetConfiguration(id);

            var            ptfAdapters    = configuration.Adapters;
            var            pluginAdapters = configuration.TestSuite.GetPluginAdapters();
            List <Adapter> result         = new List <Adapter>();

            foreach (var pluginAdapter in pluginAdapters)
            {
                var item = ptfAdapters.Where(i => i.Name == pluginAdapter.Name).FirstOrDefault();
                if (item != null)
                {
                    item.DisplayName = pluginAdapter.DisplayName;
                    if (string.IsNullOrEmpty(item.AdapterType))
                    {
                        item.AdapterType = pluginAdapter.AdapterType;
                    }
                    if (string.IsNullOrEmpty(item.ScriptDirectory))
                    {
                        item.ScriptDirectory = pluginAdapter.ScriptDirectory;
                    }
                    item.SupportedKinds = pluginAdapter.SupportedKinds;
                    if (string.IsNullOrEmpty(item.ShellScriptDirectory))
                    {
                        item.ShellScriptDirectory = pluginAdapter.ShellScriptDirectory;
                    }
                    result.Add(item);
                }
            }

            return(result.ToArray());
        }
        public IActionResult SetRules(int id, RuleGroup[] rules)
        {
            // Generate profile.xml
            var configuration = PTMKernelService.GetConfiguration(id);

            configuration.Rules = RuleGroup.ToKernalRuleGroups(rules);
            return(Ok());
        }
        public string[] GetTests(int id)
        {
            var configuration = PTMKernelService.GetConfiguration(id);

            var result = configuration.GetApplicableTestCases().ToArray();

            return(result);
        }
        public IActionResult SetAdapters(int id, Adapter[] adapters)
        {
            var configuration = PTMKernelService.GetConfiguration(id);

            configuration.Adapters = adapters;

            return(Ok());
        }
        public TestSuiteRules GetRules(int id)
        {
            var configuration = PTMKernelService.GetConfiguration(id);
            var groups        = RuleGroup.FromKernalRuleGroups(configuration.Rules);
            var selectedRules = configuration.SelectedRules;

            groups = RuleGroup.UpdateByMappingTable(groups, configuration.TargetFilterIndex, configuration.FeatureMappingTable, selectedRules);
            groups = RuleGroup.UpdateByMappingTable(groups, configuration.MappingFilterIndex, configuration.ReverseMappingTable, selectedRules);

            return(new TestSuiteRules()
            {
                AllRules = groups,
                SelectedRules = RuleGroup.FromKernalRuleGroups(selectedRules),
                TargetFilterIndex = configuration.TargetFilterIndex,
                MappingFilterIndex = configuration.MappingFilterIndex
            });
        }
Example #6
0
        public ListResponse List(int pageSize, int pageNumber, string query = "", bool showAll = false)
        {
            if (pageSize <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(pageSize));
            }

            if (pageNumber < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(pageNumber));
            }

            Func <TestResult, bool> queryFunc = query switch
            {
                null or "" => (TestResult result) =>
                {
                    if (showAll)
                    {
                        return(true);
                    }
                    else
                    {
                        var configuration = PTMKernelService.GetConfiguration(result.TestSuiteConfigurationId);
                        var testSuite     = PTMKernelService.GetTestSuite(configuration.TestSuite.Id);
                        return(true && !testSuite.Removed);
                    }
                },
                _ => (TestResult result) =>
                {
                    var containingQuery = false;
                    var configuration   = PTMKernelService.GetConfiguration(result.TestSuiteConfigurationId);
                    if (configuration.Name.ToLower().Contains(query.ToLower()))
                    {
                        containingQuery = true;
                    }

                    var testSuite = PTMKernelService.GetTestSuite(configuration.TestSuite.Id);
                    if (testSuite.Name.ToLower().Contains(query.ToLower()))
                    {
                        containingQuery = true;
                    }

                    if (showAll)
                    {
                        return(containingQuery);
                    }
                    else
                    {
                        return(containingQuery && !testSuite.Removed);
                    }
                }
            };

            var items = PTMKernelService.QueryTestRuns(pageSize, pageNumber, queryFunc, out int totalPage).Select(testRun => new TestResultOverview
            {
                Id = testRun.Id,
                ConfigurationId = testRun.Configuration.Id,
                Status          = testRun.State,
                Total           = testRun.Total,
                NotRun          = testRun.NotRun,
                Running         = 0,
                Passed          = testRun.Passed,
                Failed          = testRun.Failed,
                Inconclusive    = testRun.Inconclusive,
            }).ToArray();

            var result = new ListResponse
            {
                PageCount   = totalPage,
                TestResults = items,
            };

            return(result);
        }