Example #1
0
            public void ConvertClusterErrorToClientError()
            {
                var connMock    = new Mock <IConnection>();
                var handlerMock = new Mock <IClusterErrorHandler>();
                var clusterConn = new ClusterConnection(connMock.Object, Uri, AccessMode.Read, handlerMock.Object);

                var inError  = new ClientException("random error");
                var outError = Record.Exception(() => clusterConn.OnError(inError));

                outError.Should().Be(inError);
                handlerMock.Verify(x => x.OnConnectionError(Uri, inError), Times.Never);
                handlerMock.Verify(x => x.OnWriteError(Uri), Times.Never);
            }
Example #2
0
            public void TreatsDatabaseUnavailableAsConnectionError()
            {
                var connMock    = new Mock <IConnection>();
                var handlerMock = new Mock <IClusterErrorHandler>();
                var clusterConn = new ClusterConnection(connMock.Object, Uri, AccessMode.Read, handlerMock.Object);

                var inError  = new TransientException("Neo.TransientError.General.DatabaseUnavailable", "Store copying");
                var outError = Record.Exception(() => clusterConn.OnError(inError));

                outError.ShouldBeEquivalentTo(inError);

                handlerMock.Verify(x => x.OnConnectionError(Uri, inError));
            }
Example #3
0
            public void ConvertWriteClusterErrorToSessionExpiredError(string code)
            {
                var connMock    = new Mock <IConnection>();
                var handlerMock = new Mock <IClusterErrorHandler>();
                var clusterConn = new ClusterConnection(connMock.Object, Uri, AccessMode.Write, handlerMock.Object);

                var inError  = ErrorExtensions.ParseServerException(code, null);
                var outError = Record.Exception(() => clusterConn.OnError(inError));

                outError.Should().BeOfType <SessionExpiredException>();
                handlerMock.Verify(x => x.OnConnectionError(Uri, inError), Times.Never);
                handlerMock.Verify(x => x.OnWriteError(Uri), Times.Once);
            }
Example #4
0
            public void ConvertConnectionErrorToSessionExpired()
            {
                var connMock    = new Mock <IConnection>();
                var handlerMock = new Mock <IClusterErrorHandler>();
                var clusterConn = new ClusterConnection(connMock.Object, Uri, AccessMode.Read, handlerMock.Object);

                var inError  = new ServiceUnavailableException("Connection error");
                var outError = Record.Exception(() => clusterConn.OnError(inError));

                outError.Should().BeOfType <SessionExpiredException>();
                handlerMock.Verify(x => x.OnConnectionError(Uri, inError), Times.Once);
                handlerMock.Verify(x => x.OnWriteError(Uri), Times.Never);
            }