Esempio n. 1
0
        public static AlarmLoaderAndGenerator CreateSystemUnderTest <T>(
            IResourceSource <T> source,
            IAlarmDimensionProvider <T> dimensionProvider,
            IResourceAttributesProvider <T> attributeProvider,
            Func <WatchmanConfiguration, WatchmanServiceConfiguration> mapper,
            IAlarmCreator creator,
            IConfigLoader loader
            ) where T : class
        {
            var fakeLogger = new Mock <IAlarmLogger>();

            var task = new ServiceAlarmTasks <T>(
                fakeLogger.Object,
                new ResourceNamePopulator <T>(fakeLogger.Object, source),
                new ServiceAlarmGenerator <T>(
                    creator,
                    new ServiceAlarmBuilder <T>(source, dimensionProvider, attributeProvider)),
                new OrphanResourcesReporter <T>(
                    new OrphanResourcesFinder <T>(source),
                    new OrphansLogger(fakeLogger.Object)),
                mapper
                );

            return(new AlarmLoaderAndGenerator(
                       fakeLogger.Object,
                       loader,
                       new Mock <IDynamoAlarmGenerator>().Object,
                       new Mock <IOrphanTablesReporter>().Object,
                       new Mock <ISqsAlarmGenerator>().Object,
                       new Mock <IOrphanQueuesReporter>().Object,
                       creator,
                       new[] { task }
                       ));
        }
Esempio n. 2
0
        public void AddService <T, TAlarmConfig>(IResourceSource <T> source,
                                                 IAlarmDimensionProvider <T> dimensionProvider,
                                                 IResourceAttributesProvider <T, TAlarmConfig> attributeProvider,
                                                 Func <WatchmanConfiguration, WatchmanServiceConfiguration <TAlarmConfig> > mapper)
            where T : class
            where TAlarmConfig : class, IServiceAlarmConfig <TAlarmConfig>, new()
        {
            var task = new ServiceAlarmTasks <T, TAlarmConfig>(
                _logger,
                new ResourceNamePopulator <T, TAlarmConfig>(_logger, source),
                new OrphanResourcesReporter <T>(
                    new OrphanResourcesFinder <T>(source),
                    new OrphansLogger(_logger)),
                _creator,
                new ServiceAlarmBuilder <T, TAlarmConfig>(source, dimensionProvider, attributeProvider),
                mapper
                );

            _serviceAlarmTasks.Add(task);
        }