From 8af0e0ac08c035f0a72d5682972e55d33c8952a3 Mon Sep 17 00:00:00 2001 From: Giuseppe Villani Date: Thu, 16 Feb 2023 14:31:31 +0100 Subject: [PATCH 1/5] [TOQo1n9M] apoc-hadoop dependency is conflicting (#3450) --- test-startup/src/test/java/StartupTest.java | 66 +++++++++++++++++++ .../java/apoc/util/TestContainerUtil.java | 64 +++++++++++++----- 2 files changed, 112 insertions(+), 18 deletions(-) diff --git a/test-startup/src/test/java/StartupTest.java b/test-startup/src/test/java/StartupTest.java index 0cb5c32634..c4bbe924af 100644 --- a/test-startup/src/test/java/StartupTest.java +++ b/test-startup/src/test/java/StartupTest.java @@ -2,13 +2,20 @@ import apoc.util.Neo4jContainerExtension; import apoc.util.TestContainerUtil; import apoc.util.TestUtil; +import org.apache.commons.io.FileUtils; import apoc.util.TestContainerUtil.Neo4jVersion; import apoc.util.TestContainerUtil.ApocPackage; import org.junit.Test; import org.neo4j.driver.Session; +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Paths; import java.util.List; +import java.util.function.Consumer; +import java.util.function.Supplier; import java.util.stream.Collectors; import static apoc.util.TestContainerUtil.createDB; @@ -22,6 +29,9 @@ */ public class StartupTest { + private static final File APOC_FULL; + private static final File APOC_CORE; + @Test public void check_basic_deployment() { for (var version: Neo4jVersion.values()) { @@ -80,6 +90,62 @@ public void compare_with_sources() { } } + @Test + public void checkFullWithExtraDependenciesJars() throws IOException { + + // we retrieve every full procedure and function via the extended.txt file + final File extendedFile = new File(APOC_FULL, "src/main/resources/extended.txt"); + final List expectedFullProcAndFunNames = FileUtils.readLines(extendedFile, StandardCharsets.UTF_8); + + // we check that with apoc-full jar and all extra-dependencies jars every procedure/function is detected + startNeo4jContainerSession(() -> createEnterpriseDB(APOC_FULL, !TestUtil.isRunningInCI(), true), + session -> { + checkCoreProcsAndFuncsExistence(session); + + // all full procedures and functions are present, also the ones which require extra-deps, e.g. the apoc.export.xls.* + final List actualFullProcAndFunNames = session.run("CALL apoc.help('') YIELD core, type, name WHERE core = false RETURN name").list(i -> i.get("name").asString()); + assertEquals(sorted(expectedFullProcAndFunNames), sorted(actualFullProcAndFunNames)); + }); + } + + @Test + public void checkCoreWithExtraDependenciesJars() { + // we check that with apoc-core jar and all extra-dependencies jars every procedure/function is detected + startNeo4jContainerSession(() -> createEnterpriseDB(APOC_CORE, !TestUtil.isRunningInCI(), true), + this::checkCoreProcsAndFuncsExistence); + + } + + private void startNeo4jContainerSession(Supplier neo4jContainerCreation, + Consumer sessionConsumer) { + try (final Neo4jContainerExtension neo4jContainer = neo4jContainerCreation.get()) { + neo4jContainer.start(); + assertTrue("Neo4j Instance should be up-and-running", neo4jContainer.isRunning()); + + final Session session = neo4jContainer.getSession(); + + sessionConsumer.accept(session); + } catch (Exception ex) { + // if Testcontainers wasn't able to retrieve the docker image we ignore the test + if (TestContainerUtil.isDockerImageAvailable(ex)) { + ex.printStackTrace(); + fail("Should not have thrown exception when trying to start Neo4j: " + ex); + } else { + fail( "The docker image could not be loaded. Check whether it's available locally / in the CI. Exception:" + ex); + } + } + } + + private void checkCoreProcsAndFuncsExistence(Session session) { + final List functionNames = session.run("CALL apoc.help('') YIELD core, type, name WHERE core = true and type = 'function' RETURN name") + .list(record -> record.get("name").asString()); + final List procedureNames = session.run("CALL apoc.help('') YIELD core, type, name WHERE core = true and type = 'procedure' RETURN name") + .list(record -> record.get("name").asString()); + + assertEquals(sorted(ApocSignatures.PROCEDURES), procedureNames); + assertEquals(sorted(ApocSignatures.FUNCTIONS), functionNames); + } + private List sorted(List signatures) { return signatures.stream().sorted().collect(Collectors.toList()); } diff --git a/test-utils/src/main/java/apoc/util/TestContainerUtil.java b/test-utils/src/main/java/apoc/util/TestContainerUtil.java index 6996e51866..43c7f522bf 100644 --- a/test-utils/src/main/java/apoc/util/TestContainerUtil.java +++ b/test-utils/src/main/java/apoc/util/TestContainerUtil.java @@ -2,6 +2,8 @@ import com.github.dockerjava.api.exception.NotFoundException; import org.apache.commons.io.FileUtils; +import org.apache.commons.io.filefilter.IOFileFilter; +import org.apache.commons.io.filefilter.TrueFileFilter; import org.apache.commons.io.filefilter.WildcardFileFilter; import org.apache.commons.lang3.exception.ExceptionUtils; import org.gradle.tooling.BuildLauncher; @@ -46,6 +48,7 @@ public enum ApocPackage { private TestContainerUtil() {} + private static File pluginsFolder; private static File baseDir = Paths.get("..").toFile(); private static File coreDir = new File(baseDir, "core"); private static File extendedDir = new File(baseDir, "extended"); @@ -68,8 +71,24 @@ public static Neo4jContainerExtension createEnterpriseDB(List apocP public static Neo4jContainerExtension createCommunityDB(List apocPackages, boolean withLogging) { return createNeo4jContainer(apocPackages, withLogging, Neo4jVersion.COMMUNITY); } + + private static void addExtraDependencies() { + final File projectRootDir = Paths.get("..").toFile(); + File extraDepsDir = new File(projectRootDir, "extra-dependencies"); + // build the extra-dependencies + executeGradleTasks(extraDepsDir, "buildDependencies"); + + // add all extra deps to the plugin docker folder + final File directory = new File(extraDepsDir, "build/allJars"); + final IOFileFilter instance = TrueFileFilter.TRUE; + copyFilesToPlugin(directory, instance); + } + + public static Neo4jContainerExtension createEnterpriseDB(File baseDir, boolean withLogging, Neo4jVersion version) { + return createEnterpriseDB(baseDir, withLogging, version, false); + } - private static Neo4jContainerExtension createNeo4jContainer(List apocPackages, boolean withLogging, Neo4jVersion version) { + private static Neo4jContainerExtension createNeo4jContainer(List apocPackages, boolean withLogging, Neo4jVersion version, boolean withExtraDeps) { String dockerImage; if (version == Neo4jVersion.ENTERPRISE) { dockerImage = neo4jEnterpriseDockerImageVersion; @@ -88,6 +107,7 @@ private static Neo4jContainerExtension createNeo4jContainer(List ap File importFolder = new File("import"); importFolder.mkdirs(); // use a separate folder for mounting plugins jar - build/libs might contain other jars as well. + pluginsFolder = new File(baseDir, "build/plugins"); pluginsFolder.mkdirs(); String canonicalPath = null; @@ -97,23 +117,20 @@ private static Neo4jContainerExtension createNeo4jContainer(List ap e.printStackTrace(); } - for (ApocPackage apocPackage: apocPackages) { - if (apocPackage == ApocPackage.CORE) { - projectDir = coreDir; - } else { - projectDir = extendedDir; - } - - executeGradleTasks(projectDir, "shadowJar"); - - Collection files = FileUtils.listFiles(new File(projectDir, "build/libs"), new WildcardFileFilter(Arrays.asList("*-extended.jar", "*-core.jar")), null); - for (File file: files) { - try { - FileUtils.copyFileToDirectory(file, pluginsFolder); - } catch (IOException e) { - throw new RuntimeException(e); - } - } + final File directory = new File(baseDir, "build/libs"); + final IOFileFilter fileFilter = new WildcardFileFilter(Arrays.asList("*-extended.jar", "*-core.jar")); + + copyFilesToPlugin(directory, fileFilter); + + if (withExtraDeps) { + addExtraDependencies(); + } + + String canonicalPath = null; + try { + canonicalPath = importFolder.getCanonicalPath(); + } catch (IOException e) { + e.printStackTrace(); } System.out.println("neo4jDockerImageVersion = " + dockerImage); @@ -156,6 +173,17 @@ private static Neo4jContainerExtension createNeo4jContainer(List ap return neo4jContainer.withWaitForNeo4jDatabaseReady(password, version); } + private static void copyFilesToPlugin(File directory, IOFileFilter instance) { + Collection files = FileUtils.listFiles(directory, instance, null); + for (File file: files) { + try { + FileUtils.copyFileToDirectory(file, pluginsFolder); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + } + public static void executeGradleTasks(File baseDir, String... tasks) { try (ProjectConnection connection = GradleConnector.newConnector() .forProjectDirectory(baseDir) From d567e90aba1eba22d70f8ed7ccf531baff4ada42 Mon Sep 17 00:00:00 2001 From: Giuseppe Villani Date: Thu, 16 Feb 2023 17:16:26 +0100 Subject: [PATCH 2/5] [TOQo1n9M] changed for 5.x version --- .gitmodules | 2 +- .../test/java/apoc/StartupExtendedTest.java | 136 ++++++++++++++++ .../apoc/util/ExtendedTestContainerUtil.java | 21 +++ test-startup/src/test/java/StartupTest.java | 152 ------------------ 4 files changed, 158 insertions(+), 153 deletions(-) create mode 100644 extended/src/test/java/apoc/StartupExtendedTest.java delete mode 100644 test-startup/src/test/java/StartupTest.java diff --git a/.gitmodules b/.gitmodules index ea53a5a847..486873c12f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "apoc-core"] path = apoc-core url = https://github.com/neo4j/apoc - branch = dev + branch = hadoop-dependency-conflict_core-dev diff --git a/extended/src/test/java/apoc/StartupExtendedTest.java b/extended/src/test/java/apoc/StartupExtendedTest.java new file mode 100644 index 0000000000..21e676c620 --- /dev/null +++ b/extended/src/test/java/apoc/StartupExtendedTest.java @@ -0,0 +1,136 @@ +package apoc; + +import apoc.util.ExtendedTestContainerUtil; +import apoc.util.Neo4jContainerExtension; +import apoc.util.TestContainerUtil; +import apoc.util.TestContainerUtil.Neo4jVersion; +import org.apache.commons.io.FileUtils; +import org.junit.Test; +import org.neo4j.driver.Session; + +import java.io.File; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.stream.Collectors; + +import static apoc.util.TestContainerUtil.ApocPackage.CORE; +import static apoc.util.TestContainerUtil.ApocPackage.EXTENDED; +import static apoc.util.TestContainerUtil.createDB; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +/* + This test is just to verify if the APOC procedures and functions are correctly deployed into a Neo4j instance without any startup issue. + */ +public class StartupExtendedTest { + private static final String APOC_HELP_QUERY = "CALL apoc.help('') YIELD core, type, name WHERE core = $core and type = $type RETURN name"; + private static final List EXPECTED_EXTENDED_NAMES; + + static { + // retrieve every extended procedure and function via the extended.txt file + final File extendedFile = new File(TestContainerUtil.extendedDir, "src/main/resources/extended.txt"); + try { + EXPECTED_EXTENDED_NAMES = FileUtils.readLines(extendedFile, StandardCharsets.UTF_8); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Test + public void checkCoreAndFullWithExtraDependenciesJars() { + // we check that with apoc-extended, apoc-core jar and all extra-dependencies jars every procedure/function is detected + startContainerSessionWithExtraDeps((version) -> createDB(version, List.of(CORE, EXTENDED), true), + session -> { + checkCoreProcsAndFuncsExistence(session); + + // all full procedures and functions are present, also the ones which require extra-deps, e.g. the apoc.export.xls.* + final List actualExtNames = getNames(session, APOC_HELP_QUERY, + Map.of("core", false, "type", "function") ); + final List functionExtNames = getNames(session, APOC_HELP_QUERY, + Map.of("core", false, "type", "procedure") ); + + actualExtNames.addAll(functionExtNames); + + assertEquals(sorted(EXPECTED_EXTENDED_NAMES), sorted(actualExtNames)); + }); + } + + @Test + public void checkExtendedWithExtraDependenciesJars() { + // we check that with apoc-extended jar and all extra-dependencies jars every procedure/function is detected + startContainerSessionWithExtraDeps((version) -> createDB(version, List.of(EXTENDED), true), + session -> { + // all full procedures and functions are present, also the ones which require extra-deps, e.g. the apoc.export.xls.* + final List actualExtNames = getNames(session, "SHOW PROCEDURES YIELD name WHERE name STARTS WITH 'apoc.' RETURN name"); + final List functionExtNames = getNames(session, "SHOW FUNCTIONS YIELD name WHERE name STARTS WITH 'apoc.' RETURN name"); + + actualExtNames.addAll(functionExtNames); + + assertEquals(sorted(EXPECTED_EXTENDED_NAMES), sorted(actualExtNames)); + }); + } + + @Test + public void checkCoreWithExtraDependenciesJars() { + // we check that with apoc-core jar and all extra-dependencies jars every procedure/function is detected + startContainerSessionWithExtraDeps((version) -> createDB(version, List.of(CORE), true), + this::checkCoreProcsAndFuncsExistence); + } + + private void startContainerSessionWithExtraDeps(Function neo4jContainerCreation, + Consumer sessionConsumer) { + for (var version: Neo4jVersion.values()) { + + try (final Neo4jContainerExtension neo4jContainer = neo4jContainerCreation.apply(version)) { + // add extra-deps before starting it + ExtendedTestContainerUtil.addExtraDependencies(); + neo4jContainer.start(); + assertTrue("Neo4j Instance should be up-and-running", neo4jContainer.isRunning()); + + final Session session = neo4jContainer.getSession(); + + sessionConsumer.accept(session); + } catch (Exception ex) { + // if Testcontainers wasn't able to retrieve the docker image we ignore the test + if (TestContainerUtil.isDockerImageAvailable(ex)) { + ex.printStackTrace(); + fail("Should not have thrown exception when trying to start Neo4j: " + ex); + } else { + fail("The docker image could not be loaded. Check whether it's available locally / in the CI. Exception:" + ex); + } + } + } + } + + private void checkCoreProcsAndFuncsExistence(Session session) { + final List functionNames = getNames(session, APOC_HELP_QUERY, + Map.of("core", true, "type", "function") ); + + final List procedureNames = getNames(session, APOC_HELP_QUERY, + Map.of("core", true, "type", "procedure") ); + + assertEquals(sorted(ApocSignaturesCore.PROCEDURES), procedureNames); + assertEquals(sorted(ApocSignaturesCore.FUNCTIONS), functionNames); + } + + private static List getNames(Session session, String query, Map params) { + return session.run(query, params) + .list(i -> i.get("name").asString()); + } + + private static List getNames(Session session, String query) { + return getNames(session, query, Collections.emptyMap()); + } + + private List sorted(List signatures) { + return signatures.stream() + .sorted() + .collect(Collectors.toList()); + } +} \ No newline at end of file diff --git a/extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java b/extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java index 74342d2777..ff06e13c2a 100644 --- a/extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java +++ b/extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java @@ -1,11 +1,20 @@ package apoc.util; +import java.io.File; +import java.nio.file.Paths; import java.time.Duration; import java.util.List; import java.util.Map; import java.util.function.Consumer; + +import org.apache.commons.io.filefilter.IOFileFilter; +import org.apache.commons.io.filefilter.WildcardFileFilter; +import org.junit.Test; import org.neo4j.driver.Session; +import static apoc.util.TestContainerUtil.copyFilesToPlugin; +import static apoc.util.TestContainerUtil.executeGradleTasks; + public class ExtendedTestContainerUtil { public static TestcontainersCausalCluster createEnterpriseCluster( List apocPackages, int numOfCoreInstances, int numberOfReadReplica, Map neo4jConfig, Map envSettings) { @@ -19,4 +28,16 @@ public static T singleResultFirstColumn(Session session, String cypher) { public static void testCallInReadTransaction(Session session, String call, Consumer> consumer) { TestContainerUtil.testCallInReadTransaction(session, call, null, consumer); } + + public static void addExtraDependencies() { + File extraDepsDir = new File(TestContainerUtil.baseDir, "extra-dependencies"); + // build the extra-dependencies + executeGradleTasks(extraDepsDir, "buildDependencies"); + + // add all extra deps to the plugin docker folder + final File directory = new File(extraDepsDir, "build/allJars"); + final IOFileFilter instance = new WildcardFileFilter("*-all.jar"); + copyFilesToPlugin(directory, instance, TestContainerUtil.pluginsFolder); + } + } diff --git a/test-startup/src/test/java/StartupTest.java b/test-startup/src/test/java/StartupTest.java deleted file mode 100644 index c4bbe924af..0000000000 --- a/test-startup/src/test/java/StartupTest.java +++ /dev/null @@ -1,152 +0,0 @@ -import apoc.ApocSignatures; -import apoc.util.Neo4jContainerExtension; -import apoc.util.TestContainerUtil; -import apoc.util.TestUtil; -import org.apache.commons.io.FileUtils; -import apoc.util.TestContainerUtil.Neo4jVersion; -import apoc.util.TestContainerUtil.ApocPackage; -import org.junit.Test; - -import org.neo4j.driver.Session; - -import java.io.File; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.nio.file.Paths; -import java.util.List; -import java.util.function.Consumer; -import java.util.function.Supplier; -import java.util.stream.Collectors; - -import static apoc.util.TestContainerUtil.createDB; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -/* - This test is just to verify if the APOC procedures and functions are correctly deployed into a Neo4j instance without any startup issue. - If you don't have docker installed it will fail, and you can simply ignore it. - */ -public class StartupTest { - - private static final File APOC_FULL; - private static final File APOC_CORE; - - @Test - public void check_basic_deployment() { - for (var version: Neo4jVersion.values()) { - try (Neo4jContainerExtension neo4jContainer = createDB(version, List.of(ApocPackage.CORE), !TestUtil.isRunningInCI()) - .withNeo4jConfig("dbms.transaction.timeout", "60s")) { - - neo4jContainer.start(); - assertTrue("Neo4j Instance should be up-and-running", neo4jContainer.isRunning()); - - Session session = neo4jContainer.getSession(); - int procedureCount = session.run("SHOW PROCEDURES YIELD name WHERE name STARTS WITH 'apoc' RETURN count(*) AS count").peek().get("count").asInt(); - int functionCount = session.run("SHOW FUNCTIONS YIELD name WHERE name STARTS WITH 'apoc' RETURN count(*) AS count").peek().get("count").asInt(); - int coreCount = session.run("CALL apoc.help('') YIELD core WHERE core = true RETURN count(*) AS count").peek().get("count").asInt(); - - assertTrue(procedureCount > 0); - assertTrue(functionCount > 0); - assertTrue(coreCount > 0); - } catch (Exception ex) { - // if Testcontainers wasn't able to retrieve the docker image we ignore the test - if (TestContainerUtil.isDockerImageAvailable(ex)) { - ex.printStackTrace(); - fail("Should not have thrown exception when trying to start Neo4j: " + ex); - } else if (!TestUtil.isRunningInCI()) { - fail( "The docker image " + TestContainerUtil.neo4jEnterpriseDockerImageVersion + " should be available in the CI. Exception:" + ex); - } - } - } - } - - @Test - public void compare_with_sources() { - for (var version: Neo4jVersion.values()) { - try (Neo4jContainerExtension neo4jContainer = createDB(version, List.of(ApocPackage.CORE), !TestUtil.isRunningInCI())) { - neo4jContainer.start(); - - assertTrue("Neo4j Instance should be up-and-running", neo4jContainer.isRunning()); - - try (Session session = neo4jContainer.getSession()) { - final List functionNames = session.run("CALL apoc.help('') YIELD core, type, name WHERE core = true and type = 'function' RETURN name") - .list(record -> record.get("name").asString()); - final List procedureNames = session.run("CALL apoc.help('') YIELD core, type, name WHERE core = true and type = 'procedure' RETURN name") - .list(record -> record.get("name").asString()); - - - assertEquals(sorted(ApocSignatures.PROCEDURES), procedureNames); - assertEquals(sorted(ApocSignatures.FUNCTIONS), functionNames); - } - } catch (Exception ex) { - if (TestContainerUtil.isDockerImageAvailable(ex)) { - ex.printStackTrace(); - fail("Should not have thrown exception when trying to start Neo4j: " + ex); - } else { - fail( "The docker image " + TestContainerUtil.neo4jEnterpriseDockerImageVersion + " should be available in the CI. Exception:" + ex); - } - } - } - } - - @Test - public void checkFullWithExtraDependenciesJars() throws IOException { - - // we retrieve every full procedure and function via the extended.txt file - final File extendedFile = new File(APOC_FULL, "src/main/resources/extended.txt"); - final List expectedFullProcAndFunNames = FileUtils.readLines(extendedFile, StandardCharsets.UTF_8); - - // we check that with apoc-full jar and all extra-dependencies jars every procedure/function is detected - startNeo4jContainerSession(() -> createEnterpriseDB(APOC_FULL, !TestUtil.isRunningInCI(), true), - session -> { - checkCoreProcsAndFuncsExistence(session); - - // all full procedures and functions are present, also the ones which require extra-deps, e.g. the apoc.export.xls.* - final List actualFullProcAndFunNames = session.run("CALL apoc.help('') YIELD core, type, name WHERE core = false RETURN name").list(i -> i.get("name").asString()); - assertEquals(sorted(expectedFullProcAndFunNames), sorted(actualFullProcAndFunNames)); - }); - } - - @Test - public void checkCoreWithExtraDependenciesJars() { - // we check that with apoc-core jar and all extra-dependencies jars every procedure/function is detected - startNeo4jContainerSession(() -> createEnterpriseDB(APOC_CORE, !TestUtil.isRunningInCI(), true), - this::checkCoreProcsAndFuncsExistence); - - } - - private void startNeo4jContainerSession(Supplier neo4jContainerCreation, - Consumer sessionConsumer) { - try (final Neo4jContainerExtension neo4jContainer = neo4jContainerCreation.get()) { - neo4jContainer.start(); - assertTrue("Neo4j Instance should be up-and-running", neo4jContainer.isRunning()); - - final Session session = neo4jContainer.getSession(); - - sessionConsumer.accept(session); - } catch (Exception ex) { - // if Testcontainers wasn't able to retrieve the docker image we ignore the test - if (TestContainerUtil.isDockerImageAvailable(ex)) { - ex.printStackTrace(); - fail("Should not have thrown exception when trying to start Neo4j: " + ex); - } else { - fail( "The docker image could not be loaded. Check whether it's available locally / in the CI. Exception:" + ex); - } - } - } - - private void checkCoreProcsAndFuncsExistence(Session session) { - final List functionNames = session.run("CALL apoc.help('') YIELD core, type, name WHERE core = true and type = 'function' RETURN name") - .list(record -> record.get("name").asString()); - final List procedureNames = session.run("CALL apoc.help('') YIELD core, type, name WHERE core = true and type = 'procedure' RETURN name") - .list(record -> record.get("name").asString()); - - assertEquals(sorted(ApocSignatures.PROCEDURES), procedureNames); - assertEquals(sorted(ApocSignatures.FUNCTIONS), functionNames); - } - - private List sorted(List signatures) { - return signatures.stream().sorted().collect(Collectors.toList()); - } -} From e6b5df54037d54294011ca2671cddedd64a56d6e Mon Sep 17 00:00:00 2001 From: vga91 Date: Thu, 13 Apr 2023 10:01:19 +0200 Subject: [PATCH 3/5] [TOQo1n9M] update .gitmodules branch --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index 486873c12f..ea53a5a847 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "apoc-core"] path = apoc-core url = https://github.com/neo4j/apoc - branch = hadoop-dependency-conflict_core-dev + branch = dev From 192fa7c6db30ba9d4c832aef06e50dba3e64be4b Mon Sep 17 00:00:00 2001 From: vga91 Date: Tue, 18 Apr 2023 11:34:44 +0200 Subject: [PATCH 4/5] [TOQo1n9M] removed imports --- extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java b/extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java index ff06e13c2a..8c85a4085e 100644 --- a/extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java +++ b/extended/src/test/java/apoc/util/ExtendedTestContainerUtil.java @@ -1,7 +1,6 @@ package apoc.util; import java.io.File; -import java.nio.file.Paths; import java.time.Duration; import java.util.List; import java.util.Map; @@ -9,7 +8,6 @@ import org.apache.commons.io.filefilter.IOFileFilter; import org.apache.commons.io.filefilter.WildcardFileFilter; -import org.junit.Test; import org.neo4j.driver.Session; import static apoc.util.TestContainerUtil.copyFilesToPlugin; From c5f707e09d3befa2c48aaf1431cb6f031e3a8087 Mon Sep 17 00:00:00 2001 From: vga91 Date: Tue, 18 Apr 2023 12:23:12 +0200 Subject: [PATCH 5/5] [TOQo1n9M] fixed compile error --- extended/src/test/java/apoc/StartupExtendedTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extended/src/test/java/apoc/StartupExtendedTest.java b/extended/src/test/java/apoc/StartupExtendedTest.java index 21e676c620..1841d4e90b 100644 --- a/extended/src/test/java/apoc/StartupExtendedTest.java +++ b/extended/src/test/java/apoc/StartupExtendedTest.java @@ -115,8 +115,8 @@ private void checkCoreProcsAndFuncsExistence(Session session) { final List procedureNames = getNames(session, APOC_HELP_QUERY, Map.of("core", true, "type", "procedure") ); - assertEquals(sorted(ApocSignaturesCore.PROCEDURES), procedureNames); - assertEquals(sorted(ApocSignaturesCore.FUNCTIONS), functionNames); + assertEquals(sorted(ApocSignatures.PROCEDURES), procedureNames); + assertEquals(sorted(ApocSignatures.FUNCTIONS), functionNames); } private static List getNames(Session session, String query, Map params) {