Skip to content

Commit

Permalink
Make more tests pass after the ServerSettings.script_enabled changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisvest committed Feb 28, 2018
1 parent 48c7580 commit 071464e
Show file tree
Hide file tree
Showing 10 changed files with 67 additions and 28 deletions.
Expand Up @@ -28,8 +28,10 @@
import org.neo4j.graphdb.Label;
import org.neo4j.graphdb.Transaction;
import org.neo4j.io.fs.FileUtils;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.kernel.configuration.ssl.LegacySslPolicyConfig;
import org.neo4j.server.ServerTestUtils;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.test.rule.SuppressOutput;
import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.server.HTTP;
Expand Down Expand Up @@ -223,7 +225,8 @@ private TestServerBuilder getServerBuilder( File targetFolder ) throws IOExcepti
{
TestServerBuilder serverBuilder = newInProcessBuilder( targetFolder )
.withConfig( LegacySslPolicyConfig.certificates_directory.name(),
ServerTestUtils.getRelativePath( testDir.directory(), LegacySslPolicyConfig.certificates_directory ) );
ServerTestUtils.getRelativePath( testDir.directory(), LegacySslPolicyConfig.certificates_directory ) )
.withConfig( ServerSettings.script_enabled, Settings.TRUE );
return serverBuilder;
}

Expand Down
Expand Up @@ -54,7 +54,9 @@
import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.configuration.HttpConnector;
import org.neo4j.kernel.configuration.HttpConnector.Encryption;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.kernel.configuration.ssl.LegacySslPolicyConfig;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.server.rest.domain.JsonParseException;
import org.neo4j.test.TestGraphDatabaseFactory;
import org.neo4j.test.rule.SuppressOutput;
Expand Down Expand Up @@ -100,7 +102,7 @@ public void shouldLaunchAServerInSpecifiedDirectory() throws Exception

private TestServerBuilder getTestServerBuilder( File workDir )
{
return newInProcessBuilder( workDir );
return newInProcessBuilder( workDir ).withConfig( ServerSettings.script_enabled, Settings.TRUE );
}

