private static Implementation.ConfigImpl SetupHangfireImplementationConfigs(out Mock <IWriter> mockWriter, out Mock <IPauseHelper> mockPauseHelper, out Mock <IExecutionLogPublisher> mockExecutionLogPublisher) { mockWriter = new Mock <IWriter>(); mockWriter.Setup(o => o.WriteLine("Starting Hangfire server...")).Verifiable(); mockWriter.Setup(o => o.WriteLine("Hangfire dashboard started...")).Verifiable(); mockWriter.Setup(o => o.WriteLine("Hangfire server started...")).Verifiable(); mockWriter.Setup(o => o.WriteLine("Fatal Error: Could not find persistence config file. Hangfire server is unable to start.")).Verifiable(); mockWriter.Setup(o => o.Write("Press any key to exit...")).Verifiable(); mockExecutionLogPublisher = new Mock <IExecutionLogPublisher>(); mockExecutionLogPublisher.Setup(o => o.Info("Starting Hangfire server...")).Verifiable(); mockExecutionLogPublisher.Setup(o => o.Info("Hangfire dashboard started...")).Verifiable(); mockExecutionLogPublisher.Setup(o => o.Info("Hangfire server started...")).Verifiable(); mockExecutionLogPublisher.Setup(o => o.Error("Fatal Error: Could not find persistence config file. Hangfire server is unable to start.")).Verifiable(); var mockExecutionLoggerFactory = new Mock <IExecutionLoggerFactory>(); mockExecutionLoggerFactory.Setup(o => o.New(It.IsAny <ISerializer>(), It.IsAny <IWebSocketPool>())) .Returns(mockExecutionLogPublisher.Object); mockPauseHelper = new Mock <IPauseHelper>(); mockPauseHelper.Setup(o => o.Pause()).Verifiable(); var implConfig = new Implementation.ConfigImpl { Writer = mockWriter.Object, ExecutionLoggerFactory = mockExecutionLoggerFactory.Object, PauseHelper = mockPauseHelper.Object, }; return(implConfig); }
public int Run() { var context = new HangfireContext(_options); var implConfig = new Implementation.ConfigImpl { ExecutionLoggerFactory = new ExecutionLoggerFactory(), Writer = new Writer(), PauseHelper = new PauseHelper(), }; var implementation = new Implementation(context, implConfig); implementation.Run(); implementation.WaitForExit(); return(0); }