Exemple #1
0
        public void Logging_can_be_started_and_stopped()
        {
            using (var context = new SimpleModelContext())
            {
                var output = CaptureConsoleOutput(
                    () =>
                {
                    using (var logger = new DatabaseLogger())
                    {
                        context.Products.ToArray();

                        logger.StartLogging();
                        logger.StopLogging();

                        context.Products.ToArray();

                        logger.StartLogging();

                        context.Categories.ToArray();

                        logger.StopLogging();

                        context.Products.ToArray();
                    }
                });

                var foundIndex = output.IndexOf("FROM [dbo].[Categories]");
                Assert.True(foundIndex > 0);
                foundIndex = output.IndexOf("FROM [dbo].[Categories]", foundIndex + 1);
                Assert.Equal(-1, foundIndex);

                Assert.DoesNotContain("FROM [dbo].[Products]", output);
            }
        }
Exemple #2
0
        public void Starting_is_no_op_if_already_started_and_likewise_for_stopping()
        {
            using (var context = new SimpleModelContext())
            {
                var output = CaptureConsoleOutput(
                    () =>
                {
                    using (var logger = new DatabaseLogger())
                    {
                        logger.StopLogging();

                        context.Products.ToArray();

                        logger.StartLogging();
                        logger.StartLogging();

                        context.Categories.ToArray();

                        logger.StopLogging();
                        logger.StopLogging();

                        context.Products.ToArray();
                    }
                });

                Assert.Contains("FROM [dbo].[Categories]", output);
                Assert.DoesNotContain("FROM [dbo].[Products]", output);
            }
        }
 protected override void Dispose(bool disposing)
 {
     DbInterception.Remove(ConsoleWriterInterceptor);
     DbInterception.Remove(DatabseLogger);
     DatabseLogger.StopLogging();
     base.Dispose(disposing);
 }
Exemple #4
0
 protected override void Dispose(bool disposing)
 {
     if (DbLogger.IsActive)
     {
         DbInterception.Remove(DatabaseLogger);
         DatabaseLogger.StopLogging();
     }
     base.Dispose(disposing);
 }
Exemple #5
0
 protected override void Dispose(bool disposing)
 {
     DbInterception.Remove(dbLogger);
     dbLogger.StopLogging();
     base.Dispose(disposing);
 }