Skip to content

Commit 7ed45f2

Browse files
author
Zhen Li
committed
Fix cluster tests with 4.0 servers
Fix javadoc errors when running maven install Upgrades cypher queries to use new variable format Backports other fixes to test against 4.0 servers
1 parent 889e048 commit 7ed45f2

27 files changed

+374
-271
lines changed

driver/src/main/java/org/neo4j/driver/v1/Driver.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
* The <a href="https://tools.ietf.org/html/rfc3986">URI</a> passed to
3838
* this method determines the type of Driver created.
3939
* <br>
40-
* <table border="1" cellpadding="4" style="border-collapse: collapse" summary="Available schemes and drivers">
40+
* <table border="1" style="border-collapse: collapse">
41+
* <caption>Available schemes and drivers</caption>
4142
* <thead>
4243
* <tr><th>URI Scheme</th><th>Driver</th></tr>
4344
* </thead>

driver/src/main/java/org/neo4j/driver/v1/Logging.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@
4545
* <p>
4646
* Driver logging API defines the following log levels: ERROR, INFO, WARN, DEBUG and TRACE. They are similar to levels defined by SLF4J but different from
4747
* log levels defined for {@link java.util.logging}. The following mapping takes place:
48-
* <table border="1" cellpadding="4" summary="Driver and JUL log levels">
48+
* <table border="1" style="border-collapse: collapse">
49+
* <caption>Driver and JUL log levels</caption>
4950
* <tr>
5051
* <th>Driver</th>
5152
* <th>java.util.logging</th>

driver/src/main/java/org/neo4j/driver/v1/Value.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public interface Value extends MapAccessor, MapAccessorWithDefaultValue
117117
/**
118118
* If this value represents a list or map, test if the collection is empty.
119119
*
120-
* @return <tt>true</tt> if size() is 0, otherwise <tt>false</tt>
120+
* @return {@code true} if size() is 0, otherwise {@code false}
121121
*/
122122
boolean isEmpty();
123123

@@ -154,17 +154,17 @@ public interface Value extends MapAccessor, MapAccessorWithDefaultValue
154154
boolean hasType( Type type );
155155

156156
/**
157-
* @return <tt>true</tt> if the value is a Boolean value and has the value True.
157+
* @return {@code true} if the value is a Boolean value and has the value True.
158158
*/
159159
boolean isTrue();
160160

161161
/**
162-
* @return <tt>true</tt> if the value is a Boolean value and has the value False.
162+
* @return {@code true} if the value is a Boolean value and has the value False.
163163
*/
164164
boolean isFalse();
165165

166166
/**
167-
* @return <tt>true</tt> if the value is a Null, otherwise <tt>false</tt>
167+
* @return {@code true} if the value is a Null, otherwise {@code false}
168168
*/
169169
boolean isNull();
170170

driver/src/main/java/org/neo4j/driver/v1/Values.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,7 +679,7 @@ public static Function<Value,List<Object>> ofList()
679679
}
680680

681681
/**
682-
* Converts values to {@link List} of <tt>T</tt>.
682+
* Converts values to {@link List} of {@code T}.
683683
*
684684
* @param innerMap converter for the values inside the list
685685
* @param <T> the type of values inside the list

driver/src/main/java/org/neo4j/driver/v1/types/MapAccessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public interface MapAccessor
4646
* Check if the list of keys contains the given key
4747
*
4848
* @param key the key
49-
* @return <tt>true</tt> if this map keys contains the given key otherwise <tt>false</tt>
49+
* @return {@code true} if this map keys contains the given key otherwise {@code false}
5050
*/
5151
boolean containsKey( String key );
5252

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.neo4j.driver.v1.util.SessionExtension;
3636

3737
import static java.util.Arrays.asList;
38+
import static org.hamcrest.Matchers.containsString;
3839
import static org.hamcrest.Matchers.startsWith;
3940
import static org.hamcrest.junit.MatcherAssert.assertThat;
4041
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -92,7 +93,7 @@ void shouldThrowForUnreachableBookmark()
9293
createNodeInTx( session );
9394

9495
TransientException e = assertThrows( TransientException.class, () -> session.beginTransaction( session.lastBookmark() + 42 ) );
95-
assertThat( e.getMessage(), startsWith( "Database not up to the requested version" ) );
96+
assertThat( e.getMessage(), containsString( "not up to the requested version" ) );
9697
}
9798

9899
@Test

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

