private static void RegisterServices(IKernel kernel) { CompositionRoot.BindConnection(kernel, ConnectionString); CompositionRoot.BindDataAccess(kernel, ConnectionString, FilesConnectionString); CompositionRoot.BindServices(kernel, MainLogger); CompositionJobsHelper.BindJobs(kernel, ConnectionString, FilesConnectionString); try { var runners = kernel.GetAll <IRunner>().ToArray(); RunnerController.Run(runners); } catch (Exception e) { MainLogger.Error("Failed to start runners ", e); throw; } MainLogger.Info("Jobs are started"); }
public void Test_ExceptionOnStart() { var helper = new RunnerController(); var runner = new Mock<IRunner>(MockBehavior.Strict); runner.Setup(x => x.Run(It.IsAny<CancellationTokenSource>())).Throws(new Exception("Test_ExceptionOnStart")); helper.Run(new[] { runner.Object }); try { helper.StopAndWait(TimeSpan.FromMinutes(1)); } catch (AggregateException e) { e.InnerExceptions.Count.ShouldBeEquivalentTo(1); e.InnerException.Message.ShouldBeEquivalentTo("Test_ExceptionOnStart"); throw; } }