public void ShimProfiler() { var options = new MiniProfilerTestOptions(); var profiler = options.StartProfiler("Shimming"); var currentDbProfiler = new CurrentDbProfiler(() => MiniProfiler.Current); const string cmdString = "Select 1"; GetUnopenedConnection(currentDbProfiler).Query(cmdString); CheckConnectionTracking(false, profiler, cmdString, false, false); }
public void AlwaysWrapReaders() { var options = new MiniProfilerTestOptions(); var profiler = options.StartProfiler(nameof(AlwaysWrapReaders)); var currentDbProfiler = new CurrentDbProfiler(() => MiniProfiler.Current); const string cmdString = "Select 1"; // Profiler is active using (var conn = new OverrideTestConnection(Fixture.GetConnection(), currentDbProfiler)) { // Always wrap when active, regardless of setting using (var reader = conn.ExecuteReader(cmdString)) { Assert.True(reader is IWrappedDataReader wrappedReader && wrappedReader.Reader is ProfiledDbDataReader); } conn.AlwaysWrapReaders = true; using (var reader = conn.ExecuteReader(cmdString)) { Assert.True(reader is IWrappedDataReader wrappedReader && wrappedReader.Reader is ProfiledDbDataReader); } } // Profile is inactive profiler.Stop(); using (var conn = new OverrideTestConnection(Fixture.GetConnection(), currentDbProfiler)) { // Should not wrap by default here using (var reader = conn.ExecuteReader(cmdString)) { Assert.False(reader is IWrappedDataReader wrappedReader && wrappedReader.Reader is ProfiledDbDataReader); } conn.AlwaysWrapReaders = true; using (var reader = conn.ExecuteReader(cmdString)) { Assert.True(reader is IWrappedDataReader wrappedReader && wrappedReader.Reader is ProfiledDbDataReader); } } }