Skip to content

Commit a114b6d

Browse files
authored
Fix more test that fail due to cypher deprecation removals (#1167)
Fix more test that fail due to cypher deprecation
1 parent 80a6333 commit a114b6d

File tree

4 files changed

+56
-28
lines changed

4 files changed

+56
-28
lines changed

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,14 @@ void connectionUsedForTransactionReturnedToThePoolWhenTransactionFailsToCommitte
254254
{
255255
try ( Session session = driver.session() )
256256
{
257-
session.run( "CREATE CONSTRAINT ON (book:Library) ASSERT exists(book.isbn)" );
257+
if ( neo4j.isNeo4j43OrEarlier() )
258+
{
259+
session.run( "CREATE CONSTRAINT ON (book:Library) ASSERT exists(book.isbn)" );
260+
}
261+
else
262+
{
263+
session.run( "CREATE CONSTRAINT FOR (book:Library) REQUIRE book.isbn IS NOT NULL" );
264+
}
258265
}
259266

260267
Connection connection1 = connectionPool.lastAcquiredConnectionSpy;

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

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,17 @@ void shouldExplainConnectionError()
155155
void shouldHandleFailureAtRunTime()
156156
{
157157
String label = UUID.randomUUID().toString(); // avoid clashes with other tests
158-
String query = "CREATE CONSTRAINT ON (a:`" + label + "`) ASSERT a.name IS UNIQUE";
158+
String query;
159+
160+
if ( session.isNeo4j43OrEarlier() )
161+
{
162+
query = "CREATE CONSTRAINT ON (a:`" + label + "`) ASSERT a.name IS UNIQUE";
163+
}
164+
else
165+
{
166+
query = "CREATE CONSTRAINT FOR (a:`" + label + "`) REQUIRE a.name IS UNIQUE";
167+
}
168+
159169
// given
160170
Transaction tx = session.beginTransaction();
161171
tx.run( query );

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

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,28 @@ void shouldContainCorrectStatistics()
125125
assertTrue( session.run( "CREATE (n {magic: 42})" ).consume().counters().containsUpdates() );
126126
assertThat( session.run( "MATCH (n:ALabel) REMOVE n:ALabel " ).consume().counters().labelsRemoved(), equalTo( 1 ) );
127127

128-
assertThat( session.run( "CREATE INDEX superIndex FOR (n:ALabel) ON (n.prop)" ).consume().counters().indexesAdded(), equalTo( 1 ) );
129-
assertThat( session.run( "DROP INDEX superIndex" ).consume().counters().indexesRemoved(), equalTo( 1 ) );
130128

131-
assertThat( session.run( "CREATE CONSTRAINT restrictedConstraint ON (book:Book) ASSERT book.isbn IS UNIQUE" )
132-
.consume().counters().constraintsAdded(), equalTo( 1 ) );
133-
assertThat( session.run( "DROP CONSTRAINT restrictedConstraint" )
134-
.consume().counters().constraintsRemoved(), equalTo( 1 ) );
129+
if ( neo4j.isNeo4j43OrEarlier() )
130+
{
131+
assertThat( session.run( "CREATE INDEX ON :ALabel(prop)" ).consume().counters().indexesAdded(), equalTo( 1 ) );
132+
assertThat( session.run( "DROP INDEX ON :ALabel(prop)" ).consume().counters().indexesRemoved(), equalTo( 1 ) );
133+
134+
assertThat( session.run( "CREATE CONSTRAINT restrictedConstraint ON (book:Book) ASSERT book.isbn IS UNIQUE" )
135+
.consume().counters().constraintsAdded(), equalTo( 1 ) );
136+
assertThat( session.run( "DROP CONSTRAINT restrictedConstraint" )
137+
.consume().counters().constraintsRemoved(), equalTo( 1 ) );
138+
}
139+
else
140+
{
141+
assertThat( session.run( "CREATE INDEX superIndex FOR (n:ALabel) ON (n.prop)" ).consume().counters().indexesAdded(), equalTo( 1 ) );
142+
assertThat( session.run( "DROP INDEX superIndex" ).consume().counters().indexesRemoved(), equalTo( 1 ) );
143+
144+
assertThat( session.run( "CREATE CONSTRAINT restrictedConstraint FOR (book:Book) REQUIRE book.isbn IS UNIQUE" )
145+
.consume().counters().constraintsAdded(), equalTo( 1 ) );
146+
assertThat( session.run( "DROP CONSTRAINT restrictedConstraint" )
147+
.consume().counters().constraintsRemoved(), equalTo( 1 ) );
148+
}
149+
135150
}
136151

137152
@Test
@@ -152,7 +167,14 @@ void shouldContainCorrectQueryType()
152167
assertThat( session.run("MATCH (n) RETURN 1").consume().queryType(), equalTo( QueryType.READ_ONLY ));
153168
assertThat( session.run("CREATE (n)").consume().queryType(), equalTo( QueryType.WRITE_ONLY ));
154169
assertThat( session.run("CREATE (n) RETURN (n)").consume().queryType(), equalTo( QueryType.READ_WRITE ));
155-
assertThat( session.run("CREATE INDEX ON :User(p)").consume().queryType(), equalTo( QueryType.SCHEMA_WRITE ));
170+
if ( neo4j.isNeo4j43OrEarlier() )
171+
{
172+
assertThat( session.run("CREATE INDEX ON :User(p)").consume().queryType(), equalTo( QueryType.SCHEMA_WRITE ));
173+
}
174+
else
175+
{
176+
assertThat( session.run("CREATE INDEX FOR (n:User) ON n.p").consume().queryType(), equalTo( QueryType.SCHEMA_WRITE ));
177+
}
156178
}
157179

158180
@Test

driver/src/test/java/org/neo4j/driver/util/DatabaseExtension.java

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
import org.neo4j.driver.internal.BoltServerAddress;
3535
import org.neo4j.driver.types.TypeSystem;
3636

37-
import static org.junit.Assume.assumeTrue;
37+
import static java.lang.Integer.parseInt;
3838
import static org.neo4j.driver.util.Neo4jRunner.DEFAULT_AUTH_TOKEN;
3939
import static org.neo4j.driver.util.Neo4jRunner.HOME_DIR;
4040
import static org.neo4j.driver.util.Neo4jRunner.debug;
@@ -150,20 +150,6 @@ public File tlsKeyFile()
150150
return new File( HOME_DIR, DEFAULT_TLS_KEY_PATH );
151151
}
152152

