Skip to content

1.2 examples #348

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import java.util.HashSet;

import org.neo4j.driver.v1.AccessMode;
import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.v1.Session;
Expand All @@ -34,6 +35,7 @@
import org.neo4j.driver.v1.exceptions.ClientException;
import org.neo4j.driver.v1.exceptions.TransientException;
import org.neo4j.driver.v1.util.ServerVersion;
import org.neo4j.driver.v1.util.TestNeo4j;
import org.neo4j.driver.v1.util.TestNeo4jSession;

import static java.util.Arrays.asList;
Expand Down Expand Up @@ -73,8 +75,8 @@ public void assumeBookmarkSupport()
public void shouldConnectIPv6Uri()
{
// Given
try( Driver driver = GraphDatabase.driver( "bolt://[::1]:7687" );
Session session = driver.session() )
try(Driver driver = GraphDatabase.driver( "bolt://[::1]:7687", AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD) );
Session session = driver.session() )
{
// When
StatementResult result = session.run( "RETURN 1" );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public class ConnectionHandlingIT
public void createDriver()
{
DriverFactoryWithConnector driverFactory = new DriverFactoryWithConnector();
AuthToken auth = AuthTokens.none();
AuthToken auth = neo4j.authToken();
RoutingSettings routingSettings = new RoutingSettings( 1, 1 );
RetrySettings retrySettings = RetrySettings.DEFAULT;
driver = driverFactory.newInstance( neo4j.uri(), auth, routingSettings, retrySettings, defaultConfig() );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@

import org.neo4j.driver.internal.logging.ConsoleLogging;
import org.neo4j.driver.v1.AccessMode;
import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Config;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
Expand Down Expand Up @@ -123,7 +124,7 @@ public static class DirectDriverCloseIT extends DriverCloseITBase
@Override
protected Driver createDriver()
{
return GraphDatabase.driver( neo4j.uri() );
return GraphDatabase.driver( neo4j.uri(), neo4j.authToken() );
}

@Test
Expand Down Expand Up @@ -173,7 +174,7 @@ protected Driver createDriver()
.withLogging( new ConsoleLogging( Level.OFF ) )
.toConfig();

return GraphDatabase.driver( "bolt+routing://127.0.0.1:9001", config );
return GraphDatabase.driver( "bolt+routing://127.0.0.1:9001", AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD), config );
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class EncryptionIT
public void shouldOperateWithNoEncryption() throws Exception
{
// Given
Driver driver = GraphDatabase.driver( neo4j.uri(), Config.build().withEncryptionLevel( NONE ).toConfig() );
Driver driver = GraphDatabase.driver( neo4j.uri(), neo4j.authToken(), Config.build().withEncryptionLevel( NONE ).toConfig() );

// Then
assertThat( driver.isEncrypted(), equalTo( false ) );
Expand All @@ -60,7 +60,7 @@ public void shouldOperateWithNoEncryption() throws Exception
public void shouldOperateWithRequiredEncryption() throws Exception
{
// Given
Driver driver = GraphDatabase.driver( neo4j.uri(), Config.build().withEncryptionLevel( REQUIRED ).toConfig() );
Driver driver = GraphDatabase.driver( neo4j.uri(), neo4j.authToken(), Config.build().withEncryptionLevel( REQUIRED ).toConfig() );

// Then
assertThat( driver.isEncrypted(), equalTo( true ) );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

import java.io.IOException;

import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
import org.neo4j.driver.v1.Session;
Expand All @@ -43,8 +44,8 @@ public class LoadCSVIT
@Test
public void shouldLoadCSV() throws Throwable
{
try( Driver driver = GraphDatabase.driver( neo4j.uri() );
Session session = driver.session() )
try( Driver driver = GraphDatabase.driver( neo4j.uri(), AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD) );
Session session = driver.session() )
{
String csvFileUrl = createLocalIrisData( session );

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

import java.net.URI;

import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Config;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
Expand Down Expand Up @@ -52,6 +53,7 @@ public void logShouldRecordDebugAndTraceInfo() throws Exception

try( Driver driver = GraphDatabase.driver(
Neo4jRunner.DEFAULT_URI,
AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD),
Config.build().withLogging( logging ).toConfig() ) )
{
// When
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public void shouldRecoverFromServerRestart() throws Throwable
// config with sessionLivenessCheckTimeout not set, i.e. turned off
Config config = Config.build().withEncryptionLevel( encryptionLevel ).toConfig();

try ( Driver driver = GraphDatabase.driver( Neo4jRunner.DEFAULT_URI, config ) )
try ( Driver driver = GraphDatabase.driver( Neo4jRunner.DEFAULT_URI, AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD), config ) )
{
acquireAndReleaseConnections( 4, driver );

Expand Down Expand Up @@ -158,7 +158,7 @@ private static void acquireAndReleaseConnections( int count, Driver driver )
private static Driver createDriver( Clock clock, Config config )
{
DriverFactory factory = new DriverFactoryWithClock( clock );
AuthToken auth = AuthTokens.none();
AuthToken auth = AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD);
RoutingSettings routingSettings = new RoutingSettings( 1, 1 );
RetrySettings retrySettings = RetrySettings.DEFAULT;
return factory.newInstance( Neo4jRunner.DEFAULT_URI, auth, routingSettings, retrySettings, config );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1341,13 +1341,13 @@ private Driver newDriverWithFixedRetries( int maxRetriesCount )
{
DriverFactory driverFactory = new DriverFactoryWithFixedRetryLogic( maxRetriesCount );
RoutingSettings routingConf = new RoutingSettings( 1, 1 );
AuthToken auth = AuthTokens.none();
AuthToken auth = AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD);
return driverFactory.newInstance( neo4j.uri(), auth, routingConf, RetrySettings.DEFAULT, noLoggingConfig() );
}

private Driver newDriver()
{
return GraphDatabase.driver( neo4j.uri(), noLoggingConfig() );
return GraphDatabase.driver( neo4j.uri(), AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD), noLoggingConfig() );
}

private Driver newDriverWithLimitedRetries( int maxTxRetryTime, TimeUnit unit )
Expand All @@ -1356,7 +1356,7 @@ private Driver newDriverWithLimitedRetries( int maxTxRetryTime, TimeUnit unit )
.withLogging( DevNullLogging.DEV_NULL_LOGGING )
.withMaxTransactionRetryTime( maxTxRetryTime, unit )
.toConfig();
return GraphDatabase.driver( neo4j.uri(), config );
return GraphDatabase.driver( neo4j.uri(), AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD), config );
}

