This is an automated email from the ASF dual-hosted git repository.
sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere-elasticjob.git
The following commit(s) were added to refs/heads/master by this push:
new cb2c0dbed Add e2e module (#2338)
cb2c0dbed is described below
commit cb2c0dbed620660722fb7303173aa84aedc19854
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Oct 29 23:04:56 2023 +0800
Add e2e module (#2338)
* Move TimeServiceTest to correct package
* Add e2e module
* Add e2e module
---
...re.elasticjob.infra.listener.ElasticJobListener | 2 -
test/{ => e2e}/pom.xml | 32 +++++++++++----
.../elasticjob/test/e2e/BaseE2ETest.java | 6 +--
.../test/e2e/disable/DisabledJobE2ETest.java | 16 ++++----
.../test/e2e/disable/OneOffDisabledJobE2ETest.java | 6 +--
.../e2e/disable/ScheduleDisabledJobE2ETest.java | 10 ++---
.../test/e2e/enable/EnabledJobE2ETest.java | 8 ++--
.../test/e2e/enable/OneOffEnabledJobE2ETest.java | 12 +++---
.../test/e2e/enable/ScheduleEnabledJobE2ETest.java | 12 +++---
.../fixture/executor/E2EFixtureJobExecutor.java | 24 +++++------
.../test/e2e/fixture/job/E2EFixtureJob.java | 26 +++++-------
.../test/e2e/fixture/job/E2EFixtureJobImpl.java | 25 +++++------
.../DistributeOnceE2EFixtureJobListener.java | 6 +--
.../fixture/listener/E2EFixtureJobListener.java | 4 +-
...re.elasticjob.infra.listener.ElasticJobListener | 6 +--
...here.elasticjob.spi.type.ClassedJobItemExecutor | 7 +---
test/e2e/src/test/resources/logback-test.xml | 48 ++++++++++++++++++++++
test/pom.xml | 1 +
18 files changed, 152 insertions(+), 99 deletions(-)
diff --git
a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
index 69fd14c6e..ec2673563 100644
---
a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
+++
b/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
@@ -17,5 +17,3 @@
org.apache.shardingsphere.elasticjob.kernel.api.listener.fixture.TestDistributeOnceElasticJobListener
org.apache.shardingsphere.elasticjob.kernel.api.listener.fixture.TestElasticJobListener
-org.apache.shardingsphere.elasticjob.kernel.integrate.listener.TestDistributeOnceElasticJobListener
-org.apache.shardingsphere.elasticjob.kernel.integrate.listener.TestElasticJobListener
diff --git a/test/pom.xml b/test/e2e/pom.xml
similarity index 60%
copy from test/pom.xml
copy to test/e2e/pom.xml
index d2a8a291e..28a202ca2 100644
--- a/test/pom.xml
+++ b/test/e2e/pom.xml
@@ -8,7 +8,7 @@
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
- ~
+ ~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,14 +20,32 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.shardingsphere.elasticjob</groupId>
- <artifactId>elasticjob</artifactId>
+ <artifactId>elasticjob-test</artifactId>
<version>3.1.0-SNAPSHOT</version>
</parent>
- <artifactId>elasticjob-test</artifactId>
- <packaging>pom</packaging>
+ <artifactId>elasticjob-test-e2e</artifactId>
<name>${project.artifactId}</name>
- <modules>
- <module>util</module>
- </modules>
+ <properties>
+ <maven.deploy.skip>true</maven.deploy.skip>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere.elasticjob</groupId>
+ <artifactId>elasticjob-kernel</artifactId>
+ <version>${project.parent.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.shardingsphere.elasticjob</groupId>
+ <artifactId>elasticjob-test-util</artifactId>
+ <version>${project.parent.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.awaitility</groupId>
+ <artifactId>awaitility</artifactId>
+ </dependency>
+ </dependencies>
</project>
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/BaseIntegrateTest.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/BaseE2ETest.java
similarity index 95%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/BaseIntegrateTest.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/BaseE2ETest.java
index 3a8b340c6..2deb0ea66 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/BaseIntegrateTest.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/BaseE2ETest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate;
+package org.apache.shardingsphere.elasticjob.test.e2e;
import lombok.AccessLevel;
import lombok.Getter;
@@ -36,7 +36,7 @@ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
@Getter(AccessLevel.PROTECTED)
-public abstract class BaseIntegrateTest {
+public abstract class BaseE2ETest {
private static final EmbedTestingServer EMBED_TESTING_SERVER = new
EmbedTestingServer(7181);
@@ -55,7 +55,7 @@ public abstract class BaseIntegrateTest {
private final String jobName = System.nanoTime() + "_test_job";
- protected BaseIntegrateTest(final TestType type, final ElasticJob
elasticJob) {
+ protected BaseE2ETest(final TestType type, final ElasticJob elasticJob) {
this.elasticJob = elasticJob;
jobConfiguration = getJobConfiguration(jobName);
jobBootstrap = createJobBootstrap(type, elasticJob);
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/DisabledJobIntegrateTest.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/DisabledJobE2ETest.java
similarity index 87%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/DisabledJobIntegrateTest.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/DisabledJobE2ETest.java
index 4a0da3de2..7c37ed9e7 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/DisabledJobIntegrateTest.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/DisabledJobE2ETest.java
@@ -15,30 +15,30 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.disable;
+package org.apache.shardingsphere.elasticjob.test.e2e.disable;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
import org.apache.shardingsphere.elasticjob.infra.env.IpUtils;
-import
org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO;
import org.apache.shardingsphere.elasticjob.infra.yaml.YamlEngine;
import
org.apache.shardingsphere.elasticjob.kernel.api.bootstrap.impl.ScheduleJobBootstrap;
-import org.apache.shardingsphere.elasticjob.kernel.fixture.job.DetailedFooJob;
-import org.apache.shardingsphere.elasticjob.kernel.integrate.BaseIntegrateTest;
+import
org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO;
import
org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobRegistry;
import
org.apache.shardingsphere.elasticjob.kernel.internal.server.ServerStatus;
+import org.apache.shardingsphere.elasticjob.test.e2e.BaseE2ETest;
+import
org.apache.shardingsphere.elasticjob.test.e2e.fixture.job.E2EFixtureJobImpl;
import org.awaitility.Awaitility;
import org.hamcrest.core.IsNull;
import java.util.concurrent.TimeUnit;
import static org.hamcrest.CoreMatchers.is;
-import static org.junit.jupiter.api.Assertions.assertNull;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertNull;
-public abstract class DisabledJobIntegrateTest extends BaseIntegrateTest {
+public abstract class DisabledJobE2ETest extends BaseE2ETest {
- public DisabledJobIntegrateTest(final TestType type) {
- super(type, new DetailedFooJob());
+ public DisabledJobE2ETest(final TestType type) {
+ super(type, new E2EFixtureJobImpl());
}
protected final void assertDisabledRegCenterInfo() {
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/OneOffDisabledJobIntegrateTest.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/OneOffDisabledJobE2ETest.java
similarity index 88%
copy from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/OneOffDisabledJobIntegrateTest.java
copy to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/OneOffDisabledJobE2ETest.java
index 4905aebc6..634962e1b 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/OneOffDisabledJobIntegrateTest.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/OneOffDisabledJobE2ETest.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.disable;
+package org.apache.shardingsphere.elasticjob.test.e2e.disable;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
import org.junit.jupiter.api.Test;
-class OneOffDisabledJobIntegrateTest extends DisabledJobIntegrateTest {
+class OneOffDisabledJobE2ETest extends DisabledJobE2ETest {
- OneOffDisabledJobIntegrateTest() {
+ OneOffDisabledJobE2ETest() {
super(TestType.ONE_OFF);
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/ScheduleDisabledJobIntegrateTest.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/ScheduleDisabledJobE2ETest.java
similarity index 87%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/ScheduleDisabledJobIntegrateTest.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/ScheduleDisabledJobE2ETest.java
index a2fc80c17..0b2ded9da 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/ScheduleDisabledJobIntegrateTest.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/disable/ScheduleDisabledJobE2ETest.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.disable;
+package org.apache.shardingsphere.elasticjob.test.e2e.disable;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.fixture.job.DetailedFooJob;
import
org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobRegistry;
import
org.apache.shardingsphere.elasticjob.kernel.internal.server.ServerStatus;
+import
org.apache.shardingsphere.elasticjob.test.e2e.fixture.job.E2EFixtureJobImpl;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
@@ -30,9 +30,9 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
-class ScheduleDisabledJobIntegrateTest extends DisabledJobIntegrateTest {
+class ScheduleDisabledJobE2ETest extends DisabledJobE2ETest {
- ScheduleDisabledJobIntegrateTest() {
+ ScheduleDisabledJobE2ETest() {
super(TestType.SCHEDULE);
}
@@ -46,7 +46,7 @@ class ScheduleDisabledJobIntegrateTest extends
DisabledJobIntegrateTest {
void assertJobRunning() {
assertDisabledRegCenterInfo();
setJobEnable();
- Awaitility.await().atMost(10L, TimeUnit.SECONDS).untilAsserted(() ->
assertThat(((DetailedFooJob) getElasticJob()).isCompleted(), is(true)));
+ Awaitility.await().atMost(10L, TimeUnit.SECONDS).untilAsserted(() ->
assertThat(((E2EFixtureJobImpl) getElasticJob()).isCompleted(), is(true)));
assertEnabledRegCenterInfo();
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/EnabledJobIntegrateTest.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/EnabledJobE2ETest.java
similarity index 90%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/EnabledJobIntegrateTest.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/EnabledJobE2ETest.java
index 2766f5a56..c4bac7be9 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/EnabledJobIntegrateTest.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/EnabledJobE2ETest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.enable;
+package org.apache.shardingsphere.elasticjob.test.e2e.enable;
import org.apache.shardingsphere.elasticjob.api.ElasticJob;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
@@ -23,7 +23,7 @@ import org.apache.shardingsphere.elasticjob.infra.env.IpUtils;
import
org.apache.shardingsphere.elasticjob.kernel.internal.config.JobConfigurationPOJO;
import org.apache.shardingsphere.elasticjob.infra.yaml.YamlEngine;
import
org.apache.shardingsphere.elasticjob.kernel.api.bootstrap.impl.ScheduleJobBootstrap;
-import org.apache.shardingsphere.elasticjob.kernel.integrate.BaseIntegrateTest;
+import org.apache.shardingsphere.elasticjob.test.e2e.BaseE2ETest;
import
org.apache.shardingsphere.elasticjob.kernel.internal.schedule.JobRegistry;
import
org.apache.shardingsphere.elasticjob.kernel.internal.server.ServerStatus;
import org.junit.jupiter.api.BeforeEach;
@@ -33,9 +33,9 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-public abstract class EnabledJobIntegrateTest extends BaseIntegrateTest {
+public abstract class EnabledJobE2ETest extends BaseE2ETest {
- protected EnabledJobIntegrateTest(final TestType type, final ElasticJob
elasticJob) {
+ protected EnabledJobE2ETest(final TestType type, final ElasticJob
elasticJob) {
super(type, elasticJob);
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/OneOffEnabledJobIntegrateTest.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/OneOffEnabledJobE2ETest.java
similarity index 80%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/OneOffEnabledJobIntegrateTest.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/OneOffEnabledJobE2ETest.java
index 65b4301de..35a8634b9 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/OneOffEnabledJobIntegrateTest.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/OneOffEnabledJobE2ETest.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.enable;
+package org.apache.shardingsphere.elasticjob.test.e2e.enable;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.fixture.job.DetailedFooJob;
+import
org.apache.shardingsphere.elasticjob.test.e2e.fixture.job.E2EFixtureJobImpl;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
@@ -28,10 +28,10 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
-class OneOffEnabledJobIntegrateTest extends EnabledJobIntegrateTest {
+class OneOffEnabledJobE2ETest extends EnabledJobE2ETest {
- OneOffEnabledJobIntegrateTest() {
- super(TestType.ONE_OFF, new DetailedFooJob());
+ OneOffEnabledJobE2ETest() {
+ super(TestType.ONE_OFF, new E2EFixtureJobImpl());
}
@Override
@@ -42,7 +42,7 @@ class OneOffEnabledJobIntegrateTest extends
EnabledJobIntegrateTest {
@Test
void assertJobInit() {
- Awaitility.await().atMost(1L, TimeUnit.MINUTES).untilAsserted(() ->
assertThat(((DetailedFooJob) getElasticJob()).isCompleted(), is(true)));
+ Awaitility.await().atMost(1L, TimeUnit.MINUTES).untilAsserted(() ->
assertThat(((E2EFixtureJobImpl) getElasticJob()).isCompleted(), is(true)));
assertTrue(getREGISTRY_CENTER().isExisted("/" + getJobName() +
"/sharding"));
}
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/ScheduleEnabledJobIntegrateTest.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/ScheduleEnabledJobE2ETest.java
similarity index 80%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/ScheduleEnabledJobIntegrateTest.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/ScheduleEnabledJobE2ETest.java
index c4a634372..c2630598e 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/enable/ScheduleEnabledJobIntegrateTest.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/enable/ScheduleEnabledJobE2ETest.java
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.enable;
+package org.apache.shardingsphere.elasticjob.test.e2e.enable;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.apache.shardingsphere.elasticjob.kernel.fixture.job.DetailedFooJob;
+import
org.apache.shardingsphere.elasticjob.test.e2e.fixture.job.E2EFixtureJobImpl;
import org.awaitility.Awaitility;
import org.junit.jupiter.api.Test;
@@ -28,10 +28,10 @@ import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.jupiter.api.Assertions.assertTrue;
-class ScheduleEnabledJobIntegrateTest extends EnabledJobIntegrateTest {
+class ScheduleEnabledJobE2ETest extends EnabledJobE2ETest {
- ScheduleEnabledJobIntegrateTest() {
- super(TestType.SCHEDULE, new DetailedFooJob());
+ ScheduleEnabledJobE2ETest() {
+ super(TestType.SCHEDULE, new E2EFixtureJobImpl());
}
@Override
@@ -42,7 +42,7 @@ class ScheduleEnabledJobIntegrateTest extends
EnabledJobIntegrateTest {
@Test
void assertJobInit() {
- Awaitility.await().atMost(10L, TimeUnit.SECONDS).untilAsserted(() ->
assertThat(((DetailedFooJob) getElasticJob()).isCompleted(), is(true)));
+ Awaitility.await().atMost(10L, TimeUnit.SECONDS).untilAsserted(() ->
assertThat(((E2EFixtureJobImpl) getElasticJob()).isCompleted(), is(true)));
assertTrue(getREGISTRY_CENTER().isExisted("/" + getJobName() +
"/sharding"));
}
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/OneOffDisabledJobIntegrateTest.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/executor/E2EFixtureJobExecutor.java
similarity index 53%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/OneOffDisabledJobIntegrateTest.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/executor/E2EFixtureJobExecutor.java
index 4905aebc6..56023790a 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/disable/OneOffDisabledJobIntegrateTest.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/executor/E2EFixtureJobExecutor.java
@@ -15,25 +15,23 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.disable;
+package org.apache.shardingsphere.elasticjob.test.e2e.fixture.executor;
import org.apache.shardingsphere.elasticjob.api.JobConfiguration;
-import org.junit.jupiter.api.Test;
+import org.apache.shardingsphere.elasticjob.spi.param.JobRuntimeService;
+import org.apache.shardingsphere.elasticjob.spi.param.ShardingContext;
+import org.apache.shardingsphere.elasticjob.spi.type.ClassedJobItemExecutor;
+import org.apache.shardingsphere.elasticjob.test.e2e.fixture.job.E2EFixtureJob;
-class OneOffDisabledJobIntegrateTest extends DisabledJobIntegrateTest {
-
- OneOffDisabledJobIntegrateTest() {
- super(TestType.ONE_OFF);
- }
+public final class E2EFixtureJobExecutor implements
ClassedJobItemExecutor<E2EFixtureJob> {
@Override
- protected JobConfiguration getJobConfiguration(final String jobName) {
- return JobConfiguration.newBuilder(jobName,
3).shardingItemParameters("0=A,1=B,2=C")
- .jobListenerTypes("INTEGRATE-TEST",
"INTEGRATE-DISTRIBUTE").disabled(true).overwrite(true).build();
+ public void process(final E2EFixtureJob elasticJob, final JobConfiguration
jobConfig, final JobRuntimeService jobRuntimeService, final ShardingContext
shardingContext) {
+ elasticJob.foo(shardingContext);
}
- @Test
- void assertJobRunning() {
- assertDisabledRegCenterInfo();
+ @Override
+ public Class<E2EFixtureJob> getElasticJobClass() {
+ return E2EFixtureJob.class;
}
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/job/E2EFixtureJob.java
similarity index 58%
copy from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
copy to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/job/E2EFixtureJob.java
index 81fe29570..56824f0aa 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/job/E2EFixtureJob.java
@@ -15,23 +15,17 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.listener;
+package org.apache.shardingsphere.elasticjob.test.e2e.fixture.job;
-import org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener;
-import org.apache.shardingsphere.elasticjob.infra.listener.ShardingContexts;
+import org.apache.shardingsphere.elasticjob.api.ElasticJob;
+import org.apache.shardingsphere.elasticjob.spi.param.ShardingContext;
-public class TestElasticJobListener implements ElasticJobListener {
+public interface E2EFixtureJob extends ElasticJob {
- @Override
- public void beforeJobExecuted(final ShardingContexts shardingContexts) {
- }
-
- @Override
- public void afterJobExecuted(final ShardingContexts shardingContexts) {
- }
-
- @Override
- public String getType() {
- return "INTEGRATE-TEST";
- }
+ /**
+ * Do job.
+ *
+ * @param shardingContext sharding context
+ */
+ void foo(ShardingContext shardingContext);
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/job/E2EFixtureJobImpl.java
similarity index 56%
copy from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
copy to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/job/E2EFixtureJobImpl.java
index 81fe29570..9dc6bb621 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/job/E2EFixtureJobImpl.java
@@ -15,23 +15,24 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.listener;
+package org.apache.shardingsphere.elasticjob.test.e2e.fixture.job;
-import org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener;
-import org.apache.shardingsphere.elasticjob.infra.listener.ShardingContexts;
+import lombok.Getter;
+import org.apache.shardingsphere.elasticjob.spi.param.ShardingContext;
-public class TestElasticJobListener implements ElasticJobListener {
+import java.util.Collection;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+public final class E2EFixtureJobImpl implements E2EFixtureJob {
- @Override
- public void beforeJobExecuted(final ShardingContexts shardingContexts) {
- }
+ private final Collection<Integer> completedJobItems = new
CopyOnWriteArraySet<>();
- @Override
- public void afterJobExecuted(final ShardingContexts shardingContexts) {
- }
+ @Getter
+ private volatile boolean completed;
@Override
- public String getType() {
- return "INTEGRATE-TEST";
+ public void foo(final ShardingContext shardingContext) {
+ completedJobItems.add(shardingContext.getShardingItem());
+ completed = completedJobItems.size() ==
shardingContext.getShardingTotalCount();
}
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestDistributeOnceElasticJobListener.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/listener/DistributeOnceE2EFixtureJobListener.java
similarity index 86%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestDistributeOnceElasticJobListener.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/listener/DistributeOnceE2EFixtureJobListener.java
index b0c654c77..b1580c55c 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestDistributeOnceElasticJobListener.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/listener/DistributeOnceE2EFixtureJobListener.java
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.listener;
+package org.apache.shardingsphere.elasticjob.test.e2e.fixture.listener;
import org.apache.shardingsphere.elasticjob.infra.listener.ShardingContexts;
import
org.apache.shardingsphere.elasticjob.kernel.api.listener.AbstractDistributeOnceElasticJobListener;
-public class TestDistributeOnceElasticJobListener extends
AbstractDistributeOnceElasticJobListener {
+public class DistributeOnceE2EFixtureJobListener extends
AbstractDistributeOnceElasticJobListener {
- public TestDistributeOnceElasticJobListener() {
+ public DistributeOnceE2EFixtureJobListener() {
super(100L, 100L);
}
diff --git
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/listener/E2EFixtureJobListener.java
similarity index 90%
rename from
kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
rename to
test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/listener/E2EFixtureJobListener.java
index 81fe29570..6f92f7fa2 100644
---
a/kernel/src/test/java/org/apache/shardingsphere/elasticjob/kernel/integrate/listener/TestElasticJobListener.java
+++
b/test/e2e/src/test/java/org/apache/shardingsphere/elasticjob/test/e2e/fixture/listener/E2EFixtureJobListener.java
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.elasticjob.kernel.integrate.listener;
+package org.apache.shardingsphere.elasticjob.test.e2e.fixture.listener;
import org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener;
import org.apache.shardingsphere.elasticjob.infra.listener.ShardingContexts;
-public class TestElasticJobListener implements ElasticJobListener {
+public class E2EFixtureJobListener implements ElasticJobListener {
@Override
public void beforeJobExecuted(final ShardingContexts shardingContexts) {
diff --git
a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
b/test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
similarity index 67%
copy from
kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
copy to
test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
index 69fd14c6e..9c94b1d7d 100644
---
a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
+++
b/test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
@@ -15,7 +15,5 @@
# limitations under the License.
#
-org.apache.shardingsphere.elasticjob.kernel.api.listener.fixture.TestDistributeOnceElasticJobListener
-org.apache.shardingsphere.elasticjob.kernel.api.listener.fixture.TestElasticJobListener
-org.apache.shardingsphere.elasticjob.kernel.integrate.listener.TestDistributeOnceElasticJobListener
-org.apache.shardingsphere.elasticjob.kernel.integrate.listener.TestElasticJobListener
+org.apache.shardingsphere.elasticjob.test.e2e.fixture.listener.DistributeOnceE2EFixtureJobListener
+org.apache.shardingsphere.elasticjob.test.e2e.fixture.listener.E2EFixtureJobListener
diff --git
a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
b/test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.type.ClassedJobItemExecutor
similarity index 67%
copy from
kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
copy to
test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.type.ClassedJobItemExecutor
index 69fd14c6e..f3a27ae28 100644
---
a/kernel/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.infra.listener.ElasticJobListener
+++
b/test/e2e/src/test/resources/META-INF/services/org.apache.shardingsphere.elasticjob.spi.type.ClassedJobItemExecutor
@@ -7,7 +7,7 @@
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
-#
+#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,7 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.elasticjob.kernel.api.listener.fixture.TestDistributeOnceElasticJobListener
-org.apache.shardingsphere.elasticjob.kernel.api.listener.fixture.TestElasticJobListener
-org.apache.shardingsphere.elasticjob.kernel.integrate.listener.TestDistributeOnceElasticJobListener
-org.apache.shardingsphere.elasticjob.kernel.integrate.listener.TestElasticJobListener
+org.apache.shardingsphere.elasticjob.test.e2e.fixture.executor.E2EFixtureJobExecutor
diff --git a/test/e2e/src/test/resources/logback-test.xml
b/test/e2e/src/test/resources/logback-test.xml
new file mode 100644
index 000000000..ae5d68242
--- /dev/null
+++ b/test/e2e/src/test/resources/logback-test.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one or more
+ ~ contributor license agreements. See the NOTICE file distributed with
+ ~ this work for additional information regarding copyright ownership.
+ ~ The ASF licenses this file to You under the Apache License, Version 2.0
+ ~ (the "License"); you may not use this file except in compliance with
+ ~ the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+
+<configuration>
+ <property name="log.context.name" value="elasticjob-kernel-test" />
+ <property name="log.charset" value="UTF-8" />
+ <property name="log.pattern" value="[%-5level] %date --%thread-- [%logger]
%msg %n" />
+
+ <contextName>${log.context.name}</contextName>
+
+ <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
+
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ <level>ERROR</level>
+ </filter>
+ <encoder charset="${log.charset}">
+ <pattern>${log.pattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="LogJobErrorHandlerTestAppender"
class="ch.qos.logback.core.read.ListAppender" />
+
+ <root>
+ <appender-ref ref="STDOUT" />
+ </root>
+
+ <logger
name="org.apache.shardingsphere.elasticjob.kernel.internal.snapshot.SnapshotService"
level="OFF" />
+ <logger
name="org.apache.shardingsphere.elasticjob.infra.handler.error.impl.LogJobErrorHandler"
level="OFF" />
+ <logger name="org.apache.curator.framework.listen.MappingListenerManager"
level="OFF" />
+ <logger
name="org.apache.shardingsphere.elasticjob.kernel.internal.executor.error.handler.general.LogJobErrorHandler"
level="error" additivity="false">
+ <appender-ref ref="LogJobErrorHandlerTestAppender" />
+ </logger>
+</configuration>
diff --git a/test/pom.xml b/test/pom.xml
index d2a8a291e..5c11d880a 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -28,6 +28,7 @@
<name>${project.artifactId}</name>
<modules>
+ <module>e2e</module>
<module>util</module>
</modules>
</project>