public void DisposeOnPipelineCompleted() { foreach (var threadSafe in new[] { true, false }) { var blankEnvironment = new Dictionary <string, object>(); var context = new OwinRequestScopeContext(blankEnvironment, threadSafe); var disp = new MonitorDisposable(); disp.IsDisposeCalled.IsFalse(); context.DisposeOnPipelineCompleted(disp); disp.IsDisposeCalled.IsFalse(); context.AsDynamic().Complete(); // internal complete method disp.IsDisposeCalled.IsTrue(); } }
public void DisposeOnPipelineCompleted_Cancel() { foreach (var threadSafe in new[] { true, false }) { var blankEnvironment = new Dictionary<string, object>(); var context = new OwinRequestScopeContext(blankEnvironment, threadSafe); var disp = new MonitorDisposable(); disp.IsDisposeCalled.IsFalse(); var token = context.DisposeOnPipelineCompleted(disp); disp.IsDisposeCalled.IsFalse(); token.Dispose(); context.AsDynamic().Complete(); // internal complete method disp.IsDisposeCalled.IsFalse(); } }