private static Config noLoggingConfig()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import org.neo4j.driver.internal.security.SecurityPlan;
import org.neo4j.driver.internal.security.TLSSocketChannel;
import org.neo4j.driver.internal.util.CertificateTool;
import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Config;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;
Expand Down Expand Up @@ -300,7 +301,7 @@ public void shouldEstablishTLSConnection() throws Throwable

Config config = Config.build().withEncryptionLevel( Config.EncryptionLevel.REQUIRED ).toConfig();

try( Driver driver = GraphDatabase.driver( Neo4jRunner.DEFAULT_URI, config );
try( Driver driver = GraphDatabase.driver( Neo4jRunner.DEFAULT_URI, AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD), config );
Session session = driver.session() )
{
StatementResult result = session.run( "RETURN 1" );
Expand Down Expand Up @@ -328,8 +329,8 @@ public void shouldWarnIfUsingDeprecatedTLSOption() throws Throwable
.toConfig();

// When
try ( Driver driver = GraphDatabase.driver( Neo4jRunner.DEFAULT_URI, config );
Session session = driver.session() )
try (Driver driver = GraphDatabase.driver( Neo4jRunner.DEFAULT_URI, AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD), config );
Session session = driver.session() )
{
session.run( "RETURN 1" ).consume();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;

import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Config;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.Session;
Expand Down Expand Up @@ -83,7 +84,7 @@ public void shouldWorkFine() throws Throwable
.withEncryptionLevel( Config.EncryptionLevel.NONE )
.toConfig();

driver = driver( neo4j.uri(), config );
driver = driver( neo4j.uri(), neo4j.authToken(), config );

AtomicBoolean stop = new AtomicBoolean();
AtomicReference<Throwable> failureReference = new AtomicReference<>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import java.io.File;
import java.security.cert.X509Certificate;

import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Config;
import org.neo4j.driver.v1.Config.EncryptionLevel;
import org.neo4j.driver.v1.Driver;
Expand All @@ -37,6 +38,7 @@
import org.neo4j.driver.v1.util.CertificateToolTest.CertificateSigningRequestGenerator;
import org.neo4j.driver.v1.util.CertificateToolTest.SelfSignedCertificateGenerator;
import org.neo4j.driver.v1.util.Neo4jRunner;
import org.neo4j.driver.v1.util.TestNeo4j;

import static java.io.File.createTempFile;
import static org.hamcrest.CoreMatchers.containsString;
Expand Down Expand Up @@ -72,6 +74,7 @@ public void firstUseConnect() throws Throwable
knownHostsFile = tempFile( "known_hosts", ".tmp" );
driver = GraphDatabase.driver(
Neo4jRunner.DEFAULT_URI,
Neo4jRunner.DEFAULT_AUTH_TOKEN,
Config.build().withEncryptionLevel( EncryptionLevel.REQUIRED )
.withTrustStrategy( trustOnFirstUse( knownHostsFile ) ).toConfig() );

Expand Down Expand Up @@ -101,6 +104,7 @@ public void iConnectViaATlsEnabledTransportAgain() throws Throwable
{
driver = GraphDatabase.driver(
Neo4jRunner.DEFAULT_URI,
AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD),
Config.build().withEncryptionLevel( EncryptionLevel.REQUIRED )
.withTrustStrategy( trustOnFirstUse( knownHostsFile ) ).toConfig() );
}
Expand Down Expand Up @@ -166,6 +170,7 @@ public void twoDriversWithDifferentKnownHostsFiles() throws Throwable
File tempFile = tempFile( "known_hosts", ".tmp" );
driverKitten = GraphDatabase.driver(
Neo4jRunner.DEFAULT_URI,
AuthTokens.basic(TestNeo4j.USER, TestNeo4j.PASSWORD),
Config.build().withEncryptionLevel( EncryptionLevel.REQUIRED )
.withTrustStrategy( trustOnFirstUse( tempFile ) ).toConfig() );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,13 @@
import java.util.Map;

