public void Ctor_throw_if_report_is_null() { Assert.Equal(Assert.Throws <ArgumentNullException>(() => { new PerformanceCommandReport(DbCommandUtils.CreateCommand("Hi!"), null, PerformanceCommandReportCategory.Warning); }).Message, Error.ArgumentNull("message").Message); }
public void Analyze_return_null_if_execution_time_is_less_than_max_allowed_execution_time() { var analyzer = new ExecutionTimePerformanceAnalyzer(); var report = analyzer.Analyze(DbCommandUtils.CreateCommand("Hi!"), TimeSpan.FromSeconds(0.5)); Assert.Null(report); }
public void Analyze_return_null_report_for_parametrized_queries() { var analyzer = new UnparametrizedWhereClausesPerformanceAnalyzer(); var command = DbCommandUtils.CreateCommand("SELECT * FROM Customers WHERE Id=@Id"); var report = analyzer.Analyze(command, TimeSpan.FromSeconds(1)); Assert.Null(report); }
public void Analyze_return_report_if_execution_time_exceeds_max_allowed_execution_time() { var analyzer = new ExecutionTimePerformanceAnalyzer(); var report = analyzer.Analyze(DbCommandUtils.CreateCommand("Hi!"), TimeSpan.FromSeconds(1.5)); Assert.NotNull(report); Assert.Equal(report.Message, Strings.ExceedsMaxExecutionTime(1.5, 1)); }
public void Analyze_return_report_if_exist_any_non_parametrized_parameter() { var commandText = "SELECT * FROM [dbo].Customers WHERE FirstName = @Unai AND LastName = 'Zorrilla'"; var analyzer = new UnparametrizedWhereClausesPerformanceAnalyzer(); var command = DbCommandUtils.CreateCommand(commandText); var report = analyzer.Analyze(command, TimeSpan.FromSeconds(1)); Assert.NotNull(report); Assert.Equal(report.Message, Strings.UnparametrizedWhereClause(commandText)); }
public void Analyze_return_report_for_non_parametrized_queries_and_without_formated_whitespaces() { var commandText = "SELECT * FROM [dbo].Customers WHERE FirstName='Unai'"; var analyzer = new UnparametrizedWhereClausesPerformanceAnalyzer(); var command = DbCommandUtils.CreateCommand(commandText); var report = analyzer.Analyze(command, TimeSpan.FromSeconds(1)); Assert.NotNull(report); Assert.Equal(report.Message, Strings.UnparametrizedWhereClause(commandText)); }
public void Analyze_return_report_for_query_with_values_without_quotes() { var commandText = "SELECT * FROM [dbo].Customers WHERE Age= 36"; var analyzer = new UnparametrizedWhereClausesPerformanceAnalyzer(); var command = DbCommandUtils.CreateCommand(commandText); var report = analyzer.Analyze(command, TimeSpan.FromSeconds(1)); Assert.NotNull(report); Assert.Equal(report.Message, Strings.UnparametrizedWhereClause(commandText)); }
public void Analyze_return_report_for_queries_with_unparametrized_skiportake() { var commandText = "SELECT TOP (20) [Extent1].[Id] AS [Id]" + ", [Extent1].[FirstName] AS [FirstName] FROM ( SELECT [Extent1].[Id] AS [Id], [Extent1].[FirstName] AS [FirstName], " + " row_number() OVER (ORDER BY [Extent1].[FirstName] ASC) AS [row_number]" + "FROM [dbo].[Customers] AS [Extent1]) AS [Extent1] WHERE [Extent1].[row_number] > 10 ORDER BY [Extent1].[FirstName] ASC"; var command = DbCommandUtils.CreateCommand(commandText); var analyzer = new UnparametrizedSkipTakeValuesPerformanceAnalyzer(); var report = analyzer.Analyze(command, TimeSpan.FromSeconds(1)); Assert.NotNull(report); Assert.Equal(report.Message, Strings.UnparametrizedSkipOrTake(commandText)); }
public void ReaderExecuted_execute_configured_analyzers() { var command = DbCommandUtils.CreateCommand("Hi!"); var analyzer = new Mock <IPerformanceAnalyzer>(); var analyzers = new List <IPerformanceAnalyzer> { analyzer.Object }; var performanceInterceptor = new PerformanceInterceptor((report) => { }, analyzers); performanceInterceptor.ReaderExecuted(DbCommandUtils.CreateCommand("Hi!"), new DbCommandInterceptionContext <DbDataReader>()); analyzer.Verify(a => a.Analyze(It.Is <DbCommand>(c => c.CommandText == "Hi!"), It.Is <TimeSpan>(t => t.TotalSeconds == 0)), Times.Once()); }