public ITransactionScope CreateTransactionScope( TransactionScopeOptions scopeOptions = null) { scopeOptions = scopeOptions ?? new TransactionScopeOptions(); return(new MockableTransactionScope(scopeOptions)); }
public static void SetsCorrectTransactionScopeAsyncFlowOption() { var sut = new TransactionScopeOptions(); Assert.Equal( TransactionScopeAsyncFlowOption.Enabled, sut.AsyncFlowOption); }
public static void SetsCorrectTransactionScopeTimeout() { var sut = new TransactionScopeOptions(); Assert.Equal( TimeSpan.FromSeconds(60), sut.ScopeTimeout); }
public static void SetsCorrectTransactionScopeIsolationLevel() { var sut = new TransactionScopeOptions(); Assert.Equal( IsolationLevel.ReadCommitted, sut.IsolationLevel); }
public static void SetsCorrectTransactionScopeOption() { var sut = new TransactionScopeOptions(); Assert.Equal( TransactionScopeOption.Required, sut.ScopeOption); }
public static void TransactionScopeTimeoutThrowsIfLessThanZero() { var sut = new TransactionScopeOptions(); var exception = Record.Exception(() => sut.ScopeTimeout = TimeSpan.FromMilliseconds(-1)); Assert.NotNull(exception); Assert.IsType <ArgumentOutOfRangeException>(exception); }
public static void CanSpecifyTransactionScopeOptions() { var sut = new TransactionScopeFactory(); var options = new TransactionScopeOptions(); using (var transaction = sut.CreateTransactionScope(options)) { transaction.Complete(); } }
public MockableTransactionScope( TransactionScopeOptions scopeOptions) { if (scopeOptions == null) { throw new ArgumentNullException(nameof(scopeOptions)); } var options = default(TransactionOptions); options.IsolationLevel = scopeOptions.IsolationLevel; options.Timeout = scopeOptions.ScopeTimeout; _transactionScope = new TransactionScope( scopeOptions.ScopeOption, options, scopeOptions.AsyncFlowOption); }