Esempio n. 1
0
        private static (AllCoverageReports AllCoverageReports, TestResults AllTestResults) RunListOfCoverage(ICoverageDataObject coverageData, ITestCoverageCatalog testCoverageCatalog, ITestCatalog testCatalog, Guid workspaceGuid, IResourceCatalog catalog)
        {
            var allTestResults = new TestResults();

            var allCoverageReports = new AllCoverageReports
            {
                StartTime = DateTime.Now
            };

            var resources         = catalog.GetResources <IWarewolfWorkflow>(workspaceGuid);
            var selectedResources = resources.Where(resource => coverageData.CoverageReportResourceIds.Contains(resource.ResourceID)).ToArray();

            var testResultsTemp     = new List <WorkflowTestResults>();
            var coverageReportsTemp = new List <WorkflowCoverageReports>();

            foreach (var coverageResourceId in coverageData.CoverageReportResourceIds)
            {
                var res = selectedResources.FirstOrDefault(o => o.ResourceID == coverageResourceId);
                if (res is null)
                {
                    continue;
                }

                var workflowTestResults = new WorkflowTestResults();
                testCatalog.Fetch(coverageResourceId)
                ?.ForEach(o => workflowTestResults.Add(o));

                testResultsTemp.Add(workflowTestResults);

                var coverageReports = new WorkflowCoverageReports(res);
                testCoverageCatalog.Fetch(coverageResourceId)
                ?.ForEach(o => coverageReports.Add(o));

                coverageReportsTemp.Add(coverageReports);
            }

            testResultsTemp.ForEach(o => allTestResults.Add(o));

            coverageReportsTemp.ForEach(o => allCoverageReports.Add(o));

            allTestResults.EndTime     = DateTime.Now;
            allCoverageReports.EndTime = DateTime.Now;

            return(allCoverageReports, allTestResults);
        }
        private static AllCoverageReports RunListOfCoverage(ICoverageDataObject coverageData, ITestCoverageCatalog testCoverageCatalog, Guid workspaceGuid, IResourceCatalog catalog)
        {
            var allCoverageReports = new AllCoverageReports
            {
                StartTime = DateTime.Now
            };

            var resources         = catalog.GetResources <IWarewolfWorkflow>(workspaceGuid);
            var selectedResources = resources.Where(resource => coverageData.CoverageReportResourceIds.Contains(resource.ResourceID)).ToArray();

            testCoverageCatalog.ReloadAllReports();
            var coverageReportsTemp = new List <WorkflowCoverageReports>();

            foreach (var coverageResourceId in coverageData.CoverageReportResourceIds)
            {
                var res = selectedResources.FirstOrDefault(o => o.ResourceID == coverageResourceId);
                if (res is null)
                {
                    continue;
                }
                var coverageReports = new WorkflowCoverageReports(res);

                var allWorkflowReports = testCoverageCatalog.Fetch(coverageResourceId);
                if (allWorkflowReports?.Count > 0)
                {
                    foreach (var workflowReport in allWorkflowReports)
                    {
                        coverageReports.Add(workflowReport);
                    }

                    coverageReportsTemp.Add(coverageReports);
                }
            }

            foreach (var item in coverageReportsTemp)
            {
                allCoverageReports.Add(item);
            }

            allCoverageReports.EndTime = DateTime.Now;

            return(allCoverageReports);
        }
        internal static void SetupCountSummaryHtml(this List <IServiceTestModelTO> allTests, HtmlTextWriter writer, string className, AllCoverageReports allCoverageReports, ICoverageDataObject coverageData)
        {
            writer.AddStyleAttribute(HtmlTextWriterStyle.Padding, "10px 10px 20px 10px");
            writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, "5px");
            writer.AddAttribute(HtmlTextWriterAttribute.Class, className);
            writer.RenderBeginTag(HtmlTextWriterTag.Div);

            writer.AddStyleAttribute(HtmlTextWriterStyle.Margin, "0 -15px 0 -15px");
            writer.RenderBeginTag(HtmlTextWriterTag.Table);
            writer.RenderBeginTag(HtmlTextWriterTag.Tr);

            writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "200px");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "14px");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, "roboto sans-serif");
            writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "black");
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "table-td-black");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            writer.Write("Total Test Count: " + allTests.Count.ToString());
            writer.RenderEndTag();

            writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "200px");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "14px");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, "roboto sans-serif");
            writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "green");
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "table-td-green");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            writer.Write("Tests Passed: " + allTests.Count(o => o.TestPassed));
            writer.RenderEndTag();

            var failedCount = allTests.Count(o => o.TestFailing);

            writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "200px");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontWeight, "bold");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, "14px");
            writer.AddStyleAttribute(HtmlTextWriterStyle.FontFamily, "roboto sans-serif");
            if (failedCount > 0)
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "red");
            }
            else
            {
                writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "black");
            }
            writer.AddAttribute(HtmlTextWriterAttribute.Class, "table-td-red");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            writer.Write("Tests Failed: " + failedCount);
            writer.RenderEndTag();

            writer.RenderBeginTag(HtmlTextWriterTag.Td);
            if (coverageData.IsMultipleWorkflowReport)
            {
                writer.AddAttribute(HtmlTextWriterAttribute.Target, "_new");
                writer.AddAttribute(HtmlTextWriterAttribute.Href, coverageData.GetAllTestsUrl());
                writer.RenderBeginTag(HtmlTextWriterTag.A);
                writer.Write("Run All Tests");
                writer.RenderEndTag();
            }
            writer.RenderEndTag();

            writer.RenderEndTag();
            writer.RenderEndTag();
            writer.RenderEndTag();
        }