private static Driver newConfiguredDriverInstance(Configuration configuration) { String driverClassName = configuration.getDriverClassName(); try { final Class<?> driverClass = Class.forName(driverClassName); final Driver driver = (Driver) driverClass.newInstance(); driver.configure(configuration); return driver; } catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) { throw new ConfigurationException("Could not load driver class " + driverClassName, e); } }
@BeforeClass public static void setupMultiDriverTestEnvironment() { if (baseConfiguration.build().getDriverClassName().equals(EmbeddedDriver.class.getCanonicalName())) { baseConfiguration.uri(graphStore.toURI().toString()).build(); } else { baseConfiguration.uri(testServer.getUri()).credentials(testServer.getUsername(), testServer.getPassword()); } if (driver == null) { Configuration configuration = getBaseConfiguration().build(); driver = newDriverInstance(configuration.getDriverClassName()); driver.configure(configuration); } }
this.uri = parsedUri.toString().replace(parsedUri.getUserInfo() + "@", ""); if (getDriverClassName() == null) { this.driverName = Drivers.getDriverFor(parsedUri.getScheme()).driverClassName();
@Test public void shouldConfigureFromFilesystemPropertiesFileURI() throws Exception { File file = new File(getConfigFileAsRelativePath()); FileConfigurationSource source = new FileConfigurationSource(file.toURI().toString()); Configuration configuration = new Configuration.Builder(source).build(); assertThat(configuration.getAutoIndex()).isEqualTo(AutoIndexMode.NONE); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.http.driver.HttpDriver"); assertThat(configuration.getCredentials().credentials().toString()).isEqualTo("bmVvNGo6cGFzc3dvcmQ="); assertThat(configuration.getURI()).isEqualTo("http://localhost:7474"); }
@Test public void shouldConfigureFromFilesystemPropertiesFilePath() throws Exception { File file = new File(getConfigFileAsRelativePath()); FileConfigurationSource source = new FileConfigurationSource(file.getAbsolutePath()); Configuration configuration = new Configuration.Builder(source).build(); assertThat(configuration.getAutoIndex()).isEqualTo(AutoIndexMode.NONE); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.http.driver.HttpDriver"); assertThat(configuration.getCredentials().credentials().toString()).isEqualTo("bmVvNGo6cGFzc3dvcmQ="); assertThat(configuration.getURI()).isEqualTo("http://localhost:7474"); }
@Test public void shouldParseHttpUriSchemesCaseInsensitive() { Configuration configuration = new Configuration.Builder() .uri("HTTP://localhost") .build(); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.http.driver.HttpDriver"); assertThat(configuration.getURI()).isEqualTo("HTTP://localhost"); configuration = new Configuration.Builder() .uri("HTTPS://localhost") .build(); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.http.driver.HttpDriver"); assertThat(configuration.getURI()).isEqualTo("HTTPS://localhost"); }
@Test public void shouldParseBoltUriSchemesCaseInsensitive() { Configuration configuration = new Configuration.Builder() .uri("BOLT://localhost") .build(); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.bolt.driver.BoltDriver"); assertThat(configuration.getURI()).isEqualTo("BOLT://localhost"); configuration = new Configuration.Builder() .uri("BOLT+ROUTING://localhost") .build(); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.bolt.driver.BoltDriver"); assertThat(configuration.getURI()).isEqualTo("BOLT+ROUTING://localhost"); }
@Test public void shouldParseEmbeddedUriSchemeCaseInsensitive() { Configuration configuration = new Configuration.Builder() .uri("FILE:///somewhere") .build(); assertThat(configuration.getDriverClassName()) .isEqualTo("org.neo4j.ogm.drivers.embedded.driver.EmbeddedDriver"); assertThat(configuration.getURI()).isEqualTo("FILE:///somewhere"); }
@Test public void shouldConfigureFromSimplePropertiesFile() { Configuration configuration = new Configuration.Builder( new ClasspathConfigurationSource("ogm-simple.properties")).build(); assertThat(configuration.getAutoIndex()).isEqualTo(AutoIndexMode.NONE); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.http.driver.HttpDriver"); assertThat(configuration.getCredentials().credentials().toString()).isEqualTo("bmVvNGo6cGFzc3dvcmQ="); assertThat(configuration.getURI()).isEqualTo("http://localhost:7474"); assertThat(configuration.getBasePackages()).isEqualTo(new String[] {"org.neo4j.ogm.domain.bike"}); assertThat(configuration.getUseNativeTypes()).isEqualTo(Boolean.TRUE); }
@Test public void shouldConfigureFromSpringBootPropertiesFile() { Configuration configuration = new Configuration.Builder( new ClasspathConfigurationSource("application.properties")).build(); assertThat(configuration.getAutoIndex()).isEqualTo(AutoIndexMode.NONE); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.http.driver.HttpDriver"); assertThat(configuration.getCredentials().credentials().toString()).isEqualTo("bmVvNGo6cGFzc3dvcmQ="); assertThat(configuration.getURI()).isEqualTo("http://localhost:7474"); }
@Test public void shouldConfigureFromNameSpacePropertiesFile() { Configuration configuration = new Configuration.Builder( new ClasspathConfigurationSource("ogm-namespace.properties")).build(); assertThat(configuration.getAutoIndex()).isEqualTo(AutoIndexMode.DUMP); assertThat(configuration.getDumpDir()).isEqualTo("hello"); assertThat(configuration.getDumpFilename()).isEqualTo("generated-indexes2.cql"); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.http.driver.HttpDriver"); assertThat(configuration.getCredentials().credentials().toString()).isEqualTo("bmVvNGo6cGFzc3dvcmQ="); assertThat(configuration.getURI()).isEqualTo("http://localhost:7474"); assertThat(configuration.getConnectionPoolSize()).isEqualTo(100); assertThat(configuration.getEncryptionLevel()).isEqualTo("NONE"); assertThat(configuration.getTrustStrategy()).isEqualTo("TRUST_ON_FIRST_USE"); assertThat(configuration.getTrustCertFile()).isEqualTo("/tmp/cert"); }
@Before public void beforeMethod() { assumeTrue(getBaseConfiguration().build().getDriverClassName().equals(HttpDriver.class.getName())); }
@BeforeClass public static void setUp() { assumeTrue(getBaseConfiguration().build().getDriverClassName().equals(BoltDriver.class.getName())); }
@Test public void shouldConfigureProgrammatically() { Configuration.Builder builder = new Configuration.Builder(); builder.autoIndex("assert"); builder.generatedIndexesOutputDir("dir"); builder.generatedIndexesOutputFilename("filename"); builder.credentials("fred", "flintstone"); builder.uri("http://localhost:8080"); builder.connectionPoolSize(200); builder.encryptionLevel("REQUIRED"); builder.trustStrategy("TRUST_SIGNED_CERTIFICATES"); builder.trustCertFile("/tmp/cert"); builder.connectionLivenessCheckTimeout(1000); Configuration configuration = builder.build(); assertThat(configuration.getAutoIndex()).isEqualTo(AutoIndexMode.ASSERT); assertThat(configuration.getDumpDir()).isEqualTo("dir"); assertThat(configuration.getDumpFilename()).isEqualTo("filename"); assertThat(configuration.getDriverClassName()).isEqualTo("org.neo4j.ogm.drivers.http.driver.HttpDriver"); assertThat(configuration.getCredentials().credentials().toString()).isEqualTo("ZnJlZDpmbGludHN0b25l"); assertThat(configuration.getURI()).isEqualTo("http://localhost:8080"); assertThat(configuration.getConnectionPoolSize()).isEqualTo(200); assertThat(configuration.getEncryptionLevel()).isEqualTo("REQUIRED"); assertThat(configuration.getTrustStrategy()).isEqualTo("TRUST_SIGNED_CERTIFICATES"); assertThat(configuration.getTrustCertFile()).isEqualTo("/tmp/cert"); assertThat(configuration.getConnectionLivenessCheckTimeout().intValue()).isEqualTo(1000); }