public void Retrives_All_Batches() { var databaseGateway = new DatabaseGateway(ConnectionStringReader.GetIntegration(), TestDatabaseName); var source = new DatabaseSourceGateway(databaseGateway); var batches = source.GetBatches(null); foreach (var batch in batches) { Console.WriteLine("batch: {0}", batch.Text); } Assert.AreEqual(5, batches.Count()); var proc = batches.FirstOrDefault(p => p.ObjectName == "[dbo].[a_procedure]"); Assert.IsNotNull(proc); }
public void Retrieves_Last_Statement_In_Large_Procedure() { var databaseGateway = new DatabaseGateway(TestServerConnectionString, TestDatabaseName); var source = new DatabaseSourceGateway(databaseGateway); var batches = source.GetBatches(null); foreach (var batch in batches) { Console.WriteLine("batch: {0}", batch.Text); } Assert.AreEqual(5, batches.Count()); var proc = batches.FirstOrDefault(p => p.ObjectName == "[dbo].[a_large_procedure]"); Assert.AreEqual(2, proc.StatementCount); }
public TraceController GetTraceController(DatabaseGateway gateway, string databaseName, TraceControllerType type) { switch (type) { case TraceControllerType.Azure: return(new AzureTraceController(gateway, databaseName)); case TraceControllerType.Sql: return(new SqlTraceController(gateway, databaseName)); case TraceControllerType.SqlLocalDb: return(new SqlLocalDbTraceController(gateway, databaseName)); } var source = new DatabaseSourceGateway(gateway); if (LooksLikeLocalDb(gateway.DataSource)) { return(new SqlLocalDbTraceController(gateway, databaseName)); } var isAzure = source.IsAzure(); if (!isAzure) { return(new SqlTraceController(gateway, databaseName)); } var version = source.GetVersion(); if (version < SqlServerVersion.Sql120) { throw new Exception("SQL Azure is only supported from Version 12"); } return(new AzureTraceController(gateway, databaseName)); }
public void Doesnt_Die_When_Finding_Encrypted_Stored_Procedures() { var databaseGateway = new DatabaseGateway(TestServerConnectionString, TestDatabaseName, 15); databaseGateway.Execute(@"if not exists (select * from sys.procedures where name = 'enc') begin exec sp_executesql N'create procedure enc with encryption as select 100;' end"); var source = new DatabaseSourceGateway(databaseGateway); var batches = source.GetBatches(null); foreach (var batch in batches) { Console.WriteLine("batch: {0}", batch.Text); } Assert.AreEqual(5, batches.Count()); var coverage = new CodeCoverage(TestServerConnectionString, TestDatabaseName, null, true, false); Assert.DoesNotThrow(() => coverage.Cover("exec enc")); }
public void Doesnt_Die_When_Finding_Encrypted_Stored_Procedures() { var databaseGateway = new DatabaseGateway(TestServerConnectionString, TestDatabaseName); databaseGateway.Execute(@"if not exists (select * from sys.procedures where name = 'enc') begin exec sp_executesql N'create procedure enc with encryption as select 100;' end", 15); var source = new DatabaseSourceGateway(databaseGateway); var batches = source.GetBatches(null); foreach (var batch in batches) { Console.WriteLine("batch: {0}", batch.Text); } Assert.AreEqual(4, batches.Count()); var proc = batches.FirstOrDefault(p => p.ObjectName == "[dbo].[a_large_procedure]"); Assert.AreEqual(2, proc.StatementCount); }