Example #1
0
        public static JObject BuildTestResultJSONForWebRequest(this IServiceTestCoverageModelTo report)
        {
            var totalWorkflowNodesCount = report.AllWorkflowNodes;
            int notCoveredNodesCount    = report.NotCoveredNodesCount;
            var nodesCoveredCount       = report.AllTestNodesCovered.SelectMany(o => o.TestNodesCovered).Distinct().Flatten(o => o.ChildNodes);

            var assertedNodes = nodesCoveredCount.Where(oo => oo.MockSelected == false);
            var mockedNodes   = nodesCoveredCount.Where(oo => oo.MockSelected == true);
            var resObj        = new JObject
            {
                { "Report Name", report.ReportName },
                { "OldReportName", report.OldReportName },
                { "WorkflowId", report.WorkflowId },
                { "CoveragePercentage", Math.Round(report.TotalCoverage * 100) },
                { "NodesSummary", new JObject
                  {
                      { "TotalNodesCount", totalWorkflowNodesCount.Count() },
                      { "NotCoveredNodes", notCoveredNodesCount },
                      { "CoveredNodes", nodesCoveredCount.Count() },
                      { "CoveredNodesDetails", new JArray
                        (
                            new JObject
                            {
                                { "Assert", assertedNodes.Count() },
                                { "Mocked", mockedNodes.Count() }
                            }) }
                  } },
                {
                    "AllTestNodesCovered",
                    new JArray(report.AllTestNodesCovered.Select(node => node.BuildTestResultJSONForWebRequest()))
                }
            };

            return(resObj);
        }
Example #2
0
        private void UpdateTestCoverageReports(Guid resourceID, IServiceTestCoverageModelTo test)
        {
            var existingTestCoverageReports = TestCoverageReports.GetOrAdd(resourceID, new List <IServiceTestCoverageModelTo>());
            var record = existingTestCoverageReports.FirstOrDefault(to => to.ReportName.Equals(test.ReportName, StringComparison.CurrentCultureIgnoreCase));

            if (record == null)
            {
                existingTestCoverageReports.Add(test);
            }
            else
            {
                existingTestCoverageReports.Remove(record);
                existingTestCoverageReports.Add(record);
            }
        }
Example #3
0
        private void SaveCoverageReport(Guid resourceId, IServiceTestCoverageModelTo serviceTestCoverageModelTo)
        {
            var dirPath = GetTestCoveragePathForResourceId(resourceId);

            _directoryWrapper.CreateIfNotExists(dirPath);

            if (!string.Equals(serviceTestCoverageModelTo.OldReportName, serviceTestCoverageModelTo.ReportName, StringComparison.InvariantCultureIgnoreCase))
            {
                var oldFilePath = _filePathWapper.Combine(dirPath, $"{serviceTestCoverageModelTo.OldReportName}.coverage");
                _fileWrapper.Delete(oldFilePath);
            }
            var filePath = _filePathWapper.Combine(dirPath, $"{serviceTestCoverageModelTo.ReportName}.coverage");
            var sw       = _streamWriterFactory.New(filePath, false);

            _serializer.Serialize(sw, serviceTestCoverageModelTo);
        }
        public static JObject BuildTestResultJSONForWebRequest(this IServiceTestCoverageModelTo report)
        {
            var resObj = new JObject
            {
                { "Report Name", report.ReportName },
                { "OldReportName", report.OldReportName },
                { "WorkflowId", report.WorkflowId },
                { "CoveragePercentage", Math.Round(report.TotalCoverage * 100) },
                {
                    "AllTestNodesCovered",
                    new JArray(report.AllTestNodesCovered.Select(node => node.BuildTestResultJSONForWebRequest()))
                }
            };

            return(resObj);
        }
 public void Add(IServiceTestCoverageModelTo coverage)
 {
     Reports.Add(coverage);
 }
 internal void Add(IServiceTestCoverageModelTo coverage)
 {
     Reports.Add(coverage);
 }