public async Task It_should_alert_ADO_NET_SQL_queries_with_syntax_error() { // Given var logger = new TestLogger(); var profiler = new LongRunningQueryProfiler(logger, threshold: 100.Milliseconds()); var connectionFactory = new DbConnectionFactory(ConnectionString, profiler); var con = await connectionFactory.Open(); // When var cmd = con.CreateCommand(); cmd.CommandTimeout = 1; cmd.CommandText = "WAITFOR DELAY '00:00:00.200'; EXECUTE sp_executesql N'BOO!';"; try { await cmd.ExecuteNonQueryAsync(); } catch (SqlException ex) { // Ignore it } // Then Assert.That(logger.Warnings.Any(e => e.sql == cmd.CommandText), Is.True); }
public void InitializeEf6Profiler() { _logger = new TestLogger(); var profiler = new LongRunningQueryProfiler(_logger, threshold: 200.Milliseconds()); MiniProfiler.DefaultOptions.ProfilerProvider = new ProfilerGetter(profiler); MiniProfilerEF6.Initialize(); }
public async Task It_should_not_alert_ADO_NET_SQL_queries() { // Given var logger = new TestLogger(); var profiler = new LongRunningQueryProfiler(logger, threshold: 1000.Milliseconds()); var connectionFactory = new DbConnectionFactory(ConnectionString, profiler); var con = await connectionFactory.Open(); // When var cmd = con.CreateCommand(); cmd.CommandText = "SELECT '123' as 'Test'"; using (var dtr = await cmd.ExecuteReaderAsync()) while (await dtr.ReadAsync()) { } // Then Assert.That(logger.Warnings, Is.Empty); }