Example #1
0
            public void ResultBuilderShouldObtainServerInfoFromConnection()
            {
                var mockConn    = new Mock <IConnection>();
                var statement   = new Statement("A cypher query");
                var mockHandler = new Mock <IResultResourceHandler>();

                BoltV1.RunInAutoCommitTransaction(mockConn.Object, statement, mockHandler.Object);

                mockConn.Verify(x => x.Server, Times.Once);
            }
Example #2
0
            public void ShouldEnqueueRunAndPullAllAndSend()
            {
                var mockConn    = new Mock <IConnection>();
                var statement   = new Statement("A cypher query");
                var mockHandler = new Mock <IResultResourceHandler>();

                BoltV1.RunInAutoCommitTransaction(mockConn.Object, statement, mockHandler.Object);

                mockConn.Verify(x => x.Enqueue(It.IsAny <RunMessage>(), It.IsAny <ResultBuilder>(), PullAll), Times.Once);
                mockConn.Verify(x => x.Send());
            }
Example #3
0
            public void ShouldThrowExceptionWhenTxConfigIsUsed()
            {
                var mockConn = new Mock <IConnection>();

                var statement   = new Statement("A cypher query");
                var mockHandler = new Mock <IResultResourceHandler>();
                var txConfig    = new TransactionConfig
                {
                    Timeout  = TimeSpan.FromMinutes(1),
                    Metadata = new Dictionary <string, object> {
                        { "key1", "value1" }
                    }
                };

                var error = Xunit.Record.Exception(() =>
                                                   BoltV1.RunInAutoCommitTransaction(mockConn.Object, statement, mockHandler.Object, null, txConfig));

                error.Should().BeOfType <ArgumentException>();
                error.Message.Should()
                .StartWith("Driver is connected to the database that does not support transaction configuration");
            }