コード例 #1
0
ファイル: IoCHelper.cs プロジェクト: joaopaulopp/AwsWatchman
        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 }
                       ));
        }
コード例 #2
0
 public SqsResourceAlarmGenerator(
     IAlarmDimensionProvider <QueueDataV2> dimensionProvider,
     IResourceAttributesProvider <QueueDataV2, SqsResourceConfig> attributeProvider, AlarmDefaults <QueueDataV2> defaultAlarms)
 {
     _dimensionProvider = dimensionProvider;
     _attributeProvider = attributeProvider;
     _defaultAlarms     = defaultAlarms;
 }
コード例 #3
0
 public ResourceAlarmGenerator(
     IAlarmDimensionProvider <T> dimensionProvider,
     AlarmDefaults <T> defaultAlarms,
     IResourceAttributesProvider <T, TAlarmConfig> attributeProvider)
 {
     _dimensions        = dimensionProvider;
     _defaultAlarms     = defaultAlarms;
     _attributeProvider = attributeProvider;
 }
コード例 #4
0
 public ResourceAlarmGenerator(
     IResourceSource <T> tableSource,
     IAlarmDimensionProvider <T> dimensionProvider,
     IResourceAttributesProvider <T, TAlarmConfig> attributeProvider)
 {
     _tableSource = tableSource;
     _dimensions  = dimensionProvider;
     _builder     = new AlarmBuilder <T, TAlarmConfig>(attributeProvider);
 }
コード例 #5
0
 public ServiceAlarmBuilder(
     IResourceSource <T> tableSource,
     IAlarmDimensionProvider <T> dimensionProvider,
     IResourceAttributesProvider <T, TAlarmConfig> attributeProvider)
 {
     _tableSource = tableSource;
     _dimensions  = dimensionProvider;
     _attributes  = attributeProvider;
 }
コード例 #6
0
 public DynamoResourceAlarmGenerator(
     IResourceSource <TableDescription> tableSource,
     IAlarmDimensionProvider <TableDescription> dimensionProvider,
     IResourceAttributesProvider <TableDescription, ResourceConfig> attributeProvider)
 {
     _tableSource = tableSource;
     _dimensions  = dimensionProvider;
     _builder     = new AlarmBuilder <TableDescription, ResourceConfig>(attributeProvider);
 }
コード例 #7
0
 public DynamoResourceAlarmGenerator(
     IResourceSource <TableDescription> tableSource,
     IAlarmDimensionProvider <TableDescription> dimensionProvider,
     IResourceAttributesProvider <TableDescription, DynamoResourceConfig> attributeProvider,
     DynamoDbDefaults defaultAlarms)
 {
     _tableSource       = tableSource;
     _dimensions        = dimensionProvider;
     _attributeProvider = attributeProvider;
     _defaultAlarms     = defaultAlarms;
 }
コード例 #8
0
ファイル: IoCHelper.cs プロジェクト: NuKeeperBot/AwsWatchman
        public static AlarmLoaderAndGenerator CreateSystemUnderTest <T, TAlarmConfig>(
            IResourceSource <T> source,
            IAlarmDimensionProvider <T> dimensionProvider,
            IResourceAttributesProvider <T, TAlarmConfig> attributeProvider,
            Func <WatchmanConfiguration, WatchmanServiceConfiguration <TAlarmConfig> > mapper,
            IAlarmCreator creator,
            IConfigLoader loader
            )
            where T : class
            where TAlarmConfig : class, IServiceAlarmConfig <TAlarmConfig>, new()
        {
            var builder = new Builder(loader, creator);

            builder.AddService(source, dimensionProvider, attributeProvider, mapper);
            return(builder.Build());
        }
コード例 #9
0
ファイル: IoCHelper.cs プロジェクト: NuKeeperBot/AwsWatchman
        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);
        }