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>


Reply via email to