Skip to content

Commit 30391d3

Browse files
author
Zhen Li
authored
Merge pull request #238 from zhenlineo/1.0-always-log-msg
Always log the message received from the server before handling the message
2 parents e73e8cd + eb854e2 commit 30391d3

File tree

2 files changed

+44
-13
lines changed

2 files changed

+44
-13
lines changed

driver/src/main/java/org/neo4j/driver/internal/connector/socket/LoggingResponseHandler.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -43,70 +43,70 @@ public LoggingResponseHandler( Logger logger )
4343
@Override
4444
public void handleInitMessage( String clientNameAndVersion, Map<String,Value> authToken )
4545
{
46-
super.handleInitMessage( clientNameAndVersion, authToken );
4746
logger.debug( "S: [INIT \"%s\"]", clientNameAndVersion );
47+
super.handleInitMessage( clientNameAndVersion, authToken );
4848
}
4949

5050
@Override
5151
public void handleRunMessage( String statement, Map<String,Value> parameters )
5252
{
53-
super.handleRunMessage( statement, parameters );
5453
logger.debug( "S: [RUN \"%s\" %s]", statement, parameters );
54+
super.handleRunMessage( statement, parameters );
5555
}
5656

5757
@Override
5858
public void handlePullAllMessage()
5959
{
60-
super.handlePullAllMessage();
6160
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, PULL_ALL );
61+
super.handlePullAllMessage();
6262
}
6363

6464
@Override
6565
public void handleDiscardAllMessage()
6666
{
67-
super.handleDiscardAllMessage();
6867
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, DISCARD_ALL );
68+
super.handleDiscardAllMessage();
6969
}
7070

7171
@Override
7272
public void handleResetMessage()
7373
{
74-
super.handleResetMessage();
7574
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, RESET );
75+
super.handleResetMessage();
7676
}
7777

7878
@Override
7979
public void handleAckFailureMessage()
8080
{
81-
super.handleAckFailureMessage();
8281
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, ACK_FAILURE );
82+
super.handleAckFailureMessage();
8383
}
8484

8585
@Override
8686
public void handleSuccessMessage( Map<String,Value> meta )
8787
{
88-
super.handleSuccessMessage( meta );
8988
logger.debug( "S: [SUCCESS %s]", meta );
89+
super.handleSuccessMessage( meta );
9090
}
9191

9292
@Override
9393
public void handleRecordMessage( Value[] fields )
9494
{
95-
super.handleRecordMessage( fields );
9695
logger.debug( "S: [RECORD %s]", Arrays.asList( fields ) );
96+
super.handleRecordMessage( fields );
9797
}
9898

9999
@Override
100100
public void handleFailureMessage( String code, String message )
101101
{
102-
super.handleFailureMessage( code, message );
103102
logger.debug("S: [FAILURE %s \"%s\"]", code, message );
103+
super.handleFailureMessage( code, message );
104104
}
105105

106106
@Override
107107
public void handleIgnoredMessage()
108108
{
109-
super.handleIgnoredMessage();
110109
logger.debug( DEFAULT_DEBUG_LOGGING_FORMAT, IGNORED );
110+
super.handleIgnoredMessage();
111111
}
112112
}

driver/src/test/java/org/neo4j/driver/internal/connector/socket/LoggingResponseHandlerTest.java

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818
*/
1919
package org.neo4j.driver.internal.connector.socket;
2020

21+
import org.junit.Rule;
2122
import org.junit.Test;
2223

2324
import java.util.HashMap;
2425

26+
import org.junit.rules.ExpectedException;
2527
import org.neo4j.driver.internal.logging.DevNullLogger;
2628
import org.neo4j.driver.internal.messaging.DiscardAllMessage;
2729
import org.neo4j.driver.internal.messaging.FailureMessage;
@@ -34,25 +36,33 @@
3436
import org.neo4j.driver.internal.messaging.RunMessage;
3537
import org.neo4j.driver.internal.messaging.SuccessMessage;
3638
import org.neo4j.driver.internal.spi.StreamCollector;
39+
import org.neo4j.driver.v1.Logger;
3740
import org.neo4j.driver.v1.Value;
3841

3942
import static org.junit.Assert.assertEquals;
43+
import static org.mockito.Mockito.doThrow;
44+
import static org.mockito.Mockito.mock;
45+
import static org.mockito.Mockito.verify;
4046
import static org.neo4j.driver.v1.Values.parameters;
4147
import static org.neo4j.driver.v1.Values.ofValue;
4248

4349
public class LoggingResponseHandlerTest
4450
{
4551

4652
private String log;
47-
48-
private LoggingResponseHandler handler = new LoggingResponseHandler( new DevNullLogger()
53+
private Logger debugLogger = new DevNullLogger()
4954
{
5055
@Override
5156
public void debug( String message, Object... params )
5257
{
5358
log = String.format( message, params );
5459
}
55-
} );
60+
};
61+
62+
@Rule
63+
public ExpectedException exception = ExpectedException.none();
64+
65+
private LoggingResponseHandler handler = new LoggingResponseHandler( debugLogger );
5666

5767
@Test
5868
public void shouldLogInitMessage() throws Throwable
@@ -159,6 +169,27 @@ public void shouldLogIgnoredMessage() throws Throwable
159169
assertEquals( format( new IgnoredMessage() ), log );
160170
}
161171

172+
@Test
173+
public void shouldLogMessageWhenHandleMessageThrowsError() throws Throwable
174+
{
175+
// Given
176+
SocketResponseHandler handler = new LoggingResponseHandler( debugLogger )
177+
{
178+
@Override
179+
public void handleIgnoredMessage() {
180+
throw new RuntimeException( "This will not stop logging" );
181+
}
182+
};
183+
184+
// When
185+
exception.expect( RuntimeException.class );
186+
exception.expectMessage( "This will not stop logging" );
187+
handler.handleIgnoredMessage();
188+
189+
// Then
190+
assertEquals( "S: [IGNORED]", log );
191+
}
192+
162193

163194
private String format( Message message )
164195
{

0 commit comments

Comments
 (0)