Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        public void InitializeEf6Profiler()
        {
            _logger = new TestLogger();
            var profiler = new LongRunningQueryProfiler(_logger, threshold: 200.Milliseconds());

            MiniProfiler.DefaultOptions.ProfilerProvider = new ProfilerGetter(profiler);
            MiniProfilerEF6.Initialize();
        }
Exemplo n.º 3
0
        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);
        }