public void WillPublishCoverageSummaryToTfs()
        {
            var summary = new CoverageSummary("flavor", "platform");

            summary.AddCoverageStatistics("lines", 10, 5, CoverageSummary.Priority.Line);
            summary.AddCoverageStatistics("blocks", 10, 5, CoverageSummary.Priority.Other);

            var token      = new CancellationToken();
            var publisher  = new AzurePipelinesPublisher(_context, _mockClientFactory.Object, _mockFFHelper.Object, _mockHtmlPublisher.Object, _mockLogStoreHelper.Object, true);
            var mockClient = new Mock <TestManagementHttpClient>(new Uri("http://localhost"), new VssCredentials());

            _mockClientFactory.Setup(x => x.GetClient <TestManagementHttpClient>()).Returns(mockClient.Object);
            _mockFFHelper.Setup(x => x.GetFeatureFlagState(
                                    It.Is <string>(a => a == Constants.FeatureFlags.EnablePublishToTcmServiceDirectlyFromTaskFF),
                                    It.Is <bool>(b => b == false))).Returns(false);

            publisher.PublishCoverageSummary(summary, token).Wait();

            mockClient.Verify(x => x.UpdateCodeCoverageSummaryAsync(
                                  It.Is <CodeCoverageData>(a => a == summary.CodeCoverageData),
                                  It.Is <Guid>(b => b == _context.ProjectId),
                                  It.Is <int>(c => c == _context.BuildId),
                                  It.IsAny <object>(),
                                  It.Is <CancellationToken>(d => d == token)));
        }
Ejemplo n.º 2
0
        public CoverageSummary GetCoverageSummary()
        {
            TraceLogger.Debug("ReportGeneratorTool.GetCoverageSummary: Generating coverage summary for the coverage files.");

            var summary = new CoverageSummary();

            if (Configuration.CoverageFiles == null)
            {
                return(summary);
            }

            int totalLines   = 0;
            int coveredLines = 0;

            foreach (var assembly in _parserResult.Assemblies)
            {
                foreach (var @class in assembly.Classes)
                {
                    foreach (var file in @class.Files)
                    {
                        totalLines   += file.CoverableLines;
                        coveredLines += file.CoveredLines;
                    }
                }
            }

            summary.AddCoverageStatistics("line", totalLines, coveredLines, CoverageSummary.Priority.Line);

            return(summary);
        }
        public void ParseAndPublishCoverageWillPublishSummary()
        {
            var token     = new CancellationToken();
            var processor = new CoverageProcessor(_mockPublisher.Object, _mockTelemetryDataCollector.Object);
            var summary   = new CoverageSummary();

            summary.AddCoverageStatistics("", 0, 0, CoverageSummary.Priority.Class);

            _mockPublisher.Setup(x => x.IsFileCoverageJsonSupported()).Returns(false);
            _mockParser.Setup(x => x.GetCoverageSummary()).Returns(summary);

            processor.ParseAndPublishCoverage(_config, token, _mockParser.Object).Wait();

            _mockPublisher.Verify(x => x.PublishCoverageSummary(
                                      It.Is <CoverageSummary>(a => a == summary),
                                      It.Is <CancellationToken>(b => b == token)));
        }
Ejemplo n.º 4
0
        public CoverageSummary GetCoverageSummary(List <string> coverageFiles)
        {
            var parseResult = ParseCoverageFiles(coverageFiles);
            var summary     = new CoverageSummary();

            int totalLines   = 0;
            int coveredLines = 0;

            foreach (var assembly in parseResult.Assemblies)
            {
                foreach (var @class in assembly.Classes)
                {
                    foreach (var file in @class.Files)
                    {
                        totalLines   += file.CoverableLines;
                        coveredLines += file.CoveredLines;
                    }
                }
            }

            summary.AddCoverageStatistics("line", totalLines, coveredLines, CoverageSummary.Priority.Line);

            return(summary);
        }