public GivenAMeasureConverterListBuilder() { environmentMock = new Mock <IEnvironment>(); environmentMock.Setup(m => m.GetCurrentDateTime()).Returns(new DateTime(2018, 09, 17, 15, 20, 00)); builder = new MeasureConverterListBuilder(environmentMock.Object); }
private static int RunSonarGenericMetrics(SonarGenericMetricsCommandLineArgs a) { var fileSystem = new FileSystem(); var jsonParser = new JsonListParser <DailyCodeChurn>(new FileStreamFactory()); var converters = new MeasureConverterListBuilder(new EnvironmentImpl()).Build(a); var jsonExporter = new JsonExporter(new FileStreamFactory()); var processor = new SonarGenericMetricsProcessor(fileSystem, jsonParser, converters, jsonExporter, new ConsoleLoggerWithTimestamp()); processor.Process(a); return(0); }
private static int RunSonarGenericMetricsFromCosmosDb(SonarGenericMetricsCosmosDbCommandLineArgs a) { var logger = new ConsoleLoggerWithTimestamp(); var jsonParser = new JsonListParser <DailyCodeChurn>(new FileStreamFactory()); var jsonExporter = new JsonExporter(new FileStreamFactory()); var cosmosConnection = new CosmosConnection(new DatabaseFactory(a, JsonSerializerSettingsFactory.CreateDefaultSerializerSettingsForCosmosDB()), a.DatabaseId, Properties.Settings.Default.CosmosBulkBatchSize); var dataDocumentRepository = new DataDocumentRepository(cosmosConnection, a.CodeChurnCosmosContainer); var cosmosOutputProcessor = new CosmosDbOutputProcessor(logger, dataDocumentRepository, new DataConverter(), a.CosmosProjectName, Properties.Settings.Default.CosmosBulkBatchSize); var environment = new EnvironmentImpl(); var converters = new MeasureConverterListBuilder(environment).Build(a); Dictionary <DateTime, Dictionary <string, DailyCodeChurn> > data; if (a.StartDate == null && a.EndDate == null) { data = cosmosOutputProcessor.GetAllDocumentsByProjectNameAndDocumentType <DailyCodeChurn>(); } else { if (a.StartDate == null) { throw new ArgumentNullException(nameof(a.StartDate)); } if (a.EndDate == null) { a.EndDate = environment.GetCurrentDateTime(); } data = cosmosOutputProcessor.GetDocumentsInDateRange <DailyCodeChurn>(a.StartDate.Value, a.EndDate.Value); } var processor = new SonarGenericMetricsProcessor(jsonParser, converters, jsonExporter, new ConsoleLoggerWithTimestamp(), new DataConverter()); processor.Process(a, data); return(0); }