コード例 #1
0
        public async Task ExecuteWithResultShouldDisposeConnection()
        {
            var connection       = NewOpenConnection();
            var connectionHelper = new DefaultConnectionHelper(() => connection.Object);
            await connectionHelper.ExecuteAsync <int>(dbConnection => Task.FromResult(0));

            connection.Verify(x => x.Dispose(), Times.Once);
        }
コード例 #2
0
        public async Task ExecuteShouldDisposeConnection()
        {
            var connection       = NewOpenConnection();
            var connectionHelper = new DefaultConnectionHelper(() => connection.Object);
            await connectionHelper.ExecuteAsync(dbConnection => Task.CompletedTask);

            connection.Verify(x => x.Dispose(), Times.Once);
        }
コード例 #3
0
        public async Task ExecuteWithRollbackAndResultShouldRollbackOnFailure()
        {
            var connection  = NewOpenConnection();
            var transaction = NewTransaction();

            connection.Setup(x => x.BeginTransaction(It.IsAny <IsolationLevel>())).Returns(transaction.Object);
            transaction.Setup(x => x.Rollback());

            var connectionHelper = new DefaultConnectionHelper(() => connection.Object);
            await Assert.ThrowsExceptionAsync <Exception>(
                () => connectionHelper.ExecuteWithRollbackOnFailureAsync <int>(
                    dbConnection => Task.FromException <int>(new Exception())));

            transaction.Verify(x => x.Rollback(), Times.Once);
            connection.Verify(x => x.Dispose(), Times.Once);
        }
コード例 #4
0
 public async Task ExecuteWithRollbackAndReturnShouldThrowWhenActionIsNull()
 {
     var connectionHelper = new DefaultConnectionHelper(() => null);
     await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => connectionHelper.ExecuteWithRollbackOnFailureAsync <int>(null));
 }
コード例 #5
0
 public async Task ExecuteShouldThrowWhenActionIsNull()
 {
     var connectionHelper = new DefaultConnectionHelper(() => null);
     await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => connectionHelper.ExecuteAsync(null));
 }