Esempio n. 1
0
            public async Task ShouldBeClosedWhenCommitted()
            {
                var protocol = new Mock <IBoltProtocol>();
                var mockConn = NewMockedConnection(protocol.Object);
                var tx       = new AsyncTransaction(mockConn.Object, Mock.Of <ITransactionResourceHandler>());

                await tx.BeginTransactionAsync(TransactionConfig.Default);

                await tx.CommitAsync();

                tx.IsOpen.Should().BeFalse();
            }
Esempio n. 2
0
            public async Task ShouldNotDisposeIfAlreadyClosed()
            {
                var protocol    = new Mock <IBoltProtocol>();
                var mockConn    = NewMockedConnection(protocol.Object);
                var mockHandler = new Mock <ITransactionResourceHandler>();
                var tx          = new AsyncTransaction(mockConn.Object, mockHandler.Object);

                mockConn.Invocations.Clear();
                await tx.CommitAsync();

                mockHandler.Verify(x => x.OnTransactionDisposeAsync(It.IsAny <Bookmark>()), Times.Once);
            }
            public async void ShouldCommitOnSuccess()
            {
                var protocol    = new Mock <IBoltProtocol>();
                var mockConn    = NewMockedConnection(protocol.Object);
                var mockHandler = new Mock <ITransactionResourceHandler>();
                var tx          = new AsyncTransaction(mockConn.Object, mockHandler.Object);

                mockConn.Invocations.Clear();
                await tx.CommitAsync();

                protocol.Verify(x => x.CommitTransactionAsync(It.IsAny <IConnection>(), tx));
                mockHandler.Verify(x => x.OnTransactionDisposeAsync(It.IsAny <Bookmark>()), Times.Once);
            }
            public async Task ShouldNotEnqueueMoreMessagesAfterMarkToClosedInCommitAsync()
            {
                var protocol = new Mock <IBoltProtocol>();
                var mockConn = NewMockedConnection(protocol.Object);
                var tx       = new AsyncTransaction(mockConn.Object);

                mockConn.Invocations.Clear();

                tx.MarkToClose();
                await tx.CommitAsync();

                protocol.Verify(x => x.CommitTransactionAsync(It.IsAny <IConnection>(), tx), Times.Never);
                mockConn.Verify(x => x.SyncAsync(), Times.Never);
            }