Lines changed: 77 additions & 107 deletions
Large diffs are not rendered by default.

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ void connectionUsedForTransactionReturnedToThePoolWhenTransactionFailsToCommitte
243243
{
244244
try ( Session session = driver.session() )
245245
{
246-
session.run( "CREATE CONSTRAINT ON (book:Book) ASSERT exists(book.isbn)" );
246+
session.run( "CREATE CONSTRAINT ON (book:Library) ASSERT exists(book.isbn)" );
247247
}
248248

249249
Connection connection1 = connectionPool.lastAcquiredConnectionSpy;
@@ -271,7 +271,7 @@ private StatementResult createNodesInNewSession( int nodesToCreate )
271271

272272
private StatementResult createNodes( int nodesToCreate, StatementRunner statementRunner )
273273
{
274-
return statementRunner.run( "UNWIND range(1, {nodesToCreate}) AS i CREATE (n {index: i}) RETURN n",
274+
return statementRunner.run( "UNWIND range(1, $nodesToCreate) AS i CREATE (n {index: i}) RETURN n",
275275
parameters( "nodesToCreate", nodesToCreate ) );
276276
}
277277

driver/src/test/java/org/neo4j/driver/v1/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/v1/integration/ParametersIT.java

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ void shouldBeAbleToSetAndReturnBooleanProperty()
7171
{
7272
// When
7373
StatementResult result = session.run(
74-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", true ) );
74+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", true ) );
7575

7676
// Then
7777
for ( Record record : result.list() )
@@ -87,7 +87,7 @@ void shouldBeAbleToSetAndReturnByteProperty()
8787
{
8888
// When
8989
StatementResult result = session.run(
90-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", (byte) 1 ) );
90+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", (byte) 1 ) );
9191

9292
// Then
9393
for ( Record record : result.list() )
@@ -103,7 +103,7 @@ void shouldBeAbleToSetAndReturnShortProperty()
103103
{
104104
// When
105105
StatementResult result = session.run(
106-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", (short) 1 ) );
106+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", (short) 1 ) );
107107

108108
// Then
109109
for ( Record record : result.list() )
@@ -119,7 +119,7 @@ void shouldBeAbleToSetAndReturnIntegerProperty()
119119
{
120120
// When
121121
StatementResult result = session.run(
122-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", 1 ) );
122+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", 1 ) );
123123

124124
// Then
125125
for ( Record record : result.list() )
@@ -136,7 +136,7 @@ void shouldBeAbleToSetAndReturnLongProperty()
136136
{
137137
// When
138138
StatementResult result = session.run(
139-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", 1L ) );
139+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", 1L ) );
140140

141141
// Then
142142
for ( Record record : result.list() )
@@ -153,7 +153,7 @@ void shouldBeAbleToSetAndReturnDoubleProperty()
153153
{
154154
// When
155155
StatementResult result = session.run(
156-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", 6.28 ) );
156+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", 6.28 ) );
157157

158158
// Then
159159
for ( Record record : result.list() )
@@ -187,7 +187,7 @@ void shouldThrowExceptionWhenServerDoesNotSupportBytes()
187187
// When
188188
ServiceUnavailableException e = assertThrows( ServiceUnavailableException.class, () ->
189189
{
190-
StatementResult result = session.run( "CREATE (a {value:{value}}) RETURN a.value", parameters( "value", byteArray ) );
190+
StatementResult result = session.run( "CREATE (a {value:$value}) RETURN a.value", parameters( "value", byteArray ) );
191191
result.single();
192192
} );
193193
assertThat( e.getCause().getMessage(), containsString( "Packing bytes is not supported" ) );
@@ -208,7 +208,7 @@ void shouldBeAbleToSetAndReturnBooleanArrayProperty()
208208
// When
209209
boolean[] arrayValue = new boolean[]{true, true, true};
210210
StatementResult result = session.run(
211-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", arrayValue ) );
211+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", arrayValue ) );
212212

213213
// Then
214214
for ( Record record : result.list() )
@@ -231,7 +231,7 @@ void shouldBeAbleToSetAndReturnIntegerArrayProperty()
231231
// When
232232
int[] arrayValue = new int[]{42, 42, 42};
233233
StatementResult result = session.run(
234-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", arrayValue ) );
234+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", arrayValue ) );
235235

236236
// Then
237237
for ( Record record : result.list() )
@@ -254,7 +254,7 @@ void shouldBeAbleToSetAndReturnDoubleArrayProperty()
254254
// When
255255
double[] arrayValue = new double[]{6.28, 6.28, 6.28};
256256
StatementResult result = session.run(
257-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", arrayValue ) );
257+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", arrayValue ) );
258258

259259
// Then
260260
for ( Record record : result.list() )
@@ -282,7 +282,7 @@ private static void testStringArrayContaining( String str )
282282
String[] arrayValue = new String[]{str, str, str};
283283

284284
StatementResult result = session.run(
285-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", arrayValue ) );
285+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", arrayValue ) );
286286

287287
// Then
288288
for ( Record record : result.list() )
@@ -314,7 +314,7 @@ void shouldHandleLargeString()
314314
String bigString = new String( bigStr );
315315

316316
// When
317-
Value val = session.run( "RETURN {p} AS p", parameters( "p", bigString ) ).peek().get( "p" );
317+
Value val = session.run( "RETURN $p AS p", parameters( "p", bigString ) ).peek().get( "p" );
318318

319319
// Then
320320
assertThat( val.asString(), equalTo( bigString ) );
@@ -325,7 +325,7 @@ void shouldBeAbleToSetAndReturnBooleanPropertyWithinMap()
325325
{
326326
// When
327327
StatementResult result = session.run(
328-
"CREATE (a {value:{value}.v}) RETURN a.value",
328+
"CREATE (a {value:$value.v}) RETURN a.value",
329329
parameters( "value", parameters( "v", true ) ) );
330330

331331
// Then
@@ -343,7 +343,7 @@ void shouldBeAbleToSetAndReturnIntegerPropertyWithinMap()
343343
{
344344
// When
345345
StatementResult result = session.run(
346-
"CREATE (a {value:{value}.v}) RETURN a.value",
346+
"CREATE (a {value:$value.v}) RETURN a.value",
347347
parameters( "value", parameters( "v", 42 ) ) );
348348

349349
// Then
@@ -361,7 +361,7 @@ void shouldBeAbleToSetAndReturnDoublePropertyWithinMap()
361361
{
362362
// When
363363
StatementResult result = session.run(
364-
"CREATE (a {value:{value}.v}) RETURN a.value",
364+
"CREATE (a {value:$value.v}) RETURN a.value",
365365
parameters( "value", parameters( "v", 6.28 ) ) );
366366

367367
// Then
@@ -379,7 +379,7 @@ void shouldBeAbleToSetAndReturnStringPropertyWithinMap()
379379
{
380380
// When
381381
StatementResult result = session.run(
382-
"CREATE (a {value:{value}.v}) RETURN a.value",
382+
"CREATE (a {value:$value.v}) RETURN a.value",
383383
parameters( "value", parameters( "v", "Mjölnir" ) ) );
384384

385385
// Then
@@ -485,7 +485,7 @@ void shouldAcceptStreamsAsQueryParameters()
485485

486486
private static void testBytesProperty( byte[] array )
487487
{
488-
StatementResult result = session.run( "CREATE (a {value:{value}}) RETURN a.value", parameters( "value", array ) );
488+
StatementResult result = session.run( "CREATE (a {value:$value}) RETURN a.value", parameters( "value", array ) );
489489

490490
for ( Record record : result.list() )
491491
{
@@ -498,7 +498,7 @@ private static void testBytesProperty( byte[] array )
498498
private static void testStringProperty( String string )
499499
{
500500
StatementResult result = session.run(
501-
"CREATE (a {value:{value}}) RETURN a.value", parameters( "value", string ) );
501+
"CREATE (a {value:$value}) RETURN a.value", parameters( "value", string ) );
502502

503503
for ( Record record : result.list() )
504504
{

driver/src/test/java/org/neo4j/driver/v1/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/v1/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/v1/integration/SessionIT.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1320,7 +1320,7 @@ private int countNodesWithId( int id )
13201320
{
13211321
try ( Session session = neo4j.driver().session() )
13221322
{
1323-
StatementResult result = session.run( "MATCH (n {id: {id}}) RETURN count(n)", parameters( "id", id ) );
1323+
StatementResult result = session.run( "MATCH (n {id: $id}) RETURN count(n)", parameters( "id", id ) );
13241324
return result.single().get( 0 ).asInt();
13251325
}
13261326
}
@@ -1329,13 +1329,13 @@ private void createNodeWithId( int id )
13291329
{
13301330
try ( Session session = neo4j.driver().session() )
13311331
{
1332-
session.run( "CREATE (n {id: {id}})", parameters( "id", id ) );
1332+
session.run( "CREATE (n {id: $id})", parameters( "id", id ) );
13331333
}
13341334
}
13351335

13361336
private static StatementResult updateNodeId( StatementRunner statementRunner, int currentId, int newId )
13371337
{
1338-
return statementRunner.run( "MATCH (n {id: {currentId}}) SET n.id = {newId}",
1338+
return statementRunner.run( "MATCH (n {id: $currentId}) SET n.id = $newId",
13391339
parameters( "currentId", currentId, "newId", newId ) );
13401340
}
13411341

0 commit comments

Comments
 (0)