public DynamoAlarmGeneratorMockery() { Cloudwatch = new Mock <IAmazonCloudWatch>(); AlarmFinder = new Mock <IAlarmFinder>(); SnsTopicCreator = new Mock <ISnsTopicCreator>(); SnsSubscriptionCreator = new Mock <ISnsSubscriptionCreator>(); TableLoader = new Mock <IResourceSource <TableDescription> >(); var logger = new ConsoleAlarmLogger(false); var tableNamePopulator = new TableNamePopulator(logger, TableLoader.Object); var snsCreator = new SnsCreator(SnsTopicCreator.Object, SnsSubscriptionCreator.Object); var tableAlarmCreator = new TableAlarmCreator(Cloudwatch.Object, AlarmFinder.Object, logger, Mock.Of <ILegacyAlarmTracker>()); var indexAlarmCreator = new IndexAlarmCreator(Cloudwatch.Object, AlarmFinder.Object, logger, Mock.Of <ILegacyAlarmTracker>()); AlarmGenerator = new DynamoAlarmGenerator( logger, tableNamePopulator, tableAlarmCreator, indexAlarmCreator, snsCreator, TableLoader.Object); }
public async Task WhenDryRunWriteCapacityAlarmIsNotPut() { var cloudWatch = new Mock <IAmazonCloudWatch>(); var alarmFinder = new Mock <IAlarmFinder>(); var logger = new Mock <IAlarmLogger>(); var indexAlarmCreator = new IndexAlarmCreator( cloudWatch.Object, alarmFinder.Object, logger.Object); var table = MakeTableDescription(); var index = MakeIndexDescription(); await indexAlarmCreator.EnsureWriteCapacityAlarm(table, index, "suffix", 0.52, "testArn", true); VerifyCloudwatch.PutMetricAlarmWasNotCalled(cloudWatch); }
public async Task TestBasicReadCapacityAlarmCreation() { var cloudWatch = new Mock <IAmazonCloudWatch>(); var alarmFinder = new Mock <IAlarmFinder>(); var logger = new Mock <IAlarmLogger>(); var indexAlarmCreator = new IndexAlarmCreator( cloudWatch.Object, alarmFinder.Object, logger.Object); var table = MakeTableDescription(); var index = MakeIndexDescription(); await indexAlarmCreator.EnsureReadCapacityAlarm(table, index, "suffix", 0.52, "testArn", false); VerifyCloudwatch.PutMetricAlarmWasCalledOnce(cloudWatch); }
public async Task WhenReadCapacityAlarmExistsAtSameLevelNoAlarmIsCreated() { var cloudWatch = new Mock <IAmazonCloudWatch>(); var alarmFinder = new Mock <IAlarmFinder>(); VerifyCloudwatch.AlarmFinderFindsThreshold(alarmFinder, 31200, 300, "testArn"); var logger = new Mock <IAlarmLogger>(); var indexAlarmCreator = new IndexAlarmCreator( cloudWatch.Object, alarmFinder.Object, logger.Object); var table = MakeTableDescription(); var index = MakeIndexDescription(); await indexAlarmCreator.EnsureReadCapacityAlarm(table, index, "suffix", 0.52, "testArn", false); VerifyCloudwatch.PutMetricAlarmWasNotCalled(cloudWatch); }
public async Task WhenWriteCapacityAlarmExistsWithDifferentTargetAlarmIsCreated() { var cloudWatch = new Mock <IAmazonCloudWatch>(); var alarmFinder = new Mock <IAlarmFinder>(); VerifyCloudwatch.AlarmFinderFindsThreshold(alarmFinder, 15600, 300, "firstTarget"); var logger = new Mock <IAlarmLogger>(); var indexAlarmCreator = new IndexAlarmCreator( cloudWatch.Object, alarmFinder.Object, logger.Object); var table = MakeTableDescription(); var index = MakeIndexDescription(); await indexAlarmCreator.EnsureWriteCapacityAlarm(table, index, "suffix", 0.52, "secondTarget", false); VerifyCloudwatch.PutMetricAlarmWasCalledOnce(cloudWatch); }
public async Task WhenReadCapacityAlarmExistsWithDifferentPeriodAlarmIsCreated() { var cloudWatch = new Mock <IAmazonCloudWatch>(); var alarmFinder = new Mock <IAlarmFinder>(); VerifyCloudwatch.AlarmFinderFindsThreshold(alarmFinder, 31200, 123, "testArn"); var logger = new Mock <IAlarmLogger>(); var indexAlarmCreator = new IndexAlarmCreator( cloudWatch.Object, alarmFinder.Object, logger.Object, Mock.Of <ILegacyAlarmTracker>()); var table = MakeTableDescription(); var index = MakeIndexDescription(); await indexAlarmCreator.EnsureReadCapacityAlarm(table, index, "suffix", 0.52, "testArn", false); VerifyCloudwatch.PutMetricAlarmWasCalledOnce(cloudWatch); }