public void IntegrationWithDatabaseAndNimator() { //Arrange var logger = A.Dummy <ILog>(); var notifier = A.Fake <INotifier>(); NotifierMockSettings.Notifier = notifier; var nimatorSettingsJson = EmbeddedResource.Read("config.json"); var nimator = Nimator.FromSettings(logger, nimatorSettingsJson); INimatorResult nimatorResult = null; A.CallTo(() => notifier.Notify(A <INimatorResult> ._)) .Invokes(call => nimatorResult = (INimatorResult)call.Arguments[0]); //Act nimator.TickSafe(logger); //Assert nimatorResult.Should().NotBeNull(); A.CallTo(() => notifier.Notify(A <INimatorResult> ._)).MustHaveHappened(); nimatorResult.Level.Should() .Be(NotificationLevel.Warning); var layerResult = nimatorResult.LayerResults.Should().ContainSingle().Subject; layerResult.CheckResults.Should().HaveCount(2) .And.ContainSingle(r => r.CheckName == "DocumentsNumberCheck" && r.Level == NotificationLevel.Warning) .And.ContainSingle(r => r.CheckName == "RamUsageCheck" && r.Level == NotificationLevel.Okay); }
private static INimator CreateNimator() { var configPath = Path.Combine(Directory.GetCurrentDirectory(), ConfigFilename); var json = File.ReadAllText(configPath); return(Nimator.FromSettings(Logger, json)); }
private static INimator CreateNimator() { using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(configResource)) using (var reader = new StreamReader(stream)) { var json = reader.ReadToEnd(); return(Nimator.FromSettings(logger, json)); } }
static void Main() { ConfigureLog4net(); AppDomain.CurrentDomain.UnhandledException += UnhandledExceptionLogger; logger.Info("Creating Nimator."); var nimatorSettingsJson = ReadResource(configResource); var nimator = Nimator.FromSettings(logger, nimatorSettingsJson); logger.Info($"Nimator created. Starting timer for cycle every {CheckIntervalInSecs} seconds."); using (new Timer(_ => nimator.TickSafe(logger), null, 0, CheckIntervalInSecs * 1000)) { Console.WriteLine("Press any key to exit."); Console.ReadKey(); } logger.Info("Shutting down."); }