public IEnumerable <ReportJob> ExecuteReports() { List <ReportJob> executedJobs = new List <ReportJob>(); IEnumerable <ConnectionSetting> connections = _appSettings.ConnectionSettings; foreach (ConnectionSetting conn in connections) { IEnumerable <ReportJob> jobs = _reportCoordinator.RunReports(conn); executedJobs.AddRange(jobs); } _logger.Info("{0} jobs executed across all connections", executedJobs.Count); return(executedJobs); }
public void RunReports_MaxConcurrentReportsExceeded_ExitsAndReturnsEmptyCollection(int runningReportCount) { // setup string connName = Guid.NewGuid().ToString(); ConnectionSetting conn = new ConnectionSetting(connName, "connection"); _appSettings.MaxConcurrentReports.Returns(5); List <ReportJob> executingJobs = CreateReportJobList(runningReportCount); _reportJobRepository.GetProcessingReports(conn.ConnectionString).Returns(executingJobs); // execute var result = _reportCoordinator.RunReports(conn); // assert Assert.AreEqual(0, result.Count()); _reportJobRepository.Received(1).GetProcessingReports(conn.ConnectionString); // no call should have been made for more reports _reportJobRepository.DidNotReceive().GetPendingReports(Arg.Any <string>(), Arg.Any <int>(), Arg.Any <IEnumerable <string> >()); }