Skip to content

Commit 966fd38

Browse files
author
Zhen
committed
Cluster also read the same Neo4j version from env var.
Cluster tests are skipped if the server version is older than 3.1
1 parent 516ee0d commit 966fd38

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

driver/src/test/java/org/neo4j/driver/v1/util/Neo4jRunner.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,14 +47,13 @@ public class Neo4jRunner
4747
private static final boolean debug = Boolean.getBoolean( "neo4j.runner.debug" );
4848

4949
private static final String DEFAULT_NEOCTRL_ARGS = "-e 3.1.2";
50-
private static final String NEOCTRL_ARGS = System.getProperty( "neoctrl.args" ) == null?
51-
DEFAULT_NEOCTRL_ARGS : System.getProperty( "neoctrl.args" );
50+
public static final String NEOCTRL_ARGS = System.getProperty( "neoctrl.args", DEFAULT_NEOCTRL_ARGS );
5251
public static final URI DEFAULT_URI = URI.create( "bolt://localhost:7687" );
5352
public static final BoltServerAddress DEFAULT_ADDRESS = BoltServerAddress.from( DEFAULT_URI );
5453
private Driver driver;
5554
private Neo4jSettings currentSettings = Neo4jSettings.DEFAULT_SETTINGS;
5655

57-
private static final String NEO4J_PATH = new File( "../target/neo4j" ).getAbsolutePath();
56+
private static final String NEO4J_DIR = new File( "../target/neo4j" ).getAbsolutePath();
5857
public static String NEO4J_HOME;
5958

6059
/** Global runner controlling a single server, used to avoid having to restart the server between tests */
@@ -111,12 +110,9 @@ private void installNeo4j() throws IOException
111110

112111
List<String> commands = new ArrayList<>();
113112
commands.add( "neoctrl-install" );
114-
if( NEOCTRL_ARGS != null )
115-
{
116-
String[] split = NEOCTRL_ARGS.trim().split( "\\s+" );
117-
commands.addAll( asList( split ) );
118-
}
119-
commands.add( NEO4J_PATH );
113+
String[] split = NEOCTRL_ARGS.trim().split( "\\s+" );
114+
commands.addAll( asList( split ) );
115+
commands.add( NEO4J_DIR );
120116

121117
NEO4J_HOME = executeCommand( commands ).trim();
122118

driver/src/test/java/org/neo4j/driver/v1/util/cc/ClusterRule.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030

3131
import org.neo4j.driver.v1.AuthToken;
3232
import org.neo4j.driver.v1.AuthTokens;
33+
import org.neo4j.driver.v1.util.Neo4jRunner;
34+
import org.neo4j.driver.v1.util.ServerVersion;
3335

3436
import static org.junit.Assume.assumeTrue;
3537

@@ -39,8 +41,6 @@ public class ClusterRule extends ExternalResource
3941
private static final String PASSWORD = "test";
4042
private static final int INITIAL_PORT = 20_000;
4143

42-
// todo: neo4j version should come from environment variables
43-
private static final String NEO4J_VERSION = "3.1.0";
4444
// todo: should be possible to configure (dynamically add/remove) cores and read replicas
4545
private static final int CORE_COUNT = 3;
4646
private static final int READ_REPLICA_COUNT = 2;
@@ -64,7 +64,8 @@ protected void before() throws Throwable
6464
{
6565
deleteClusterDir();
6666

67-
SharedCluster.install( NEO4J_VERSION, CORE_COUNT, READ_REPLICA_COUNT, PASSWORD, INITIAL_PORT, CLUSTER_DIR );
67+
SharedCluster.install( parseNeo4jVersion(),
68+
CORE_COUNT, READ_REPLICA_COUNT, PASSWORD, INITIAL_PORT, CLUSTER_DIR );
6869

6970
try
7071
{
@@ -101,6 +102,15 @@ protected void after()
101102
cluster.deleteData();
102103
}
103104

105+
private static String parseNeo4jVersion()
106+
{
107+
String[] split = Neo4jRunner.NEOCTRL_ARGS.split( "\\s+" );
108+
String version = split[split.length - 1];
109+
// if the server version is older than 3.1 series, then ignore the tests
110+
assumeTrue( ServerVersion.version( "Neo4j/" + version ).greaterThanOrEqual( ServerVersion.v3_1_0 ) );
111+
return version;
112+
}
113+
104114
private static void addShutdownHookToStopCluster()
105115
{
106116
Runtime.getRuntime().addShutdownHook( new Thread()

0 commit comments

Comments
 (0)