Skip to content

Commit 1b7d618

Browse files
committed
Guard couple tests with assumption about bookmark support
Some newly added tests check bookmark to assert that read transaction was committed. They failed when using Neo4j version earlier than 3.1.0 because those are not bookmark-aware. This commit guards such tests with JUnit assumption about bookmark support based on server version.
1 parent 41dc339 commit 1b7d618

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.neo4j.driver.v1.Transaction;
3232
import org.neo4j.driver.v1.exceptions.ClientException;
3333
import org.neo4j.driver.v1.exceptions.TransientException;
34+
import org.neo4j.driver.v1.util.ServerVersion;
3435
import org.neo4j.driver.v1.util.TestNeo4jSession;
3536

3637
import static java.util.Arrays.asList;
@@ -43,7 +44,6 @@
4344
import static org.junit.Assert.fail;
4445
import static org.junit.Assume.assumeTrue;
4546
import static org.neo4j.driver.v1.util.ServerVersion.v3_1_0;
46-
import static org.neo4j.driver.v1.util.ServerVersion.version;
4747

4848
public class BookmarkIT
4949
{
@@ -61,8 +61,8 @@ public void assumeBookmarkSupport()
6161
driver = sessionRule.driver();
6262
session = sessionRule;
6363

64-
String version = session.run( "RETURN 1" ).consume().server().version();
65-
assumeTrue( version( version ).greaterThanOrEqual( v3_1_0 ) );
64+
ServerVersion serverVersion = ServerVersion.version( driver );
65+
assumeTrue( serverVersion.greaterThanOrEqual( v3_1_0 ) );
6666
}
6767

6868
@Test

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import org.neo4j.driver.v1.exceptions.ClientException;
4545
import org.neo4j.driver.v1.exceptions.Neo4jException;
4646
import org.neo4j.driver.v1.exceptions.ServiceUnavailableException;
47+
import org.neo4j.driver.v1.util.ServerVersion;
4748
import org.neo4j.driver.v1.util.TestNeo4j;
4849

4950
import static org.hamcrest.CoreMatchers.containsString;
@@ -60,12 +61,14 @@
6061
import static org.junit.Assert.assertThat;
6162
import static org.junit.Assert.assertTrue;
6263
import static org.junit.Assert.fail;
64+
import static org.junit.Assume.assumeTrue;
6365
import static org.mockito.Matchers.any;
6466
import static org.mockito.Mockito.spy;
6567
import static org.mockito.Mockito.times;
6668
import static org.mockito.Mockito.verify;
6769
import static org.neo4j.driver.v1.Config.defaultConfig;
6870
import static org.neo4j.driver.v1.Values.parameters;
71+
import static org.neo4j.driver.v1.util.ServerVersion.v3_1_0;
6972

7073
public class SessionIT
7174
{
@@ -551,6 +554,7 @@ public void readTxCommittedWithoutTxSuccess()
551554
try ( Driver driver = newDriverWithoutRetries();
552555
Session session = driver.session() )
553556
{
557+
assumeBookmarkSupport( driver );
554558
assertNull( session.lastBookmark() );
555559

556560
long answer = session.readTransaction( new TransactionWork<Long>()
@@ -600,6 +604,7 @@ public void readTxRolledBackWithTxFailure()
600604
try ( Driver driver = newDriverWithoutRetries();
601605
Session session = driver.session() )
602606
{
607+
assumeBookmarkSupport( driver );
603608
assertNull( session.lastBookmark() );
604609

605610
long answer = session.readTransaction( new TransactionWork<Long>()
@@ -654,6 +659,7 @@ public void readTxRolledBackWhenExceptionIsThrown()
654659
try ( Driver driver = newDriverWithoutRetries();
655660
Session session = driver.session() )
656661
{
662+
assumeBookmarkSupport( driver );
657663
assertNull( session.lastBookmark() );
658664

659665
try
@@ -723,6 +729,7 @@ public void readTxRolledBackWhenMarkedBothSuccessAndFailure()
723729
try ( Driver driver = newDriverWithoutRetries();
724730
Session session = driver.session() )
725731
{
732+
assumeBookmarkSupport( driver );
726733
assertNull( session.lastBookmark() );
727734

728735
long answer = session.readTransaction( new TransactionWork<Long>()
@@ -779,6 +786,7 @@ public void readTxRolledBackWhenMarkedAsSuccessAndThrowsException()
779786
try ( Driver driver = newDriverWithoutRetries();
780787
Session session = driver.session() )
781788
{
789+
assumeBookmarkSupport( driver );
782790
assertNull( session.lastBookmark() );
783791

784792
try
@@ -957,6 +965,12 @@ private static ThrowingWork newThrowingWorkSpy( String query, int failures )
957965
return spy( new ThrowingWork( query, failures ) );
958966
}
959967

968+
private static void assumeBookmarkSupport( Driver driver )
969+
{
970+
ServerVersion serverVersion = ServerVersion.version( driver );
971+
assumeTrue( serverVersion.greaterThanOrEqual( v3_1_0 ) );
972+
}
973+
960974
private static class ThrowingWork implements TransactionWork<Record>
961975
{
962976
final String query;

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
import java.util.regex.Matcher;
2222
import java.util.regex.Pattern;
2323

24+
import org.neo4j.driver.v1.Driver;
25+
import org.neo4j.driver.v1.Session;
26+
2427
import static java.lang.Integer.compare;
2528

2629
public class ServerVersion
@@ -41,6 +44,15 @@ private ServerVersion( int major, int minor, int patch )
4144
public static final ServerVersion v3_1_0 = new ServerVersion(3, 1, 0);
4245
public static final ServerVersion v3_0_0 = new ServerVersion(3, 0, 0);
4346

47+
public static ServerVersion version( Driver driver )
48+
{
49+
try ( Session session = driver.session() )
50+
{
51+
String versionString = session.run( "RETURN 1" ).consume().server().version();
52+
return version( versionString );
53+
}
54+
}
55+
4456
public static ServerVersion version( String server )
4557
{
4658
if ( server == null )

0 commit comments

Comments
 (0)