Esempio n. 1
0
            public void LogResult_validates_arguments()
            {
                var formatter = new DatabaseLogFormatter(new StringWriter().Write);

                Assert.Equal(
                    "command",
                    Assert.Throws <ArgumentNullException>(() => formatter.LogResult(null, new DbCommandInterceptionContext <int>()))
                    .ParamName);
                Assert.Equal(
                    "interceptionContext",
                    Assert.Throws <ArgumentNullException>(() => formatter.LogResult <int>(new Mock <DbCommand>().Object, null)).ParamName);
            }
            public void LogResult_uses_different_timers_per_interception_context()
            {
                var writer    = new StringWriter();
                var formatter = new DatabaseLogFormatter(writer.Write);

                var interceptionContexts = new DbCommandInterceptionContext <int> [10];
                var elapsedTimes         = new long[10];

                for (var i = 0; i < 10; i++)
                {
                    interceptionContexts[i] = new DbCommandInterceptionContext <int> {
                        Result = 77
                    };
                }

                for (var i = 0; i < 10; i++)
                {
                    elapsedTimes[i] = GetElapsed(formatter, interceptionContexts[i], false, i * 5);
                }

                for (var i = 0; i < 10; i++)
                {
                    formatter.LogResult(new Mock <DbCommand>().Object, interceptionContexts[i]);

                    Assert.Equal(Strings.CommandLogComplete(elapsedTimes[i], "77", ""), GetLines(writer).Skip(i).First());
                }
            }
Esempio n. 3
0
            public void LogResult_logs_elapsed_time_for_completed_commands()
            {
                var writer    = new StringWriter();
                var formatter = new DatabaseLogFormatter(writer.Write);
                var elapsed   = GetElapsed(formatter);

                formatter.LogResult(new Mock <DbCommand>().Object, new DbCommandInterceptionContext <int> {
                    Result = 77
                });

                Assert.Equal(Strings.CommandLogComplete(elapsed, "77", ""), GetSingleLine(writer));
            }
Esempio n. 4
0
            public void LogResult_logs_elapsed_time_for_canceled_commands()
            {
                var writer    = new StringWriter();
                var formatter = new DatabaseLogFormatter(writer.Write);
                var elapsed   = GetElapsed(formatter);

                var interceptionContext = new DbCommandInterceptionContext <int>();

                interceptionContext.MutableData.TaskStatus = TaskStatus.Canceled;

                formatter.LogResult(new Mock <DbCommand>().Object, interceptionContext);

                Assert.Equal(Strings.CommandLogCanceled(elapsed, ""), GetSingleLine(writer));
            }
Esempio n. 5
0
            public void LogResult_logs_elapsed_time_for_failed_commands()
            {
                var writer    = new StringWriter();
                var formatter = new DatabaseLogFormatter(writer.Write);
                var elapsed   = GetElapsed(formatter);

                formatter.LogResult(
                    new Mock <DbCommand>().Object,
                    new DbCommandInterceptionContext <int> {
                    Exception = new Exception("I do not like them!")
                });

                Assert.Equal(Strings.CommandLogFailed(elapsed, "I do not like them!", ""), GetSingleLine(writer));
            }