From 8fa3b9e15f5c659a7338ea0759e97cf8ea14b038 Mon Sep 17 00:00:00 2001 From: Laurettta Date: Tue, 22 Sep 2026 11:48:57 +0100 Subject: [PATCH] Add test setup for scheduler module to check issue #1841 --- extensions/modules/scheduler/pom.xml | 16 + .../modules/scheduler/SchedulerTests.java | 11 + .../src/test/resources-filtered/conf.xml | 806 ++++++++++++++++++ .../scheduler/src/test/resources/log4j2.xml | 259 ++++++ .../scheduler-external-variable-default.xql | 53 ++ 5 files changed, 1145 insertions(+) create mode 100644 extensions/modules/scheduler/src/test/java/xquery/modules/scheduler/SchedulerTests.java create mode 100644 extensions/modules/scheduler/src/test/resources-filtered/conf.xml create mode 100644 extensions/modules/scheduler/src/test/resources/log4j2.xml create mode 100644 extensions/modules/scheduler/src/test/xquery/modules/scheduler/scheduler-external-variable-default.xql diff --git a/extensions/modules/scheduler/pom.xml b/extensions/modules/scheduler/pom.xml index 51ab9e8f2f..716536a6f4 100644 --- a/extensions/modules/scheduler/pom.xml +++ b/extensions/modules/scheduler/pom.xml @@ -126,6 +126,16 @@ + + + src/test/resources + false + + + src/test/resources-filtered + true + + @@ -145,6 +155,12 @@ xml-apis + + junit + junit + test + + \ No newline at end of file diff --git a/extensions/modules/scheduler/src/test/java/xquery/modules/scheduler/SchedulerTests.java b/extensions/modules/scheduler/src/test/java/xquery/modules/scheduler/SchedulerTests.java new file mode 100644 index 0000000000..c7edf00c3a --- /dev/null +++ b/extensions/modules/scheduler/src/test/java/xquery/modules/scheduler/SchedulerTests.java @@ -0,0 +1,11 @@ +package xquery.modules.scheduler; + +import org.exist.test.runner.XSuite; +import org.junit.runner.RunWith; + +@RunWith(XSuite.class) +@XSuite.XSuiteFiles({ + "src/test/xquery/modules/scheduler" +}) +public class SchedulerTests { +} \ No newline at end of file diff --git a/extensions/modules/scheduler/src/test/resources-filtered/conf.xml b/extensions/modules/scheduler/src/test/resources-filtered/conf.xml new file mode 100644 index 0000000000..0b66cbdaae --- /dev/null +++ b/extensions/modules/scheduler/src/test/resources-filtered/conf.xml @@ -0,0 +1,806 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extensions/modules/scheduler/src/test/resources/log4j2.xml b/extensions/modules/scheduler/src/test/resources/log4j2.xml new file mode 100644 index 0000000000..20f797787a --- /dev/null +++ b/extensions/modules/scheduler/src/test/resources/log4j2.xml @@ -0,0 +1,259 @@ + + + + + ${log4j:configParentLocation}/../../target/test-logs-${date:yyyyMMddHHmmssSSS} + 10MB + 0 0 0 * * ? + 14 + %d{yyyyMMddHHmmss} + %d{yyyy-MM-dd} + %d [%t] %-5p (%F [%M]:%L) - %m%n + %m%n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extensions/modules/scheduler/src/test/xquery/modules/scheduler/scheduler-external-variable-default.xql b/extensions/modules/scheduler/src/test/xquery/modules/scheduler/scheduler-external-variable-default.xql new file mode 100644 index 0000000000..000a78f1f1 --- /dev/null +++ b/extensions/modules/scheduler/src/test/xquery/modules/scheduler/scheduler-external-variable-default.xql @@ -0,0 +1,53 @@ +xquery version "3.1"; + +module namespace t = "http://exist-db.org/testsuite/scheduler-external-variable-default"; + +import module namespace test = "http://exist-db.org/xquery/xqsuite" at "resource:org/exist/xquery/lib/xqsuite/xqsuite.xql"; + +declare namespace scheduler = "http://exist-db.org/xquery/scheduler"; +declare namespace xmldb = "http://exist-db.org/xquery/xmldb"; +declare namespace util = "http://exist-db.org/xquery/util"; + +declare variable $t:collection := "/db/scheduler-default-test"; +declare variable $t:job-name := "scheduler-default-test-job"; + +declare variable $t:worker-query := + "xquery version '3.1'; + declare variable $addressee external := 'default'; + xmldb:store('" || $t:collection || "', 'result.xml', {$addressee})"; + +declare + %test:setUp +function t:setup() { + xmldb:create-collection("/db", "scheduler-default-test"), + xmldb:store($t:collection, "worker.xql", $t:worker-query) +}; + +declare + %test:tearDown +function t:cleanup() { + scheduler:delete-scheduled-job($t:job-name), + xmldb:remove($t:collection) +}; + +declare + %test:assertTrue +function t:schedule-job-with-parameter() as xs:boolean { + scheduler:schedule-xquery-periodic-job( + $t:collection || "/worker.xql", + 0, + $t:job-name, + + + , + 0, + 0 + ) +}; + +declare + %test:assertEquals("overridden") +function t:external-variable-was-overridden() as xs:string { + util:wait(1000), + doc($t:collection || "/result.xml")/result/string() +}; \ No newline at end of file