import org.neo4j.driver.internal.net.BoltServerAddress;
import org.neo4j.driver.v1.AuthToken;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.GraphDatabase;

import static java.util.Arrays.asList;
import static org.junit.Assume.assumeTrue;
import static org.neo4j.driver.v1.AuthTokens.basic;
import static org.neo4j.driver.v1.ConfigTest.deleteDefaultKnownCertFileIfExists;
import static org.neo4j.driver.v1.util.FileTools.moveFile;
import static org.neo4j.driver.v1.util.FileTools.updateProperties;
Expand All @@ -52,6 +54,7 @@ public class Neo4jRunner
private static final String DEFAULT_NEOCTRL_ARGS = "-e 3.1.2";
public static final String NEOCTRL_ARGS = System.getProperty( "neoctrl.args", DEFAULT_NEOCTRL_ARGS );
public static final URI DEFAULT_URI = URI.create( "bolt://localhost:7687" );
public static final AuthToken DEFAULT_AUTH_TOKEN = basic(TestNeo4j.USER, TestNeo4j.PASSWORD);
public static final BoltServerAddress DEFAULT_ADDRESS = BoltServerAddress.from( DEFAULT_URI );
private Driver driver;
private Neo4jSettings currentSettings = Neo4jSettings.TEST_SETTINGS;
Expand Down Expand Up @@ -104,7 +107,7 @@ public Driver driver()
{
if ( driver == null )
{
driver = GraphDatabase.driver( DEFAULT_URI );
driver = GraphDatabase.driver( DEFAULT_URI, DEFAULT_AUTH_TOKEN );
}
return driver;
}
Expand Down Expand Up @@ -137,10 +140,10 @@ private void installNeo4j() throws IOException
updateServerSettingsFile();
}

