Skip to content

Commit a0cf79a

Browse files
authored
Merge pull request #626 from zhenlineo/4.0-mute-procedure-test
Mute procedure tests on 4.0 servers
2 parents 2116c41 + 8ac674e commit a0cf79a

15 files changed

+98
-88
lines changed

driver/src/test/java/org/neo4j/driver/integration/ConnectionHandlingIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ private StatementResult createNodesInNewSession( int nodesToCreate )
431431

432432
private StatementResult createNodes( int nodesToCreate, StatementRunner statementRunner )
433433
{
434-
return statementRunner.run( "UNWIND range(1, {nodesToCreate}) AS i CREATE (n {index: i}) RETURN n",
434+
return statementRunner.run( "UNWIND range(1, $nodesToCreate) AS i CREATE (n {index: i}) RETURN n",
435435
parameters( "nodesToCreate", nodesToCreate ) );
436436
}
437437

driver/src/test/java/org/neo4j/driver/integration/LoadCSVIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void shouldLoadCSV() throws Throwable
5353
// When
5454
StatementResult result = session.run(
5555
"USING PERIODIC COMMIT 40\n" +
56-
"LOAD CSV WITH HEADERS FROM {csvFileUrl} AS l\n" +
56+
"LOAD CSV WITH HEADERS FROM $csvFileUrl AS l\n" +
5757
"MATCH (c:Class {name: l.class_name})\n" +
5858
"CREATE (s:Sample {sepal_length: l.sepal_length, sepal_width: l.sepal_width, petal_length: l.petal_length, petal_width: l.petal_width})\n" +
5959

@@ -71,7 +71,7 @@ private String createLocalIrisData( Session session ) throws IOException
7171
{
7272
for ( String className : IRIS_CLASS_NAMES )
7373
{
74-
session.run( "CREATE (c:Class {name: {className}}) RETURN c", parameters( "className", className ) );
74+
session.run( "CREATE (c:Class {name: $className}) RETURN c", parameters( "className", className ) );
7575
}
7676

7777
return neo4j.putTmpFile( "iris", ".csv", IRIS_DATA ).toExternalForm();

driver/src/test/java/org/neo4j/driver/integration/ParametersIT.java

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -28,34 +28,31 @@
2828
import java.util.concurrent.ThreadLocalRandom;
2929
import java.util.stream.Stream;
3030

31-
import org.neo4j.driver.internal.util.DisabledOnNeo4jWith;
32-
import org.neo4j.driver.internal.util.EnabledOnNeo4jWith;
33-
import org.neo4j.driver.internal.value.MapValue;
3431
import org.neo4j.driver.Record;
3532
import org.neo4j.driver.StatementResult;
3633
import org.neo4j.driver.Value;
3734
import org.neo4j.driver.exceptions.ClientException;
3835
import org.neo4j.driver.exceptions.ServiceUnavailableException;
36+
import org.neo4j.driver.internal.value.MapValue;
3937
import org.neo4j.driver.util.ParallelizableIT;
4038
import org.neo4j.driver.util.SessionExtension;
4139
import org.neo4j.driver.util.TestUtil;
4240

4341
import static java.util.Arrays.asList;
4442
import static java.util.Collections.singletonMap;
4543
import static java.util.stream.Collectors.toList;
46-
import static org.hamcrest.CoreMatchers.containsString;
4744
import static org.hamcrest.CoreMatchers.equalTo;
4845
import static org.hamcrest.CoreMatchers.instanceOf;
4946
import static org.hamcrest.MatcherAssert.assertThat;
5047
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
5148
import static org.junit.jupiter.api.Assertions.assertEquals;
5249
import static org.junit.jupiter.api.Assertions.assertThrows;
53-
import static org.neo4j.driver.internal.util.ValueFactory.emptyNodeValue;
54-
import static org.neo4j.driver.internal.util.ValueFactory.emptyRelationshipValue;
55-
import static org.neo4j.driver.internal.util.ValueFactory.filledPathValue;
5650
import static org.neo4j.driver.Values.ofInteger;
5751
import static org.neo4j.driver.Values.ofValue;
5852
import static org.neo4j.driver.Values.parameters;
53+
import static org.neo4j.driver.internal.util.ValueFactory.emptyNodeValue;
54+
import static org.neo4j.driver.internal.util.ValueFactory.emptyRelationshipValue;
55+
import static org.neo4j.driver.internal.util.ValueFactory.filledPathValue;
5956

6057
@ParallelizableIT
6158
class ParametersIT
@@ -70,7 +67,7 @@ void shouldBeAbleToSetAndReturnBooleanProperty()
7067
{
7168
// When
7269
StatementResult result = session.run(
73-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", true ) );
70+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", true ) );
7471

7572
// Then
7673
for ( Record record : result.list() )
@@ -86,7 +83,7 @@ void shouldBeAbleToSetAndReturnByteProperty()
8683
{
8784
// When
8885
StatementResult result = session.run(
89-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", (byte) 1 ) );
86+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", (byte) 1 ) );
9087

9188
// Then
9289
for ( Record record : result.list() )
@@ -102,7 +99,7 @@ void shouldBeAbleToSetAndReturnShortProperty()
10299
{
103100
// When
104101
StatementResult result = session.run(
105-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", (short) 1 ) );
102+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", (short) 1 ) );
106103

107104
// Then
108105
for ( Record record : result.list() )
@@ -118,7 +115,7 @@ void shouldBeAbleToSetAndReturnIntegerProperty()
118115
{
119116
// When
120117
StatementResult result = session.run(
121-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", 1 ) );
118+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", 1 ) );
122119

123120
// Then
124121
for ( Record record : result.list() )
@@ -135,7 +132,7 @@ void shouldBeAbleToSetAndReturnLongProperty()
135132
{
136133
// When
137134
StatementResult result = session.run(
138-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", 1L ) );
135+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", 1L ) );
139136

140137
// Then
141138
for ( Record record : result.list() )
@@ -152,7 +149,7 @@ void shouldBeAbleToSetAndReturnDoubleProperty()
152149
{
153150
// When
154151
StatementResult result = session.run(
155-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", 6.28 ) );
152+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", 6.28 ) );
156153

157154
// Then
158155
for ( Record record : result.list() )
@@ -190,7 +187,7 @@ void shouldBeAbleToSetAndReturnBooleanArrayProperty()
190187
// When
191188
boolean[] arrayValue = new boolean[]{true, true, true};
192189
StatementResult result = session.run(
193-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", arrayValue ) );
190+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", arrayValue ) );
194191

195192
// Then
196193
for ( Record record : result.list() )
@@ -213,7 +210,7 @@ void shouldBeAbleToSetAndReturnIntegerArrayProperty()
213210
// When
214211
int[] arrayValue = new int[]{42, 42, 42};
215212
StatementResult result = session.run(
216-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", arrayValue ) );
213+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", arrayValue ) );
217214

218215
// Then
219216
for ( Record record : result.list() )
@@ -236,7 +233,7 @@ void shouldBeAbleToSetAndReturnDoubleArrayProperty()
236233
// When
237234
double[] arrayValue = new double[]{6.28, 6.28, 6.28};
238235
StatementResult result = session.run(
239-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", arrayValue ) );
236+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", arrayValue ) );
240237

241238
// Then
242239
for ( Record record : result.list() )
@@ -264,7 +261,7 @@ private static void testStringArrayContaining( String str )
264261
String[] arrayValue = new String[]{str, str, str};
265262

266263
StatementResult result = session.run(
267-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", arrayValue ) );
264+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", arrayValue ) );
268265

269266
// Then
270267
for ( Record record : result.list() )
@@ -296,7 +293,7 @@ void shouldHandleLargeString()
296293
String bigString = new String( bigStr );
297294

298295
// When
299-
Value val = session.run( "RETURN {p} AS p", parameters( "p", bigString ) ).peek().get( "p" );
296+
Value val = session.run( "RETURN $p AS p", parameters( "p", bigString ) ).peek().get( "p" );
300297

301298
// Then
302299
assertThat( val.asString(), equalTo( bigString ) );
@@ -307,7 +304,7 @@ void shouldBeAbleToSetAndReturnBooleanPropertyWithinMap()
307304
{
308305
// When
309306
StatementResult result = session.run(
310-
"CREATE (a {value:{value}.v}) RETURN a.value",
307+
"CREATE (a {value:$value.v}) RETURN a.value",
311308
parameters( "value", parameters( "v", true ) ) );
312309

313310
// Then
@@ -325,7 +322,7 @@ void shouldBeAbleToSetAndReturnIntegerPropertyWithinMap()
325322
{
326323
// When
327324
StatementResult result = session.run(
328-
"CREATE (a {value:{value}.v}) RETURN a.value",
325+
"CREATE (a {value:$value.v}) RETURN a.value",
329326
parameters( "value", parameters( "v", 42 ) ) );
330327

331328
// Then
@@ -343,7 +340,7 @@ void shouldBeAbleToSetAndReturnDoublePropertyWithinMap()
343340
{
344341
// When
345342
StatementResult result = session.run(
346-
"CREATE (a {value:{value}.v}) RETURN a.value",
343+
"CREATE (a {value:$value.v}) RETURN a.value",
347344
parameters( "value", parameters( "v", 6.28 ) ) );
348345

349346
// Then
@@ -361,7 +358,7 @@ void shouldBeAbleToSetAndReturnStringPropertyWithinMap()
361358
{
362359
// When
363360
StatementResult result = session.run(
364-
"CREATE (a {value:{value}.v}) RETURN a.value",
361+
"CREATE (a {value:$value.v}) RETURN a.value",
365362
parameters( "value", parameters( "v", "Mjölnir" ) ) );
366363

367364
// Then
@@ -466,7 +463,7 @@ void shouldAcceptStreamsAsQueryParameters()
466463

467464
private static void testBytesProperty( byte[] array )
468465
{
469-
StatementResult result = session.run( "CREATE (a {value:{value}}) RETURN a.value", parameters( "value", array ) );
466+
StatementResult result = session.run( "CREATE (a {value:$value}) RETURN a.value", parameters( "value", array ) );
470467

471468
for ( Record record : result.list() )
472469
{
@@ -479,7 +476,7 @@ private static void testBytesProperty( byte[] array )
479476
private static void testStringProperty( String string )
480477
{
481478
StatementResult result = session.run(
482-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", string ) );
479+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", string ) );
483480

484481
for ( Record record : result.list() )
485482
{

driver/src/test/java/org/neo4j/driver/integration/ResultStreamIT.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ void shouldGiveHelpfulFailureMessageWhenAccessNonExistingField()
8888
{
8989
// Given
9090
StatementResult rs =
91-
session.run( "CREATE (n:Person {name:{name}}) RETURN n", parameters( "name", "Tom Hanks" ) );
91+
session.run( "CREATE (n:Person {name:$name}) RETURN n", parameters( "name", "Tom Hanks" ) );
9292

9393
// When
9494
Record single = rs.single();
@@ -102,7 +102,7 @@ void shouldGiveHelpfulFailureMessageWhenAccessNonExistingPropertyOnNode()
102102
{
103103
// Given
104104
StatementResult rs =
105-
session.run( "CREATE (n:Person {name:{name}}) RETURN n", parameters( "name", "Tom Hanks" ) );
105+
session.run( "CREATE (n:Person {name:$name}) RETURN n", parameters( "name", "Tom Hanks" ) );
106106

107107
// When
108108
Record record = rs.single();
@@ -115,7 +115,7 @@ void shouldGiveHelpfulFailureMessageWhenAccessNonExistingPropertyOnNode()
115115
void shouldNotReturnNullKeysOnEmptyResult()
116116
{
117117
// Given
118-
StatementResult rs = session.run( "CREATE (n:Person {name:{name}})", parameters( "name", "Tom Hanks" ) );
118+
StatementResult rs = session.run( "CREATE (n:Person {name:$name})", parameters( "name", "Tom Hanks" ) );
119119

120120
// THEN
121121
assertNotNull( rs.keys() );

driver/src/test/java/org/neo4j/driver/integration/ScalarTypeIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ private Stream<Value> toValueStream( Stream<Arguments> arguments )
245245
private void verifyCanEncodeAndDecode( Value input )
246246
{
247247
// When
248-
StatementResult cursor = session.run( "RETURN {x} as y", parameters( "x", input ) );
248+
StatementResult cursor = session.run( "RETURN $x as y", parameters( "x", input ) );
249249

250250
// Then
251251
assertThat( cursor.single().get( "y" ), equalTo( input ) );

driver/src/test/java/org/neo4j/driver/integration/SessionBoltV3IT.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,10 @@
6060
import static org.junit.jupiter.api.Assertions.assertNotEquals;
6161
import static org.junit.jupiter.api.Assertions.assertNotNull;
6262
import static org.junit.jupiter.api.Assertions.assertThrows;
63+
import static org.junit.jupiter.api.Assertions.assertTimeoutPreemptively;
6364
import static org.neo4j.driver.Config.defaultConfig;
6465
import static org.neo4j.driver.internal.util.Neo4jFeature.BOLT_V3;
66+
import static org.neo4j.driver.util.TestUtil.TX_TIMEOUT_TEST_TIMEOUT;
6567
import static org.neo4j.driver.util.TestUtil.await;
6668

6769
@EnabledOnNeo4jWith( BOLT_V3 )
@@ -124,15 +126,14 @@ void shouldSetTransactionTimeout()
124126
// lock dummy node but keep the transaction open
125127
otherTx.run( "MATCH (n:Node) SET n.prop = 1" ).consume();
126128

127-
TransactionConfig config = TransactionConfig.builder()
128-
.withTimeout( ofMillis( 1 ) )
129-
.build();
129+
assertTimeoutPreemptively( TX_TIMEOUT_TEST_TIMEOUT, () -> {
130+
TransactionConfig config = TransactionConfig.builder().withTimeout( ofMillis( 1 ) ).build();
130131

131-
// run a query in an auto-commit transaction with timeout and try to update the locked dummy node
132-
TransientException error = assertThrows( TransientException.class,
133-
() -> session.run( "MATCH (n:Node) SET n.prop = 2", config ).consume() );
134-
135-
assertThat( error.getMessage(), containsString( "terminated" ) );
132+
// run a query in an auto-commit transaction with timeout and try to update the locked dummy node
133+
TransientException error = assertThrows( TransientException.class,
134+
() -> session.run( "MATCH (n:Node) SET n.prop = 2", config ).consume() );
135+
assertThat( error.getMessage(), containsString( "terminated" ) );
136+
} );
136137
}
137138
}
138139
}
@@ -151,17 +152,19 @@ void shouldSetTransactionTimeoutAsync()
151152
// lock dummy node but keep the transaction open
152153
otherTx.run( "MATCH (n:Node) SET n.prop = 1" ).consume();
153154

154-
TransactionConfig config = TransactionConfig.builder()
155-
.withTimeout( ofMillis( 1 ) )
156-
.build();
155+
assertTimeoutPreemptively( TX_TIMEOUT_TEST_TIMEOUT, () -> {
156+
TransactionConfig config = TransactionConfig.builder()
157+
.withTimeout( ofMillis( 1 ) )
158+
.build();
157159

158-
// run a query in an auto-commit transaction with timeout and try to update the locked dummy node
159-
CompletionStage<ResultSummary> resultFuture = asyncSession.runAsync( "MATCH (n:Node) SET n.prop = 2", config )
160-
.thenCompose( StatementResultCursor::consumeAsync );
160+
// run a query in an auto-commit transaction with timeout and try to update the locked dummy node
161+
CompletionStage<ResultSummary> resultFuture = asyncSession.runAsync( "MATCH (n:Node) SET n.prop = 2", config )
162+
.thenCompose( StatementResultCursor::consumeAsync );
161163

162-
TransientException error = assertThrows( TransientException.class, () -> await( resultFuture ) );
164+
TransientException error = assertThrows( TransientException.class, () -> await( resultFuture ) );
163165

164-
MatcherAssert.assertThat( error.getMessage(), containsString( "terminated" ) );
166+
MatcherAssert.assertThat( error.getMessage(), containsString( "terminated" ) );
167+
} );
165168
}
166169
}
167170
}

driver/src/test/java/org/neo4j/driver/integration/SessionIT.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1479,7 +1479,7 @@ private int countNodesWithId( int id )
14791479
{
14801480
try ( Session session = neo4j.driver().session() )
14811481
{
1482-
StatementResult result = session.run( "MATCH (n {id: {id}}) RETURN count(n)", parameters( "id", id ) );
1482+
StatementResult result = session.run( "MATCH (n {id: $id}) RETURN count(n)", parameters( "id", id ) );
14831483
return result.single().get( 0 ).asInt();
14841484
}
14851485
}
@@ -1488,13 +1488,13 @@ private void createNodeWithId( int id )
14881488
{
14891489
try ( Session session = neo4j.driver().session() )
14901490
{
1491-
session.run( "CREATE (n {id: {id}})", parameters( "id", id ) );
1491+
session.run( "CREATE (n {id: $id})", parameters( "id", id ) );
14921492
}
14931493
}
14941494

14951495
private static StatementResult updateNodeId( StatementRunner statementRunner, int currentId, int newId )
14961496
{
1497-
return statementRunner.run( "MATCH (n {id: {currentId}}) SET n.id = {newId}",
1497+
return statementRunner.run( "MATCH (n {id: $currentId}) SET n.id = $newId",
14981498
parameters( "currentId", currentId, "newId", newId ) );
14991499
}
15001500

driver/src/test/java/org/neo4j/driver/integration/SessionResetIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -608,13 +608,13 @@ private void createNodeWithId( int id )
608608
{
609609
try ( Session session = neo4j.driver().session() )
610610
{
611-
session.run( "CREATE (n {id: {id}})", parameters( "id", id ) );
611+
session.run( "CREATE (n {id: $id})", parameters( "id", id ) );
612612
}
613613
}
614614

615615
private static StatementResult updateNodeId( StatementRunner statementRunner, int currentId, int newId )
616616
{
617-
return statementRunner.run( "MATCH (n {id: {currentId}}) SET n.id = {newId}",
617+
return statementRunner.run( "MATCH (n {id: $currentId}) SET n.id = $newId",
618618
parameters( "currentId", currentId, "newId", newId ) );
619619
}
620620

driver/src/test/java/org/neo4j/driver/integration/StatementIT.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ void shouldRunWithResult()
7373
void shouldRunWithParameters()
7474
{
7575
// When
76-
session.run( "CREATE (n:FirstNode {name:{name}})", parameters( "name", "Steven" ) );
76+
session.run( "CREATE (n:FirstNode {name:$name})", parameters( "name", "Steven" ) );
7777

7878
// Then nothing should've failed
7979
}
@@ -121,7 +121,7 @@ void shouldRunWithNullMapAsParameters()
121121
void shouldRunWithCollectionAsParameter()
122122
{
123123
// When
124-
session.run( "RETURN {param}", parameters( "param", Collections.singleton( "FOO" ) ) );
124+
session.run( "RETURN $param", parameters( "param", Collections.singleton( "FOO" ) ) );
125125

126126
// Then nothing should've failed
127127
}
@@ -131,7 +131,7 @@ void shouldRunWithIteratorAsParameter()
131131
{
132132
Iterator<String> values = asList( "FOO", "BAR", "BAZ" ).iterator();
133133
// When
134-
session.run( "RETURN {param}", parameters( "param", values ) );
134+
session.run( "RETURN $param", parameters( "param", values ) );
135135

136136
// Then nothing should've failed
137137
}
@@ -150,7 +150,7 @@ void shouldRunParameterizedWithResult()
150150
{
151151
// When
152152
List<Record> result =
153-
session.run( "UNWIND {list} AS k RETURN k", parameters( "list", asList( 1, 2, 3 ) ) ).list();
153+
session.run( "UNWIND $list AS k RETURN k", parameters( "list", asList( 1, 2, 3 ) ) ).list();
154154

155155
// Then
156156
assertThat( result.size(), equalTo( 3 ) );

0 commit comments

Comments
 (0)