public async Task WithNoDataThereAreNoOrphans() { var loader = MockTableSource(new List <string>()); var reporter = new OrphanTablesFinder(loader.Object); var config = MakeConfigFor(new AlertingGroup()); var orphans = await reporter.FindOrphanTables(config); AssertNoOrphans(orphans); }
public async Task CatchAllgroupCanBeExcluded() { var loader = MockTableSource(new List <string> { "tableA", "tableB", "tableC", "tableD" }); var reporter = new OrphanTablesFinder(loader.Object); var config = new WatchmanConfiguration { AlertingGroups = new List <AlertingGroup> { new AlertingGroup { DynamoDb = new DynamoDb { Tables = new List <Table> { "tableA" } } }, new AlertingGroup { DynamoDb = new DynamoDb { Tables = new List <Table> { "tableD" } } }, new AlertingGroup { Name = "catchAll", IsCatchAll = true, DynamoDb = new DynamoDb { Tables = new List <Table> { "tableA", "tableB", "tableC", "tableD" } } } } }; var orphans = await reporter.FindOrphanTables(config); AssertHasOrphans(orphans, new List <string> { "tableB", "tableC" }); }
public async Task WhenNoTablesAreMonitoredAllAreOrphans() { var loader = MockTableSource(new List <string> { "tableA", "tableB", "tableC" }); var reporter = new OrphanTablesFinder(loader.Object); var config = MakeConfigFor(new AlertingGroup()); var orphans = await reporter.FindOrphanTables(config); AssertHasOrphans(orphans, new List <string> { "tableA", "tableB", "tableC" }); }
public async Task MultipleAlertingGroupsAreCovered() { var loader = MockTableSource(new List <string> { "tableA", "tableB", "tableC", "tableD" }); var reporter = new OrphanTablesFinder(loader.Object); var config = new WatchmanConfiguration { AlertingGroups = new List <AlertingGroup> { new AlertingGroup { DynamoDb = new DynamoDb { Tables = new List <Table> { "tableA" } } }, new AlertingGroup { DynamoDb = new DynamoDb { Tables = new List <Table> { "tableD" } } } } }; var orphans = await reporter.FindOrphanTables(config); AssertHasOrphans(orphans, new List <string> { "tableB", "tableC" }); }
public async Task WhenATablesIsMonitoreditIsNotAnOrphan() { var loader = MockTableSource(new List <string> { "tableA", "tableB", "tableC" }); var reporter = new OrphanTablesFinder(loader.Object); var config = MakeConfigFor(new AlertingGroup { DynamoDb = new DynamoDb { Tables = new List <Table> { "tableA" } } }); var orphans = await reporter.FindOrphanTables(config); AssertHasOrphans(orphans, new List <string> { "tableB", "tableC" }); }