Exemplo n.º 1
0
        public void TimeoutCalling_Cover_Fails_With_Timeout_Exception()
        {
            var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName, new[] { ".*tSQLt.*", ".*proc.*" });

            try
            {
                coverage.Cover("WAITFOR DELAY '1:00:00'", 1);
            }
            catch (System.Data.SqlClient.SqlException e)
            {
                if (e.Number == -2)
                {
                    return;
                }
            }

            Assert.Fail("expected sql exception with -2 number");
        }
Exemplo n.º 2
0
        public void Code_Coverage_Returns_All_Covered_Statements()
        {
            var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName);

            coverage.Start();
            using (var con = new SqlConnection(ConnectionStringReader.GetIntegration()))
            {
                con.Open();
                using (var cmd = con.CreateCommand())
                {
                    cmd.CommandText = "exec [dbo].[a_procedure]";
                    cmd.ExecuteNonQuery();
                }
            }

            var result = coverage.Stop();

            Assert.That(result.RawXml(), Is.StringContaining("HitCount=\"1\""));
        }
Exemplo n.º 3
0
        public void Code_Coverage_Covers_Last_Statement()
        {
            var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName);

            coverage.Start();
            using (var con = new SqlConnection(ConnectionStringReader.GetIntegration()))
            {
                con.Open();
                using (var cmd = con.CreateCommand())
                {
                    cmd.CommandText = "exec [dbo].[set_statements]";
                    cmd.ExecuteNonQuery();
                }
            }

            var result = coverage.Stop();

            Assert.AreEqual(5, result.CoveredStatementCount);   //not sure why SET QUOTED_IDENTIFIER ON is not covered - don't get xevent on 2008
        }
Exemplo n.º 4
0
        public void Does_Not_Cover_Views()
        {
            var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName);

            coverage.Start();
            using (var con = new SqlConnection(ConnectionStringReader.GetIntegration()))
            {
                con.Open();
                using (var cmd = con.CreateCommand())
                {
                    cmd.CommandText = "select * from a_view";
                    cmd.ExecuteNonQuery();
                }
            }

            var result = coverage.Stop();

            Assert.IsFalse(result.Html().Contains("a_view"));
        }
        public void Retrieves_Last_Statement_In_Large_Procedure()
        {
            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_large_procedure]");

            Assert.AreEqual(2, proc.StatementCount);
        }
Exemplo n.º 6
0
        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(4, batches.Count());

            var proc = batches.FirstOrDefault(p => p.ObjectName == "[dbo].[a_procedure]");

            Assert.IsNotNull(proc);
        }
Exemplo n.º 7
0
        public void Code_Coverage_Filters_Statements()
        {
            var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName, new[] { ".*tSQLt.*", ".*proc.*" });

            coverage.Start();
            using (var con = new SqlConnection(ConnectionStringReader.GetIntegration()))
            {
                con.Open();
                using (var cmd = con.CreateCommand())
                {
                    cmd.CommandText = "exec [dbo].[a_procedure]";
                    cmd.ExecuteNonQuery();
                }
            }

            var result = coverage.Stop();

            Assert.IsFalse(result.RawXml().Contains("HitCount=\"1\""));
            Assert.IsFalse(result.RawXml().Contains("a_procedure"));
        }
Exemplo n.º 8
0
        //  [Ignore("Not sure why failing. Feedback from GoEddie needed.")]
        public void Code_Coverage_Includes_Last_Statement_Of_Large_Procedure()
        {
            var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName);

            coverage.Start();
            using (var con = new SqlConnection(ConnectionStringReader.GetIntegration()))
            {
                con.Open();
                using (var cmd = con.CreateCommand())
                {
                    cmd.CommandText = "exec [dbo].[a_large_procedure] 1, 1";
                    cmd.ExecuteNonQuery();
                }
            }

            var result = coverage.Stop();

            Assert.That(result.CoveredStatementCount, Is.EqualTo(2));

            var xml = result.OpenCoverXml();
        }
Exemplo n.º 9
0
        public void Code_Coverage_Excludes_Label_From_Lines_That_Can_Be_Covered()
        {
            var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName);

            coverage.Start();
            using (var con = new SqlConnection(ConnectionStringReader.GetIntegration()))
            {
                con.Open();
                using (var cmd = con.CreateCommand())
                {
                    cmd.CommandText = "exec [dbo].[a_procedure_with_goto]";
                    cmd.ExecuteNonQuery();
                }
            }

            var result = coverage.Stop();


            Assert.That(result.CoveredStatementCount, Is.EqualTo(4));
            Assert.That(result.StatementCount, Is.EqualTo(24));
            var xml = result.OpenCoverXml();
        }
 public void Doesnt_Die_When_Database_Trigger_Code()
 {
     var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName, null, true, false);
     var results  = coverage.Cover("create synonym abd for a_table");
     //if we dont die we are good
 }
 public void Doesnt_Die_When_Table_Trigger_Code()
 {
     var coverage = new CodeCoverage(ConnectionStringReader.GetIntegration(), TestDatabaseName, null, true, false);
     var results  = coverage.Cover("insert into a_table select 100");
     //if we dont die we are good
 }