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 } )); }
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); }