From dc6cfb9428e3a8e7ecea139c0622bd3007b6c06a Mon Sep 17 00:00:00 2001 From: Pontus Melke Date: Tue, 20 Sep 2016 21:26:24 +0200 Subject: [PATCH] Fixes from code review --- .../AbstractInProcessServerBuilder.java | 2 +- .../org/neo4j/harness/JavaFunctionsTest.java | 25 +++++++++++++------ .../org/neo4j/procedure/UserFunctionIT.java | 15 ++++++----- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/community/neo4j-harness/src/main/java/org/neo4j/harness/internal/AbstractInProcessServerBuilder.java b/community/neo4j-harness/src/main/java/org/neo4j/harness/internal/AbstractInProcessServerBuilder.java index 7d3018116decb..039b0354d0e48 100644 --- a/community/neo4j-harness/src/main/java/org/neo4j/harness/internal/AbstractInProcessServerBuilder.java +++ b/community/neo4j-harness/src/main/java/org/neo4j/harness/internal/AbstractInProcessServerBuilder.java @@ -255,7 +255,7 @@ private static String toStringForThirdPartyPackageProperty( List { diff --git a/community/neo4j-harness/src/test/java/org/neo4j/harness/JavaFunctionsTest.java b/community/neo4j-harness/src/test/java/org/neo4j/harness/JavaFunctionsTest.java index a9d8e20f61e88..86d749631e1d1 100644 --- a/community/neo4j-harness/src/test/java/org/neo4j/harness/JavaFunctionsTest.java +++ b/community/neo4j-harness/src/test/java/org/neo4j/harness/JavaFunctionsTest.java @@ -65,7 +65,7 @@ public static class MyFunctionsUsingMyService @Context public SomeService service; - @UserFunction("my.hello") + @UserFunction( "my.hello" ) public String hello() { return service.hello(); @@ -77,7 +77,7 @@ public static class MyFunctionsUsingMyCoreAPI @Context public MyCoreAPI myCoreAPI; - @UserFunction( value = "my.willFail") + @UserFunction( value = "my.willFail" ) public long willFail() throws ProcedureException { return myCoreAPI.makeNode( "Test" ); @@ -94,11 +94,14 @@ public long countNodes() public void shouldLaunchWithDeclaredFunctions() throws Exception { // When - try(ServerControls server = TestServerBuilders.newInProcessBuilder().withFunction( MyFunctions.class ).newServer()) + try ( ServerControls server = TestServerBuilders.newInProcessBuilder().withFunction( MyFunctions.class ) + .newServer() ) { // Then HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(), - quotedJson( "{ 'statements': [ { 'statement': 'RETURN org.neo4j.harness.myFunc() AS someNumber' } ] }" ) ); + quotedJson( + "{ 'statements': [ { 'statement': 'RETURN org.neo4j.harness.myFunc() AS someNumber' } ] " + + "}" ) ); JsonNode result = response.get( "results" ).get( 0 ); assertEquals( "someNumber", result.get( "columns" ).get( 0 ).asText() ); @@ -111,14 +114,19 @@ public void shouldLaunchWithDeclaredFunctions() throws Exception public void shouldGetHelpfulErrorOnProcedureThrowsException() throws Exception { // When - try(ServerControls server = TestServerBuilders.newInProcessBuilder().withFunction( MyFunctions.class ).newServer()) + try ( ServerControls server = TestServerBuilders.newInProcessBuilder().withFunction( MyFunctions.class ) + .newServer() ) { // Then HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(), - quotedJson( "{ 'statements': [ { 'statement': 'RETURN org.neo4j.harness.funcThatThrows()' } ] }" ) ); + quotedJson( + "{ 'statements': [ { 'statement': 'RETURN org.neo4j.harness.funcThatThrows()' } ] }" ) ); String error = response.get( "errors" ).get( 0 ).get( "message" ).asText(); - assertEquals( "Failed to invoke function `org.neo4j.harness.funcThatThrows`: Caused by: java.lang.RuntimeException: This is an exception", error ); + assertEquals( + "Failed to invoke function `org.neo4j.harness.funcThatThrows`: Caused by: java.lang" + + ".RuntimeException: This is an exception", + error ); } } @@ -126,7 +134,8 @@ public void shouldGetHelpfulErrorOnProcedureThrowsException() throws Exception public void shouldWorkWithInjectableFromKernelExtension() throws Throwable { // When - try(ServerControls server = TestServerBuilders.newInProcessBuilder().withFunction( MyFunctionsUsingMyService.class ).newServer()) + try ( ServerControls server = TestServerBuilders.newInProcessBuilder() + .withFunction( MyFunctionsUsingMyService.class ).newServer() ) { // Then HTTP.Response response = HTTP.POST( server.httpURI().resolve( "db/data/transaction/commit" ).toString(), diff --git a/integrationtests/src/test/java/org/neo4j/procedure/UserFunctionIT.java b/integrationtests/src/test/java/org/neo4j/procedure/UserFunctionIT.java index 9a95fa9af6a7a..0198e6bf28ebd 100644 --- a/integrationtests/src/test/java/org/neo4j/procedure/UserFunctionIT.java +++ b/integrationtests/src/test/java/org/neo4j/procedure/UserFunctionIT.java @@ -679,13 +679,16 @@ public void shouldCallFunctionWithFourProvidedRestDefaultArgument() throws Throw assertFalse( res.hasNext() ); } + /** + * NOTE: this test tests user-defined functions added in this file {@link ClassWithFunctions}. These are not + * built-in functions in any shape or form. + */ @Test - public void shouldListAllFunctions() throws Throwable + public void shouldListAllUserDefinedFunctions() throws Throwable { //Given/When Result res = db.execute( "CALL dbms.functions()" ); - String expected = "+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+" + lineSeparator() + "| name | signature | description |" + lineSeparator() + @@ -713,9 +716,9 @@ public void shouldListAllFunctions() throws Throwable "| 'org.neo4j.procedure.simpleArgument' | 'org.neo4j.procedure.simpleArgument(someValue :: INTEGER?) :: (INTEGER?)' | '' |" + lineSeparator() + "| 'org.neo4j.procedure.squareDouble' | 'org.neo4j.procedure.squareDouble(someValue :: FLOAT?) :: (FLOAT?)' | '' |" + lineSeparator() + "| 'org.neo4j.procedure.squareLong' | 'org.neo4j.procedure.squareLong(someValue :: INTEGER?) :: (INTEGER?)' | '' |" + lineSeparator() + - "| 'org.neo4j.procedure.sum' | 'org.neo4j.procedure.sum(numbers :: LIST? OF NUMBER?) :: (NUMBER?)' | '' |" + lineSeparator() + "| 'org.neo4j.procedure.throwsExceptionInStream' | 'org.neo4j.procedure.throwsExceptionInStream() :: (INTEGER?)' | '' |" + lineSeparator() + "| 'org.neo4j.procedure.unsupportedFunction' | 'org.neo4j.procedure.unsupportedFunction() :: (STRING?)' | '' |" + lineSeparator() + + "| 'this.is.test.only.sum' | 'this.is.test.only.sum(numbers :: LIST? OF NUMBER?) :: (NUMBER?)' | '' |" + lineSeparator() + "+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+" + lineSeparator() + "26 rows" + lineSeparator(); @@ -726,10 +729,10 @@ public void shouldListAllFunctions() throws Throwable public void shouldCallFunctionWithSameNameAsBuiltIn() throws Throwable { //Given/When - Result res = db.execute( "RETURN org.neo4j.procedure.sum([1337, 2.718281828, 3.1415]) AS result"); + Result res = db.execute( "RETURN this.is.test.only.sum([1337, 2.718281828, 3.1415]) AS result" ); // Then - assertThat( res.next().get("result"), equalTo( 1337 + 2.718281828 + 3.1415 ) ); + assertThat( res.next().get( "result" ), equalTo( 1337 + 2.718281828 + 3.1415 ) ); assertFalse( res.hasNext() ); } @@ -910,7 +913,7 @@ public long readOnlyCallingWriteProcedure() return 1337L; } - @UserFunction + @UserFunction("this.is.test.only.sum") public Number sum(@Name("numbers") List numbers) { return numbers.stream().mapToDouble( Number::doubleValue ).sum();