public void WhenUsingGitExtractToCosmosDbCommandLineArgsAndExtractingShouldLogChangesetsWithBugs()
        {
            var args = new GitExtractToCosmosDbCommandLineArgs()
            {
                GitLogCommand  = "git log blah",
                BugDatabaseDLL = "some/path/to.dll",
                BugRegexes     = "bug+"
            };

            processor = new GitCodeChurnProcessor(this.commandLineParserMock.Object, this.processWrapperMock.Object,
                                                  this.gitLogParserMock.Object, this.outputProcessorMock.Object, this.bugDatabaseMock.Object, this.logger.Object, args);

            processor.Extract();

            this.logger.Verify(m => m.LogToConsole("Changesets with bugs: 0/0"));
        }
        public void WhenExtractingAndHasBugRegexesShouldLogChangesetsWithBugs()
        {
            args = new GitExtractCommandLineArgs()
            {
                BugRegexes    = "bug+",
                GitLogCommand = "git log blah",
                OutputType    = OutputType.SingleFile,
                OutputFile    = "outputfile"
            };
            processor = new GitCodeChurnProcessor(this.commandLineParserMock.Object, this.processWrapperMock.Object,
                                                  this.gitLogParserMock.Object, this.outputProcessorMock.Object, this.bugDatabaseMock.Object, this.logger.Object, args);

            processor.Extract();

            this.logger.Verify(m => m.LogToConsole("Changesets with bugs: 0/0"));
        }
Exemplo n.º 3
0
        private static int RunGitCodeChurnProcessor(GitExtractCommandLineArgs a)
        {
            var processWrapper       = new ProcessWrapper();
            var commandLineParser    = new CommandLineParser();
            var gitLogParser         = new GitLogParser();
            var logger               = new ConsoleLoggerWithTimestamp();
            var outputProcessor      = new JsonOutputProcessor(new DataConverter(), new FileStreamFactory(), logger);
            var bugDatabaseFactory   = new BugDatabaseFactory();
            var bugDatabaseDllLoader = new BugDatabaseDllLoader(logger, bugDatabaseFactory);
            var webRequest           = new WebRequest(new HttpClientWrapperFactory(bugDatabaseFactory));
            var fileSystem           = new FileSystem();
            var jsonParser           = new JsonListParser <WorkItem>(new FileStreamFactory());
            var bugDatabaseProcessor = new BugDatabaseProcessor(bugDatabaseDllLoader, webRequest, fileSystem, jsonParser, logger, a.BugDatabaseOutputFile);
            var processor            = new GitCodeChurnProcessor(commandLineParser, processWrapper, gitLogParser, outputProcessor, bugDatabaseProcessor, logger, a);

            processor.QueryBugDatabase();
            return(processor.Extract());
        }
Exemplo n.º 4
0
        private static int RunGitToCosmosDbCodeChurnProcessor(GitExtractToCosmosDbCommandLineArgs a)
        {
            var processWrapper         = new ProcessWrapper();
            var commandLineParser      = new CommandLineParser();
            var gitLogParser           = new GitLogParser();
            var logger                 = new ConsoleLoggerWithTimestamp();
            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 bugDatabaseFactory     = new BugDatabaseFactory();
            var bugDatabaseDllLoader   = new BugDatabaseDllLoader(logger, bugDatabaseFactory);
            var webRequest             = new WebRequest(new HttpClientWrapperFactory(bugDatabaseFactory));
            var fileSystem             = new FileSystem();
            var jsonParser             = new JsonListParser <WorkItem>(new FileStreamFactory());
            var bugDatabaseProcessor   = new BugDatabaseProcessor(bugDatabaseDllLoader, webRequest, fileSystem, jsonParser, logger, string.Empty);
            //, a.BugDatabaseOutputFile

            var processor = new GitCodeChurnProcessor(commandLineParser, processWrapper, gitLogParser, cosmosOutputProcessor, bugDatabaseProcessor, logger, a);

            processor.QueryBugDatabase();

            return(processor.Extract());
        }
        public void WhenExtractingShouldInvokeCommandLine()
        {
            processor.Extract();

            processWrapperMock.Verify(m => m.Invoke("git", "log blah"), Times.Once());
        }