diff --git a/core/src/main/java/apoc/example/Examples.java b/core/src/main/java/apoc/example/Examples.java new file mode 100644 index 0000000000..e4c6282ee1 --- /dev/null +++ b/core/src/main/java/apoc/example/Examples.java @@ -0,0 +1,37 @@ +package apoc.example; + +import apoc.result.ProgressInfo; +import apoc.util.Util; +import org.neo4j.graphdb.QueryStatistics; +import org.neo4j.graphdb.Result; +import org.neo4j.graphdb.Transaction; +import org.neo4j.procedure.Context; +import org.neo4j.procedure.Description; +import org.neo4j.procedure.Mode; +import org.neo4j.procedure.Procedure; + +import java.util.stream.Stream; + +/** + * @author mh + * @since 24.05.16 + */ +public class Examples { + + @Context + public Transaction tx; + + @Procedure(mode = Mode.WRITE) + @Description("apoc.example.movies() | Creates the sample movies graph") + public Stream movies() { + long start = System.currentTimeMillis(); + String file = "movies.cypher"; + Result result = tx.execute(Util.readResourceFile(file)); + QueryStatistics stats = result.getQueryStatistics(); + ProgressInfo progress = new ProgressInfo(file, "example movie database from themoviedb.org", "cypher") + .update(stats.getNodesCreated(), stats.getRelationshipsCreated(), stats.getPropertiesSet()) + .done(start); + result.close(); + return Stream.of(progress); + } +} diff --git a/core/src/test/java/apoc/example/ExamplesTest.java b/core/src/test/java/apoc/example/ExamplesTest.java deleted file mode 100644 index 0ebc6a9e5e..0000000000 --- a/core/src/test/java/apoc/example/ExamplesTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package apoc.example; - -import apoc.util.TestUtil; -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.neo4j.test.rule.DbmsRule; -import org.neo4j.test.rule.ImpermanentDbmsRule; - -import static org.junit.Assert.assertEquals; - -/** - * @author mh - * @since 25.05.16 - */ -public class ExamplesTest { - - @Rule - public DbmsRule db = new ImpermanentDbmsRule(); - - @Before - public void setUp() throws Exception { - TestUtil.registerProcedure(db,Examples.class); - } - - @Test - public void testMovies() throws Exception { - TestUtil.testCall(db,"CALL apoc.example.movies", r -> { - assertEquals("movies.cypher",r.get("file")); - assertEquals(169L,r.get("nodes")); - assertEquals(250L,r.get("relationships")); - }); - } - -} diff --git a/full/build.gradle b/full/build.gradle index d38654e34c..cb1fa9b4bb 100644 --- a/full/build.gradle +++ b/full/build.gradle @@ -91,6 +91,7 @@ dependencies { compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' compileOnly group: 'com.amazonaws', name: 'aws-java-sdk-comprehend', version: '1.12.214' , withoutJacksons compileOnly group: 'com.sun.mail', name: 'javax.mail', version: '1.6.0' + compileOnly group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8', version: '1.6.0' // These dependencies affect the tests only, they will not be packaged in the resulting .jar testImplementation project(":common").sourceSets.test.output @@ -98,10 +99,12 @@ dependencies { testImplementation project(":core") testImplementation group: 'org.apache.poi', name: 'poi', version: '5.1.0' testImplementation group: 'org.apache.poi', name: 'poi-ooxml', version: '5.1.0' + testImplementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '3.141.59' testImplementation group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '5.1.0' testImplementation group: 'com.github.stefanbirkner', name: 'system-rules', version: '1.19.0' testImplementation group: 'com.amazonaws', name: 'aws-java-sdk-s3', version: '1.11.270' testImplementation group: 'org.reflections', name: 'reflections', version: '0.9.12' + testImplementation group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8', version: '1.6.0' testImplementation group: 'org.hamcrest', name: 'hamcrest-library', version: '1.3' testImplementation group: 'org.apache.derby', name: 'derby', version: '10.12.1.1' testImplementation group: 'org.mongodb', name: 'mongodb-driver', version: '3.2.2', { diff --git a/full/src/test/java/apoc/ApocSplitTest.java b/full/src/test/java/apoc/ApocSplitTest.java index 34c2544a4b..c46a0b27f7 100644 --- a/full/src/test/java/apoc/ApocSplitTest.java +++ b/full/src/test/java/apoc/ApocSplitTest.java @@ -189,6 +189,10 @@ public void test() { var expectedProcedures = Stream.concat(PROCEDURES_FROM_CORE.stream(), FULL_PROCEDURES.stream()).collect(Collectors.toSet()); var expectedFunctions = Stream.concat(FUNCTIONS_FROM_CORE.stream(), FULL_FUNCTIONS.stream()).collect(Collectors.toSet()); + expectedProcedures.stream().filter(s -> !procedureNames.contains( s ) ).collect(Collectors.toList()).forEach( s -> System.out.println(s) ); + expectedFunctions.stream().filter(s -> !functionNames.contains( s ) ).collect(Collectors.toList()).forEach( s -> System.out.println(s) ); + procedureNames.stream().filter(s -> !expectedProcedures.contains( s ) ).collect(Collectors.toList()).forEach( s -> System.out.println(s) ); + functionNames.stream().filter(s -> !expectedFunctions.contains( s ) ).collect(Collectors.toList()).forEach( s -> System.out.println(s) ); assertTrue(procedureNames.containsAll(expectedProcedures) && procedureNames.size() == expectedProcedures.size()); assertTrue(functionNames.containsAll(expectedFunctions) && functionNames.size() == expectedFunctions.size());