Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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"
            });
        }
Esempio n. 3
0
        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"
            });
        }
Esempio n. 4
0
        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"
            });
        }
Esempio n. 5
0
        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"
            });
        }