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))); }
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))); }
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); }