public void ShouldNotOpenDashboardReportIfOptionIsProvided(ReportType?reportType) { var reporters = new[] { Reporter.Dashboard }; var options = new StrykerOptions { ReportTypeToOpen = reportType, DashboardApiKey = "Access_Token", ProjectName = "github.com/JohnDoe/project", ProjectVersion = "version/human/readable", Reporters = reporters }; var mockProcess = new Mock <IWebbrowserOpener>(); var dashboardClientMock = new Mock <IDashboardClient>(); dashboardClientMock.Setup(x => x.PublishReport(It.IsAny <JsonReport>(), "version/human/readable")) .Returns(Task.FromResult("https://dashboard.com")); var reporter = new DashboardReporter(options, dashboardClientMock.Object, processWrapper: mockProcess.Object); var mutationTree = JsonReportTestHelper.CreateProjectWith(); reporter.OnAllMutantsTested(mutationTree); // Check if browser open action is invoked mockProcess.VerifyNoOtherCalls(); }
/// <summary> /// Sets the usage reporter level /// </summary> /// <param name="maxreportlevel">The maximum level of events to report, or null to set default.</param> /// <param name="disable"><c>True</c> to disable usage reporting<c>false</c> otherwise.</param> public static void SetReportLevel(ReportType?maxreportlevel, bool disable) { if (disable) { Forced_Disabled = true; ShutDown(); } else { Forced_Disabled = false; Cached_MaxReportLevel = maxreportlevel; Initialize(); } }
} // constructor public void ExecuteReportHandler(DateTime dToday, ReportType?nReportTypeToExecute) { SortedDictionary <string, Report> reportList = Report.GetScheduledReportsList(DB); var sender = new ReportDispatcher(DB, this); int reportsToHandleParalely = 10; bool handle = true; try { do { if (reportList.Count < reportsToHandleParalely) { reportsToHandleParalely = reportList.Count; } if (reportList.Count == 0) { handle = false; } if (reportsToHandleParalely > 0) { HandleReportsBulk(reportList, reportsToHandleParalely, dToday, nReportTypeToExecute, sender); } } while (handle); } catch (AggregateException ae) { ae.Handle(x => { if (x is ArgumentNullException) { Error("Parallel Exception ArgumentNullException {0}", x); // manage the exception. return(true); // do not stop the program } // if if (x is UnauthorizedAccessException) { Error("Parallel Exception UnauthorizedAccessException {0}", x); // manage the access error. return(true); } // if Error("Parallel Exception {0}", x); // Any other exception here return(false); // Let anything else stop the application. }); } // try } // ExecuteReportHandler
public void ShouldNotOpenHtmlReportIfOptionIsProvided(ReportType?reportType) { var mockProcess = new Mock <IWebbrowserOpener>(); var mockFileSystem = new MockFileSystem(); var options = new StrykerOptions { ReportTypeToOpen = reportType, OutputPath = Directory.GetCurrentDirectory() }; var reporter = new HtmlReporter(options, mockFileSystem, processWrapper: mockProcess.Object); var mutationTree = JsonReportTestHelper.CreateProjectWith(); reporter.OnAllMutantsTested(mutationTree); // Check if browser open action is invoked mockProcess.VerifyNoOtherCalls(); }
private void ReportButton_OnChecked(object sender, RoutedEventArgs e) { if (RadioButtonActiveReports.IsChecked == true) { SelectedReportType = ReportType.ActiveReports14; return; } if (RadioButtonStimulsoft.IsChecked == true) { SelectedReportType = ReportType.Stimulsoft; return; } if (RadioButtonFastReport.IsChecked == true) { SelectedReportType = ReportType.FastReport; } }
} // ExecuteReportHandler private void HandleReportsBulk( SortedDictionary <string, Report> reportList, int reportsToHandleParalely, DateTime dToday, ReportType?nReportTypeToExecute, ReportDispatcher sender ) { var reportsToHandle = reportList.Take(reportsToHandleParalely).ToList(); foreach (var rep in reportsToHandle) { reportList.Remove(rep.Key); } Parallel.ForEach(reportsToHandle, report => { HandleOneReport(dToday, nReportTypeToExecute, report.Value, sender); }); // foreach } // HandleReportsBulk
private void rb_CheckedChanged(object sender, EventArgs e) { button1.Enabled = true; if (rbActiveReport.Checked) { SelectedReportType = ReportType.ActiveReports14; return; } if (rbStimulsoft.Checked) { SelectedReportType = ReportType.Stimulsoft; return; } if (rbFastReport.Checked) { SelectedReportType = ReportType.FastReport; } }
public static void Main(string[] args) { var log = new LegacyLog(); var env = new Ezbob.Context.Environment(log); DateTime dNow = DateTime.Today; var oArgs = new Queue <string>(args); ReportType?nReportToExecute = null; bool bStdSet = false; bool bDateSet = false; while (oArgs.Count > 0) { string sArg = oArgs.Dequeue(); switch (sArg) { case "--std": bStdSet = true; dNow = dNow.AddDays(-1); break; case "--date": bDateSet = true; string sDate = (oArgs.Count > 0) ? oArgs.Dequeue() : string.Empty; DateTime.TryParseExact(sDate, "yyyy-MM-dd", new CultureInfo("en-GB"), DateTimeStyles.None, out dNow); break; case "--report": if (oArgs.Count > 0) { ReportType nRptType; if (Enum.TryParse(oArgs.Dequeue(), true, out nRptType)) { nReportToExecute = nRptType; } } // if break; } // switch } // while if (bDateSet && bStdSet) { log.Fatal("Both --std and --date set. There can be only one!"); throw new Exception("Both --std and --date set. There can be only one!"); } // if log.Info("Report delivery daemon started..."); log.Info("Current environment is {0}", env.Context); log.Info("Running with current date {0}", dNow.ToString("MMMM d yyyy H:mm:ss")); var reportsHandler = new EmailReportHandler(new SqlConnection(log), log); reportsHandler.ExecuteReportHandler(dNow, nReportToExecute); log.Info("Report delivery daemon completed all the tasks."); } // Main
/// <summary> /// Sets the usage reporter level /// </summary> /// <param name="maxreportlevel">The maximum level of events to report, or null to set default.</param> /// <param name="disable"><c>True</c> to disable usage reporting<c>false</c> otherwise.</param> public static void SetReportLevel(ReportType? maxreportlevel, bool disable) { if (disable) { Forced_Disabled = true; ShutDown(); } else { Forced_Disabled = false; Cached_MaxReportLevel = maxreportlevel; Initialize(); } }
} // HandleReportsBulk private void HandleOneReport( DateTime dToday, ReportType?nReportTypeToExecute, Report report, ReportDispatcher sender ) { try { bool bExecute = (nReportTypeToExecute == null) || (report.Type == nReportTypeToExecute.Value); if (!bExecute) { Debug( "Skipping {0} report: only {1} requested.", report.Title, nReportTypeToExecute.Value.ToString() ); return; } // if Debug("Generating {0} report...", report.Title); switch (report.Type) { case ReportType.RPT_LOAN_STATS: sender.Dispatch( "loan_stats", dToday, null, new LoanStats(DB, this).Xls(), ReportDispatcher.ToDropbox ); break; case ReportType.RPT_TRAFFIC_REPORT: DateTime dYesterday = dToday.AddDays(-1); HandleGenericReport(report, dYesterday, sender, BuildTrafficReport, BuildTrafficReportXls, dToday); break; case ReportType.RPT_NOT_AUTO_APPROVED: HandleGenericReport(report, dToday, sender, BuildNotAutoApprovedReport, BuildNotAutoApprovedXls); break; case ReportType.RPT_EARNED_INTEREST: HandleGenericReport(report, dToday, sender, BuildEarnedInterestReport, BuildEarnedInterestXls); break; case ReportType.RPT_EARNED_INTEREST_ALL_CUSTOMERS: HandleGenericReport(report, dToday, sender, BuildEarnedInterestAllCustomersReport, BuildEarnedInterestAllCustomersXls); break; case ReportType.RPT_FINANCIAL_STATS: HandleGenericReport(report, dToday, sender, BuildFinancialStatsReport, BuildFinancialStatsXls); break; case ReportType.RPT_LOANS_GIVEN: HandleGenericReport(report, dToday, sender, BuildLoansIssuedReport, BuildLoansIssuedXls); break; case ReportType.RPT_CCI: HandleGenericReport(report, dToday, sender, BuildCciReport, BuildCciXls); break; case ReportType.RPT_UI_REPORT: HandleGenericReport(report, dToday, sender, BuildUiReport, BuildUiXls); break; case ReportType.RPT_UI_EXT_REPORT: HandleGenericReport(report, dToday, sender, BuildUiExtReport, BuildUiExtXls); break; case ReportType.RPT_ACCOUNTING_LOAN_BALANCE: HandleGenericReport(report, dToday, sender, BuildAccountingLoanBalanceReport, BuildAccountingLoanBalanceXls); break; case ReportType.RPT_MARKETING_CHANNELS_SUMMARY: HandleGenericReport(report, dToday, sender, BuildMarketingChannelsSummaryReport, BuildMarketingChannelsSummaryXls); break; case ReportType.RPT_STRATEGY_RUNNING_TIME: HandleGenericReport(report, dToday, sender, BuildStrategyRunningTimeReport, BuildStrategyRunningTimeXls); break; case ReportType.RPT_NEW_UNMATCHED_PAYMENTS: HandleGenericReport(report, dToday, sender, BuildNewUnmatchedPaymentsReport, BuildNewUnmatchedPaymentsXls); break; default: HandleGenericReport(report, dToday, sender, null, null); break; } // switch Debug("Generating {0} report complete.", report.Title); } catch (Exception ex) { Error("Generating {0} report failed \n {1}.", report.Title, ex); sender.Dispatch("Report to mail tool: error generating report", DateTime.UtcNow, new Body() .Add <Class>("Body") .Append(new H1() .Append(new Text(string.Format("Error Generating/Sending report {0}", report.Title)))), null, "*****@*****.**" ); } // try } // HandleOneReport
public GetReportMetadataRequest(ReportType reportType) : this() { this.ReportType = reportType; }