public static async Task AnalyseTables_GivenTableWithDisabledPrimaryKey_ProducesMessages() { var rule = new DisabledObjectsRule(RuleLevel.Error); var testColumn = new DatabaseColumn( "test_column", Mock.Of <IDbType>(), false, null, null ); var testPrimaryKey = new DatabaseKey( Option <Identifier> .Some("test_primary_key"), DatabaseKeyType.Primary, new[] { testColumn }, false ); var table = new RelationalDatabaseTable( "test", new List <IDatabaseColumn>(), testPrimaryKey, Array.Empty <IDatabaseKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseIndex>(), Array.Empty <IDatabaseCheckConstraint>(), Array.Empty <IDatabaseTrigger>() ); var tables = new[] { table }; var hasMessages = await rule.AnalyseTables(tables).AnyAsync().ConfigureAwait(false); Assert.That(hasMessages, Is.True); }
public static async Task AnalyseTables_GivenTableWithDisabledTrigger_ProducesMessages() { var rule = new DisabledObjectsRule(RuleLevel.Error); var testTrigger = new DatabaseTrigger( "test_check", "test_check_definition", TriggerQueryTiming.After, TriggerEvent.Insert, false ); var table = new RelationalDatabaseTable( "test", new List <IDatabaseColumn>(), null, Array.Empty <IDatabaseKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseIndex>(), Array.Empty <IDatabaseCheckConstraint>(), new[] { testTrigger } ); var tables = new[] { table }; var hasMessages = await rule.AnalyseTables(tables).AnyAsync().ConfigureAwait(false); Assert.That(hasMessages, Is.True); }
public static async Task AnalyseTables_GivenTableWithDisabledCheck_ProducesMessages() { var rule = new DisabledObjectsRule(RuleLevel.Error); var testCheck = new DatabaseCheckConstraint( Option <Identifier> .Some("test_check"), "test_check_definition", false ); var table = new RelationalDatabaseTable( "test", new List <IDatabaseColumn>(), null, Array.Empty <IDatabaseKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseIndex>(), new[] { testCheck }, Array.Empty <IDatabaseTrigger>() ); var tables = new[] { table }; var hasMessages = await rule.AnalyseTables(tables).AnyAsync().ConfigureAwait(false); Assert.That(hasMessages, Is.True); }
public static async Task AnalyseTables_GivenTableWithNoDisabledObjects_ProducesNoMessages() { var rule = new DisabledObjectsRule(RuleLevel.Error); var table = new RelationalDatabaseTable( "test", new List <IDatabaseColumn>(), null, Array.Empty <IDatabaseKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseIndex>(), Array.Empty <IDatabaseCheckConstraint>(), Array.Empty <IDatabaseTrigger>() ); var tables = new[] { table }; var hasMessages = await rule.AnalyseTables(tables).AnyAsync().ConfigureAwait(false); Assert.That(hasMessages, Is.False); }
public static async Task AnalyseTables_GivenTableWithDisabledIndex_ProducesMessages() { var rule = new DisabledObjectsRule(RuleLevel.Error); var testColumn = new DatabaseColumn( "test_column", Mock.Of <IDbType>(), false, null, null ); var testIndex = new DatabaseIndex( "test_index", true, new[] { new DatabaseIndexColumn("test_column", testColumn, IndexColumnOrder.Ascending) }, Array.Empty <IDatabaseColumn>(), false ); var table = new RelationalDatabaseTable( "test", new List <IDatabaseColumn>(), null, Array.Empty <IDatabaseKey>(), Array.Empty <IDatabaseRelationalKey>(), Array.Empty <IDatabaseRelationalKey>(), new[] { testIndex }, Array.Empty <IDatabaseCheckConstraint>(), Array.Empty <IDatabaseTrigger>() ); var tables = new[] { table }; var hasMessages = await rule.AnalyseTables(tables).AnyAsync().ConfigureAwait(false); Assert.That(hasMessages, Is.True); }
public static void AnalyseTables_GivenNullTables_ThrowsArgumentNullException() { var rule = new DisabledObjectsRule(RuleLevel.Error); Assert.That(() => rule.AnalyseTables(null), Throws.ArgumentNullException); }