153-
public void ensureProcedures( String jarName ) throws IOException
154-
{
155-
// These procedures were written against 3.x API.
156-
// As graph database service API is totally changed since 4.0. These procedures are no long valid.
157-
assumeTrue( getMajorVersion() < 4 );
158-
File procedureJar = new File( HOME_DIR, "plugins/" + jarName );
159-
if ( !procedureJar.exists() )
160-
{
161-
FileTools.copyFile( new File( TEST_RESOURCE_FOLDER_PATH, jarName ), procedureJar );
162-
debug( "Added a new procedure `%s`", jarName );
163-
runner.forceToRestart(); // needs to force restart as no configuration changed
164-
}
165-
}
166-
167153
public void startDb()
168154
{
169155
runner.startNeo4j();
@@ -174,13 +160,16 @@ public void stopDb()
174160
runner.stopNeo4j();
175161
}
176162

177-
public int getMajorVersion()
163+
public boolean isNeo4j43OrEarlier()
178164
{
179165
try ( Session session = driver().session() )
180166
{
181-
String protocolVersion = session.readTransaction( tx -> tx.run( "RETURN 1" ).consume().server().protocolVersion() );
182-
String[] versions = protocolVersion.split( "\\." );
183-
return Integer.parseInt( versions[0] );
167+
String neo4jVersion = session.readTransaction( tx -> tx.run( "CALL dbms.components() YIELD versions " +
168+
"RETURN versions[0] AS version" ).single().get( "version" ).asString() );
169+
String[] versions = neo4jVersion.split( "\\." );
170+
int major = parseInt( versions[0] );
171+
int minor = parseInt( versions[1] );
172+
return major <= 4 && minor <= 3;
184173
}
185174
}
186175

0 commit comments

Comments
 (0)