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); }
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)); }
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); }
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); }