private void startNeo4j() throws IOException
public void startNeo4j() throws IOException
{
debug( "Starting server..." );
executeCommand( "neoctrl-create-user", HOME_DIR, "neo4j", "neo4j" );
executeCommand( "neoctrl-create-user", HOME_DIR, TestNeo4j.USER, TestNeo4j.PASSWORD );
executeCommand( "neoctrl-start", HOME_DIR );
debug( "Server started." );
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public class Neo4jSettings
CERT_DIR, DEFAULT_CERT_DIR,
DATA_DIR, DEFAULT_DATA_DIR,
IMPORT_DIR, DEFAULT_IMPORT_DIR,
AUTH_ENABLED, "false",
AUTH_ENABLED, "true",
LISTEN_ADDR, IPV6_ENABLED_ADDR ), Collections.<String>emptySet() );

private Neo4jSettings( Map<String, String> settings, Set<String> excludes )
Expand Down
20 changes: 20 additions & 0 deletions driver/src/test/java/org/neo4j/driver/v1/util/TestNeo4j.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,20 @@
import java.net.URL;

import org.neo4j.driver.internal.net.BoltServerAddress;
import org.neo4j.driver.v1.AuthToken;
import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.Driver;
import org.neo4j.driver.v1.Session;

import static org.neo4j.driver.v1.AuthTokens.basic;
import static org.neo4j.driver.v1.util.Neo4jRunner.*;
import static org.neo4j.driver.v1.util.Neo4jSettings.DEFAULT_TLS_CERT_PATH;
import static org.neo4j.driver.v1.util.Neo4jSettings.DEFAULT_TLS_KEY_PATH;

public class TestNeo4j implements TestRule
{
public static final String USER = "neo4j";
public static final String PASSWORD = "password";
public static final String TEST_RESOURCE_FOLDER_PATH = "src/test/resources";
private final Neo4jSettings settings;
private Neo4jRunner runner;
Expand Down Expand Up @@ -107,6 +112,11 @@ public URI uri()
return DEFAULT_URI;
}

public AuthToken authToken()
{
return AuthTokens.basic(USER, PASSWORD);
}

public BoltServerAddress address()
{
return DEFAULT_ADDRESS;
Expand Down Expand Up @@ -148,4 +158,14 @@ public void ensureProcedures( String jarName ) throws IOException
runner.forceToRestart(); // needs to force to restart as no configuration changed
}
}

public void start() throws IOException
{
runner.startNeo4j();
}

public void stop() throws IOException
{
runner.stopNeo4j();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import org.neo4j.driver.v1.AuthTokens;
import org.neo4j.driver.v1.util.Neo4jRunner;
import org.neo4j.driver.v1.util.ServerVersion;
import org.neo4j.driver.v1.util.TestNeo4j;

import static org.junit.Assume.assumeTrue;
import static org.neo4j.driver.v1.util.Neo4jRunner.TARGET_DIR;
Expand Down
8 changes: 8 additions & 0 deletions examples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,14 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.neo4j.docs.driver;

// tag::autocommit-transaction-import[]

import org.neo4j.driver.v1.Session;

import static org.neo4j.driver.v1.Values.parameters;
// end::autocommit-transaction-import[]

public class AutocommitTransactionExample extends BaseApplication
{
public AutocommitTransactionExample(String uri, String user, String password)
{
super(uri, user, password);
}

// tag::autocommit-transaction[]
public void addPerson(String name)
{
try (Session session = driver.session())
{
session.run("CREATE (a:Person {name: $name})", parameters("name", name));
}
}
// end::autocommit-transaction[]

}
Loading