@Test
Expand Down Expand Up @@ -234,7 +236,7 @@ public void shouldRunBuilderOnExistingStoreDir() throws Exception
public void shouldOpenBoltPort() throws Throwable
{
// given
try ( ServerControls controls = newInProcessBuilder().newServer() )
try ( ServerControls controls = getTestServerBuilder( testDir.graphDbDir() ).newServer() )
{
URI uri = controls.boltURI();

Expand All @@ -252,7 +254,8 @@ public void shouldFailWhenProvidingANonDirectoryAsSource() throws IOException
File notADirectory = File.createTempFile( "prefix", "suffix" );
assertFalse( notADirectory.isDirectory() );

try ( ServerControls ignored = newInProcessBuilder().copyFrom( notADirectory ).newServer() )
try ( ServerControls ignored = getTestServerBuilder( testDir.graphDbDir() )
.copyFrom( notADirectory ).newServer() )
{
fail( "server should not start" );
}
Expand Down
Expand Up @@ -32,7 +32,9 @@
import org.neo4j.harness.extensionpackage.MyUnmanagedExtension;
import org.neo4j.harness.junit.Neo4jRule;
import org.neo4j.helpers.collection.Iterators;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.kernel.configuration.ssl.LegacySslPolicyConfig;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.test.TestGraphDatabaseFactory;
import org.neo4j.test.rule.SuppressOutput;
import org.neo4j.test.rule.TestDirectory;
Expand All @@ -56,6 +58,7 @@ public class JUnitRuleTest
.withFixture( "CREATE (u:User)" )
.withConfig( LegacySslPolicyConfig.certificates_directory.name(),
getRelativePath( getSharedTestTemporaryFolder(), LegacySslPolicyConfig.certificates_directory ) )
.withConfig( ServerSettings.script_enabled, Settings.TRUE )
.withFixture( graphDatabaseService ->
{
try ( Transaction tx = graphDatabaseService.beginTx() )
Expand Down Expand Up @@ -123,7 +126,9 @@ public void shouldRuleWorkWithExsitingDirectory()
}

// When a rule with an pre-populated graph db directory is used
final Neo4jRule ruleWithDirectory = new Neo4jRule(testDirectory.directory()).copyFrom( testDirectory.directory());
final Neo4jRule ruleWithDirectory = new Neo4jRule(testDirectory.directory())
.withConfig( ServerSettings.script_enabled, Settings.TRUE )
.copyFrom( testDirectory.directory());
ruleWithDirectory.apply( new Statement()
{
@Override
Expand Down
Expand Up @@ -23,9 +23,11 @@
import org.junit.Rule;
import org.junit.Test;

import org.neo4j.kernel.configuration.Settings;
import org.neo4j.procedure.UserAggregationFunction;
import org.neo4j.procedure.UserAggregationResult;
import org.neo4j.procedure.UserAggregationUpdate;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.test.rule.SuppressOutput;
import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.server.HTTP;
Expand Down Expand Up @@ -75,8 +77,7 @@ public long result()
public void shouldLaunchWithDeclaredFunctions() throws Exception
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder().withAggregationFunction( MyFunctions.class )
.newServer() )
try ( ServerControls server = createServer( MyFunctions.class ).newServer() )
{
// Then
HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
Expand All @@ -91,12 +92,18 @@ public void shouldLaunchWithDeclaredFunctions() throws Exception
}
}

private TestServerBuilder createServer( Class<?> functionClass )
{
return TestServerBuilders.newInProcessBuilder()
.withConfig( ServerSettings.script_enabled, Settings.TRUE )
.withAggregationFunction( functionClass );
}

@Test
public void shouldGetHelpfulErrorOnProcedureThrowsException() throws Exception
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder().withAggregationFunction( MyFunctions.class )
.newServer() )
try ( ServerControls server = createServer( MyFunctions.class ).newServer() )
{
// Then
HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
Expand Down
Expand Up @@ -24,8 +24,10 @@
import org.junit.Test;

import org.neo4j.kernel.api.exceptions.ProcedureException;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.procedure.Context;
import org.neo4j.procedure.UserFunction;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.test.rule.SuppressOutput;
import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.server.HTTP;
Expand Down Expand Up @@ -90,12 +92,19 @@ public long countNodes()
}
}

private TestServerBuilder createServer( Class<?> functionClass )
{
return TestServerBuilders.newInProcessBuilder()
.withConfig( ServerSettings.script_enabled, Settings.TRUE )
.withFunction( functionClass );
}

@Test
public void shouldLaunchWithDeclaredFunctions() throws Exception
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder().withFunction( MyFunctions.class )
.newServer() )
Class<MyFunctions> functionClass = MyFunctions.class;
try ( ServerControls server = createServer( functionClass ).newServer() )
{
// Then
HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
Expand All @@ -114,8 +123,7 @@ public void shouldLaunchWithDeclaredFunctions() throws Exception
public void shouldGetHelpfulErrorOnProcedureThrowsException() throws Exception
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder().withFunction( MyFunctions.class )
.newServer() )
try ( ServerControls server = createServer( MyFunctions.class ).newServer() )
{
// Then
HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
Expand All @@ -134,8 +142,7 @@ public void shouldGetHelpfulErrorOnProcedureThrowsException() throws Exception
public void shouldWorkWithInjectableFromKernelExtension() throws Throwable
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder()
.withFunction( MyFunctionsUsingMyService.class ).newServer() )
try ( ServerControls server = createServer( MyFunctionsUsingMyService.class ).newServer() )
{
// Then
HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
Expand All @@ -152,8 +159,7 @@ public void shouldWorkWithInjectableFromKernelExtension() throws Throwable
public void shouldWorkWithInjectableFromKernelExtensionWithMorePower() throws Throwable
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder()
.withFunction( MyFunctionsUsingMyCoreAPI.class ).newServer() )
try ( ServerControls server = createServer( MyFunctionsUsingMyCoreAPI.class ).newServer() )
{
HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
quotedJson( "{ 'statements': [ { 'statement': 'CREATE (), (), ()' } ] }" ) );
Expand Down
Expand Up @@ -27,10 +27,12 @@

import org.neo4j.graphdb.factory.GraphDatabaseSettings;
import org.neo4j.kernel.api.exceptions.ProcedureException;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.procedure.Context;
import org.neo4j.procedure.Mode;
import org.neo4j.procedure.Name;
import org.neo4j.procedure.Procedure;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.test.rule.SuppressOutput;
import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.server.HTTP;
Expand Down Expand Up @@ -122,13 +124,18 @@ public Stream<LongResult> countNodes()
}
}

private TestServerBuilder createServer( Class<?> procedureClass )
{
return TestServerBuilders.newInProcessBuilder()
.withProcedure( procedureClass )
.withConfig( ServerSettings.script_enabled, Settings.TRUE );
}

