public DownloadCommandHandlerIntegrationTests( ITestOutputHelper output, DefaultWebApplicationFactory <StaticFilesStartup> factory) { _logger = new DepthLogger(new TestLogger(output)); _factory = factory; _testDir = new TestDirectory(); _dataDir = Path.Combine(_testDir, "data"); _webRoot = Path.Combine(_testDir, "wwwroot"); _builder = _factory.WithWebHostBuilder(b => b .ConfigureLogging(b => b.SetMinimumLevel(LogLevel.Error)) .UseContentRoot(Directory.GetCurrentDirectory()) .UseWebRoot(_webRoot)); _paths = _builder.Services.GetRequiredService <ConcurrentQueue <string> >(); _httpClient = _builder.CreateClient(); _dd = new DataDirectoryHelper(_dataDir, DownloadDepth.CatalogLeaf, "localhost"); }
public async Task <int> InvokeAsync(InvocationContext context) { using var httpClient = new HttpClient(); var consoleLogger = new ConsoleLogger(_writeLine, context.ParseResult.ValueForOption(_verboseOption)); var depthLogger = new DepthLogger(consoleLogger); await ExecuteAsync( httpClient, context.ParseResult.ValueForOption(_serviceIndexUrlOption), context.ParseResult.ValueForOption(_dataDirOption), context.ParseResult.ValueForOption(_depthOption), context.ParseResult.ValueForOption(_jsonFormattingOption), context.ParseResult.ValueForOption(_maxPagesOption), context.ParseResult.ValueForOption(_maxCommitsOption), context.ParseResult.ValueForOption(_formatPathsOption), context.ParseResult.ValueForOption(_parallelDownloadsOption), depthLogger); return(0); }
public async Task <int> InvokeAsync(InvocationContext context) { using var httpClient = new HttpClient(); var config = new DownloaderConfiguration { DataDirectory = context.ParseResult.ValueForOption(_dataDirOption), MaxPages = context.ParseResult.ValueForOption(_maxPagesOption), MaxCommits = context.ParseResult.ValueForOption(_maxCommitsOption), }; var consoleLogger = new ConsoleLogger(_writeLine, context.ParseResult.ValueForOption(_verboseOption)); var depthLogger = new DepthLogger(consoleLogger); var csvReportUpdater = new CsvReportUpdater( httpClient, config, context.ParseResult.ValueForOption(_defaultCursorValueOption), depthLogger); var reports = context.ParseResult.ValueForOption(_reportsOption); if (reports == null || reports.Contains(ReportName.DeletedPackages)) { await csvReportUpdater.UpdateAsync(new DeletedPackagesReportVisitor()); } if (reports == null || reports.Contains(ReportName.CatalogLeafCount)) { await csvReportUpdater.UpdateAsync(new CatalogLeafCountReportVisitor()); } if (reports == null || reports.Contains(ReportName.CatalogLeafCountByType)) { await csvReportUpdater.UpdateAsync(new CatalogLeafCountByTypeReportVisitor()); } return(0); }
public IndentScope(DepthLogger logger) { _logger = logger; Interlocked.Increment(ref _logger._depth); }