Skip to content

Commit 5f87040

Browse files
committed
Fix ErrorIT to use correct message format
It always used V1 message format before.
1 parent caddf3b commit 5f87040

File tree

4 files changed

+23
-28
lines changed

4 files changed

+23
-28
lines changed
Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,22 @@
2525
import org.neo4j.driver.internal.messaging.MessageFormat;
2626
import org.neo4j.driver.v1.Logging;
2727

28-
public class ChannelPipelineBuilderWithMessageFormat implements ChannelPipelineBuilder
28+
public class ChannelPipelineBuilderWithFailingMessageFormat implements ChannelPipelineBuilder
2929
{
30-
private final MessageFormat messageFormat;
30+
private volatile FailingMessageFormat failingMessageFormat;
3131

32-
public ChannelPipelineBuilderWithMessageFormat( MessageFormat messageFormat )
32+
@Override
33+
public void build( MessageFormat messageFormat, ChannelPipeline pipeline, Logging logging )
3334
{
34-
this.messageFormat = messageFormat;
35+
if ( failingMessageFormat == null )
36+
{
37+
failingMessageFormat = new FailingMessageFormat( messageFormat );
38+
}
39+
new ChannelPipelineBuilderImpl().build( failingMessageFormat, pipeline, logging );
3540
}
3641

37-
@Override
38-
public void build( MessageFormat ignored, ChannelPipeline pipeline, Logging logging )
42+
FailingMessageFormat getFailingMessageFormat()
3943
{
40-
new ChannelPipelineBuilderImpl().build( messageFormat, pipeline, logging );
44+
return failingMessageFormat;
4145
}
4246
}
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,27 +21,27 @@
2121
import org.neo4j.driver.internal.ConnectionSettings;
2222
import org.neo4j.driver.internal.async.ChannelConnector;
2323
import org.neo4j.driver.internal.async.ChannelConnectorImpl;
24-
import org.neo4j.driver.internal.async.ChannelPipelineBuilder;
25-
import org.neo4j.driver.internal.messaging.MessageFormat;
2624
import org.neo4j.driver.internal.security.SecurityPlan;
2725
import org.neo4j.driver.v1.Config;
2826

29-
public class ChannelTrackingDriverFactoryWithMessageFormat extends ChannelTrackingDriverFactory
27+
public class ChannelTrackingDriverFactoryWithFailingMessageFormat extends ChannelTrackingDriverFactory
3028
{
31-
private final MessageFormat messageFormat;
29+
private final ChannelPipelineBuilderWithFailingMessageFormat pipelineBuilder = new ChannelPipelineBuilderWithFailingMessageFormat();
3230

33-
public ChannelTrackingDriverFactoryWithMessageFormat( MessageFormat messageFormat, Clock clock )
31+
public ChannelTrackingDriverFactoryWithFailingMessageFormat( Clock clock )
3432
{
3533
super( clock );
36-
this.messageFormat = messageFormat;
3734
}
3835

3936
@Override
40-
protected ChannelConnector createRealConnector( ConnectionSettings settings, SecurityPlan securityPlan,
41-
Config config, Clock clock )
37+
protected ChannelConnector createRealConnector( ConnectionSettings settings, SecurityPlan securityPlan, Config config, Clock clock )
4238
{
43-
ChannelPipelineBuilder pipelineBuilder = new ChannelPipelineBuilderWithMessageFormat( messageFormat );
4439
return new ChannelConnectorImpl( settings, securityPlan, pipelineBuilder, config.logging(), clock );
4540
}
41+
42+
public FailingMessageFormat getFailingMessageFormat()
43+
{
44+
return pipelineBuilder.getFailingMessageFormat();
45+
}
4646
}
4747

driver/src/test/java/org/neo4j/driver/internal/util/FailingMessageFormat.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.neo4j.driver.internal.messaging.MessageFormat;
2828
import org.neo4j.driver.internal.messaging.ResponseMessageHandler;
2929
import org.neo4j.driver.internal.messaging.response.FailureMessage;
30-
import org.neo4j.driver.internal.messaging.v1.MessageFormatV1;
3130
import org.neo4j.driver.internal.packstream.PackInput;
3231
import org.neo4j.driver.internal.packstream.PackOutput;
3332

@@ -38,11 +37,6 @@ public class FailingMessageFormat implements MessageFormat
3837
private final AtomicReference<Throwable> readerThrowableRef = new AtomicReference<>();
3938
private final AtomicReference<FailureMessage> readerFailureRef = new AtomicReference<>();
4039

41-
public FailingMessageFormat()
42-
{
43-
this( new MessageFormatV1() );
44-
}
45-
4640
public FailingMessageFormat( MessageFormat delegate )
4741
{
4842
this.delegate = delegate;

driver/src/test/java/org/neo4j/driver/v1/integration/ErrorIT.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import org.neo4j.driver.internal.messaging.response.FailureMessage;
3333
import org.neo4j.driver.internal.retry.RetrySettings;
3434
import org.neo4j.driver.internal.util.ChannelTrackingDriverFactory;
35-
import org.neo4j.driver.internal.util.ChannelTrackingDriverFactoryWithMessageFormat;
35+
import org.neo4j.driver.internal.util.ChannelTrackingDriverFactoryWithFailingMessageFormat;
3636
import org.neo4j.driver.internal.util.FailingMessageFormat;
3737
import org.neo4j.driver.internal.util.FakeClock;
3838
import org.neo4j.driver.v1.AuthToken;
@@ -230,10 +230,7 @@ void shouldCloseChannelOnInboundFatalFailureMessage() throws InterruptedExceptio
230230
private Throwable testChannelErrorHandling( Consumer<FailingMessageFormat> messageFormatSetup )
231231
throws InterruptedException
232232
{
233-
FailingMessageFormat messageFormat = new FailingMessageFormat();
234-
235-
ChannelTrackingDriverFactoryWithMessageFormat driverFactory = new ChannelTrackingDriverFactoryWithMessageFormat(
236-
messageFormat, new FakeClock() );
233+
ChannelTrackingDriverFactoryWithFailingMessageFormat driverFactory = new ChannelTrackingDriverFactoryWithFailingMessageFormat( new FakeClock() );
237234

238235
URI uri = session.uri();
239236
AuthToken authToken = session.authToken();
@@ -245,7 +242,7 @@ private Throwable testChannelErrorHandling( Consumer<FailingMessageFormat> messa
245242
try ( Driver driver = driverFactory.newInstance( uri, authToken, routingSettings, retrySettings, config );
246243
Session session = driver.session() )
247244
{
248-
messageFormatSetup.accept( messageFormat );
245+
messageFormatSetup.accept( driverFactory.getFailingMessageFormat() );
249246

250247
try
251248
{

0 commit comments

Comments
 (0)