Пример #1
0
        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);
        }
Пример #2
0
        private static INimator CreateNimator()
        {
            var configPath = Path.Combine(Directory.GetCurrentDirectory(), ConfigFilename);

            var json = File.ReadAllText(configPath);

            return(Nimator.FromSettings(Logger, json));
        }
Пример #3
0
 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));
         }
 }
Пример #4
0
        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.");
        }