@Test
public void shouldLaunchWithDeclaredProcedures() throws Exception
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder()
.withProcedure( MyProcedures.class )
.newServer() )
try ( ServerControls server = createServer( MyProcedures.class ).newServer() )
{
// Then
HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
Expand All @@ -145,9 +152,7 @@ public void shouldLaunchWithDeclaredProcedures() throws Exception
public void shouldGetHelpfulErrorOnProcedureThrowsException() throws Exception
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder()
.withProcedure( MyProcedures.class )
.newServer() )
try ( ServerControls server = createServer( MyProcedures.class ).newServer() )
{
// Then
HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
Expand All @@ -162,8 +167,7 @@ public void shouldGetHelpfulErrorOnProcedureThrowsException() throws Exception
public void shouldWorkWithInjectableFromKernelExtension() throws Throwable
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder()
.withProcedure( MyProceduresUsingMyService.class ).newServer() )
try ( ServerControls server = createServer( MyProceduresUsingMyService.class ).newServer() )
{
// Then
HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(),
Expand All @@ -180,9 +184,9 @@ public void shouldWorkWithInjectableFromKernelExtension() throws Throwable
public void shouldWorkWithInjectableFromKernelExtensionWithMorePower() throws Throwable
{
// When
try ( ServerControls server = TestServerBuilders.newInProcessBuilder()
try ( ServerControls server = createServer( MyProceduresUsingMyCoreAPI.class )
.withConfig( GraphDatabaseSettings.record_id_batch_size, "1" )
.withProcedure( MyProceduresUsingMyCoreAPI.class ).newServer() )
.newServer() )
{
// Then
assertQueryGetsValue( server, "CALL makeNode(\\'Test\\')", 0L );
Expand Down
Expand Up @@ -28,6 +28,8 @@
import org.neo4j.driver.v1.Session;
import org.neo4j.driver.v1.StatementResult;
import org.neo4j.harness.junit.Neo4jRule;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.test.rule.SuppressOutput;
import org.neo4j.tooling.procedure.procedures.valid.Procedures;

Expand All @@ -42,7 +44,9 @@ public class ProcedureTest
@Rule
public final SuppressOutput suppressOutput = SuppressOutput.suppressAll();
@Rule
public Neo4jRule graphDb = new Neo4jRule().withProcedure( PROCEDURES_CLASS );
public Neo4jRule graphDb = new Neo4jRule()
.withConfig( ServerSettings.script_enabled, Settings.TRUE )
.withProcedure( PROCEDURES_CLASS );
private String procedureNamespace = PROCEDURES_CLASS.getPackage().getName();

@Test
Expand Down
Expand Up @@ -120,6 +120,7 @@ void boot() throws IOException, InterruptedException
String homePath = Paths.get( clusterPath.toString(), homeDir ).toAbsolutePath().toString();
builder.withConfig( GraphDatabaseSettings.neo4j_home.name(), homePath );
builder.withConfig( GraphDatabaseSettings.pagecache_memory.name(), "8m" );
builder.withConfig( ServerSettings.script_enabled, Settings.TRUE );

builder.withConfig( ClusterSettings.mode.name(), ClusterSettings.Mode.CORE.name() );
builder.withConfig( CausalClusteringSettings.multi_dc_license.name(), "true" );
Expand Down
Expand Up @@ -28,8 +28,10 @@
import org.neo4j.harness.EnterpriseTestServerBuilders;
import org.neo4j.harness.ServerControls;
import org.neo4j.harness.TestServerBuilder;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.kernel.configuration.ssl.LegacySslPolicyConfig;
import org.neo4j.server.ServerTestUtils;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.test.rule.SuppressOutput;
import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.server.HTTP;
Expand Down Expand Up @@ -69,6 +71,7 @@ private TestServerBuilder getTestServerBuilder( File workDir )
TestServerBuilder serverBuilder = EnterpriseTestServerBuilders.newInProcessBuilder( workDir );
serverBuilder.withConfig( LegacySslPolicyConfig.certificates_directory.name(),
ServerTestUtils.getRelativePath( testDir.directory(), LegacySslPolicyConfig.certificates_directory ) );
serverBuilder.withConfig( ServerSettings.script_enabled, Settings.TRUE );
return serverBuilder;
}
}
Expand Up @@ -24,7 +24,9 @@
import org.junit.Test;

import org.neo4j.harness.extensionpackage.MyEnterpriseUnmanagedExtension;
import org.neo4j.kernel.configuration.Settings;
import org.neo4j.kernel.configuration.ssl.LegacySslPolicyConfig;
import org.neo4j.server.configuration.ServerSettings;
import org.neo4j.test.rule.SuppressOutput;
import org.neo4j.test.server.HTTP;

Expand All @@ -39,6 +41,7 @@ public class EnterpriseNeo4jRuleTest
public Neo4jRule neo4j = new EnterpriseNeo4jRule()
.withConfig( LegacySslPolicyConfig.certificates_directory.name(),
getRelativePath( getSharedTestTemporaryFolder(), LegacySslPolicyConfig.certificates_directory ) )
.withConfig( ServerSettings.script_enabled, Settings.TRUE )
.withExtension( "/test", MyEnterpriseUnmanagedExtension.class );

@Rule
Expand Down

0 comments on commit 071464e

Please sign in to comment.