This is an automated email from the ASF dual-hosted git repository.

jooks pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new eb71da81b [Task]add sdk apache dubbo integrated test (#3925) (#4173)
eb71da81b is described below

commit eb71da81b622ee52cce6b73358dc935d446cae19
Author: mahaitao <[email protected]>
AuthorDate: Sat Nov 12 21:26:51 2022 +0800

    [Task]add sdk apache dubbo integrated test (#3925) (#4173)
    
    * feat:add sdk apache dubbo example integrated test
    
    * feat:add HttpHelper method
    
    * feat:rename docker image name
    
    * feat:fix
    
    * feat:fix
    
    * feat:fix
    
    * feat:fix
    
    * feat:add health endpoint
    
    * feat:fix
    
    * feat:fix
    
    * feat:fix
    
    * feat:fix
    
    * feat:remove blank
    
    * feat:fix
    
    * feat:fix
    
    * feat:fix
    
    * feat:fix
    
    * feat:fix
    
    * feat:fix
    
    Co-authored-by: mahaitao617 <[email protected]>
    Co-authored-by: mahaitao617 <[email protected]>
---
 .github/workflows/integrated-test.yml              |   1 +
 .../shenyu-examples-sdk-dubbo/pom.xml              |   5 -
 .../pom.xml                                        |   5 +
 .../ShenyuSdkApacheDubboExampleApplication.java    |   2 +-
 .../consumer/api/ShenyuApacheDubboClientApi.java   |   2 +-
 .../ShenyuApacheDubboSdkExampleController.java     |   2 +-
 .../src/main/resources/application.yml             |   6 +-
 .../Dockerfile                                     |   1 +
 .../pom.xml                                        |  17 ---
 .../src/main/resources/application.yml             |  27 ++++
 .../src/main/resources/shenyu.xml                  |  59 ++++++++
 .../src/main/resources/spring-dubbo.xml            |  36 +++++
 shenyu-integrated-test/pom.xml                     |   1 +
 .../integratedtest/common/helper/HttpHelper.java   |   2 +-
 .../Dockerfile                                     |   4 +-
 .../docker-compose.yml                             | 111 +++++++++++++++
 .../pom.xml                                        | 100 +++++++++-----
 .../script/healthcheck.sh                          |  36 +++++
 .../script/services.list                           |  17 +--
 .../dubbo/SdkApacheDubboIntegratedBootstrap.java   |  14 +-
 .../src/main/resources/application.yml             | 152 +++++++++++++++++++++
 .../test/alibaba/dubbo/ApacheDubboPluginTest.java  |  46 +++++++
 22 files changed, 559 insertions(+), 87 deletions(-)

diff --git a/.github/workflows/integrated-test.yml 
b/.github/workflows/integrated-test.yml
index 38f9637c7..56f2e2dba 100644
--- a/.github/workflows/integrated-test.yml
+++ b/.github/workflows/integrated-test.yml
@@ -36,6 +36,7 @@ jobs:
           - shenyu-integrated-test-sofa
           - shenyu-integrated-test-websocket
           - shenyu-integrated-test-combination
+          - shenyu-integrated-test-sdk-apache-dubbo
     runs-on: ubuntu-latest
     if: (github.repository == 'apache/shenyu')
     steps:
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/pom.xml 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/pom.xml
index 31d9d10e8..20cac6bbc 100644
--- a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/pom.xml
+++ b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/pom.xml
@@ -40,11 +40,6 @@
                 <artifactId>shenyu-examples-common</artifactId>
                 <version>${project.version}</version>
             </dependency>
-<!--            <dependency>-->
-<!--                <groupId>org.apache.shenyu</groupId>-->
-<!--                <artifactId>shenyu-examples-dubbo-api</artifactId>-->
-<!--                <version>${project.version}</version>-->
-<!--            </dependency>-->
         </dependencies>
     </dependencyManagement>
 </project>
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/pom.xml
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/pom.xml
index b4a563012..2b9653168 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/pom.xml
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/pom.xml
@@ -38,6 +38,11 @@
             <version>${project.version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.shenyu</groupId>
             <artifactId>shenyu-sdk-httpclient</artifactId>
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/ShenyuSdkApacheDubboExampleApplication.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/ShenyuSdkApacheDubboExampleApplication.java
index 4d5827bb2..f56527d66 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/ShenyuSdkApacheDubboExampleApplication.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/ShenyuSdkApacheDubboExampleApplication.java
@@ -25,7 +25,7 @@ import 
org.springframework.boot.autoconfigure.SpringBootApplication;
  * ShenyuSdkApacheDubboExampleApplication.
  */
 @SpringBootApplication
-@EnableShenyuClients(basePackages = 
"org.apache.shenyu.examples.sdk.apache.dubbo.api")
+@EnableShenyuClients(basePackages = 
"org.apache.shenyu.examples.sdk.apache.dubbo.consumer.api")
 public class ShenyuSdkApacheDubboExampleApplication {
 
     /**
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
index 037ef0781..e72de45b4 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/api/ShenyuApacheDubboClientApi.java
@@ -22,7 +22,7 @@ import org.apache.shenyu.sdk.spring.ShenyuClient;
 import org.springframework.web.bind.annotation.GetMapping;
 
 /**
- * ShenyuHttpClientApi.
+ * ShenyuApacheDubboClientApi.
  */
 @ShenyuClient(contextId = "shenyu-gateway", name = "ShenyuSdkApiName")
 public interface ShenyuApacheDubboClientApi {
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/controller/ShenyuApacheDubboSdkExampleController.java
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/controller/ShenyuApacheDubboSdkExampleController.java
index 8ae79840e..d0e5450d8 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/controller/ShenyuApacheDubboSdkExampleController.java
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/controller/ShenyuApacheDubboSdkExampleController.java
@@ -37,7 +37,7 @@ public class ShenyuApacheDubboSdkExampleController {
      * findAll.
      * @return SdkTestDto
      */
-    @GetMapping("sdk/dubbo/findAll")
+    @GetMapping("/sdk/dubbo/findAll")
     public DubboTest findAll() {
         return shenyuApacheDubboClientApi.findAll();
     }
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/resources/application.yml
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/resources/application.yml
index 404c6aeda..f9f08ad0e 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/resources/application.yml
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/resources/application.yml
@@ -30,7 +30,7 @@ shenyu:
       props:
         contextPath: /http
         appName: http
-  #          port: 8189
+
   sdk:
     enabled: true
     register-type: zookeeper #local #etcd #nacos #consul
@@ -41,6 +41,10 @@ spring:
     multipart:
       max-file-size: 100MB
       max-request-size: 100MB
+management:
+  endpoint:
+    health:
+      enabled: true
 
 logging:
   level:
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
index 6d2a66a1d..60eda0c10 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
@@ -25,5 +25,6 @@ ADD target/${APP_NAME}.jar ${LOCAL_PATH}
 
 WORKDIR ${LOCAL_PATH}
 EXPOSE 8011
+EXPOSE 20888
 
 CMD java -jar ${APP_NAME}.jar
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/pom.xml
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/pom.xml
index ab15fc11c..52b62658e 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/pom.xml
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/pom.xml
@@ -40,18 +40,6 @@
             <version>${project.version}</version>
         </dependency>
 
-        <!--shenyu consul register center -->
-        <!--<dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
-            <version>2.2.6.RELEASE</version>
-        </dependency>-->
-
-<!--        <dependency>-->
-<!--            <groupId>org.apache.shenyu</groupId>-->
-<!--            <artifactId>shenyu-examples-dubbo-api</artifactId>-->
-<!--        </dependency>-->
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
@@ -134,11 +122,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>org.apache.shenyu</groupId>-->
-<!--            <artifactId>shenyu-examples-dubbo-api</artifactId>-->
-<!--            <version>2.5.1-SNAPSHOT</version>-->
-<!--        </dependency>-->
     </dependencies>
 
     <build>
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/application.yml
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/application.yml
new file mode 100644
index 000000000..3b6672249
--- /dev/null
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/application.yml
@@ -0,0 +1,27 @@
+# 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.
+
+server:
+  port: 8011
+  address: 0.0.0.0
+  servlet:
+    context-path: /
+spring:
+  main:
+    allow-bean-definition-overriding: true
+dubbo:
+  registry:
+    address: zookeeper://localhost:2181
+    port: 20888
\ No newline at end of file
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/shenyu.xml
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/shenyu.xml
new file mode 100644
index 000000000..0dbf332ef
--- /dev/null
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/shenyu.xml
@@ -0,0 +1,59 @@
+<?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.
+  -->
+
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd";>
+    <bean id = "apacheDubboServiceBeanListener" 
class="org.apache.shenyu.client.apache.dubbo.ApacheDubboServiceBeanListener">
+        <constructor-arg ref="clientPropertiesConfig"/>
+        <constructor-arg ref="clientRegisterRepository"/>
+    </bean>
+
+    <!-- conifig ShenyuRegisterCenterConfig according to your registerType -->
+    <bean id="shenyuRegisterCenterConfig" 
class="org.apache.shenyu.register.common.config.ShenyuRegisterCenterConfig">
+        <property name="registerType" value="http"/>
+        <property name="serverLists" value="http://localhost:9095"/>
+        <property name="props">
+            <props>
+                <prop key="username">admin</prop>
+                <prop key="password">123456</prop>
+            </props>
+        </property>
+    </bean>
+
+    <!-- ClientPropertiesConfig -->
+    <bean id="clientPropertiesConfig"
+          
class="org.apache.shenyu.register.common.config.ShenyuClientConfig.ClientPropertiesConfig">
+        <property name="props">
+            <map>
+                <entry key="contextPath" value="/dubbo"/>
+                <entry key="appName" value="dubbo"/>
+            </map>
+        </property>
+    </bean>
+
+    <!-- for other kind of register method, please use related 
ShenyuClientRegisterRepository -->
+    <bean id="clientRegisterRepository" 
class="org.apache.shenyu.register.client.http.HttpClientRegisterRepository">
+        <constructor-arg ref="shenyuRegisterCenterConfig"/>
+    </bean>
+
+    <bean id="shenyuClientShutdownHook" 
class="org.apache.shenyu.client.core.shutdown.ShenyuClientShutdownHook">
+        <constructor-arg ref="shenyuRegisterCenterConfig"/>
+        <constructor-arg ref="clientRegisterRepository"/>
+    </bean>
+</beans>
\ No newline at end of file
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/spring-dubbo.xml
 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/spring-dubbo.xml
new file mode 100644
index 000000000..b187dadf4
--- /dev/null
+++ 
b/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/src/main/resources/spring-dubbo.xml
@@ -0,0 +1,36 @@
+<?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.
+  -->
+
+<beans xmlns="http://www.springframework.org/schema/beans";
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo";
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+       http://www.springframework.org/schema/beans/spring-beans.xsd
+       http://code.alibabatech.com/schema/dubbo
+       https://code.alibabatech.com/schema/dubbo/dubbo.xsd";>
+
+    <dubbo:application name="test-dubbo-service"/>
+    <dubbo:registry address="${dubbo.registry.address}"/>
+    <dubbo:protocol name="dubbo" port="${dubbo.registry.port}"/>
+
+    <dubbo:service timeout="10000" 
interface="org.apache.shenyu.examples.dubbo.api.service.DubboTestService" 
ref="dubboTestService"/>
+    <dubbo:service timeout="10000" 
interface="org.apache.shenyu.examples.dubbo.api.service.DubboMultiParamService" 
ref="dubboMultiParamService"/>
+    <dubbo:service timeout="10000" 
interface="org.apache.shenyu.examples.dubbo.api.service.DubboClassTestService" 
ref="dubboClassTestService"/>
+    <dubbo:service timeout="10000" 
interface="org.apache.shenyu.examples.dubbo.api.service.DubboClassMultiParamService"
 ref="dubboClassMultiParamService"/>
+
+</beans>
diff --git a/shenyu-integrated-test/pom.xml b/shenyu-integrated-test/pom.xml
index 1016901de..3161f9802 100644
--- a/shenyu-integrated-test/pom.xml
+++ b/shenyu-integrated-test/pom.xml
@@ -40,6 +40,7 @@
         <module>shenyu-integrated-test-sofa</module>
         <module>shenyu-integrated-test-websocket</module>
         <module>shenyu-integrated-test-combination</module>
+        <module>shenyu-integrated-test-sdk-apache-dubbo</module>
     </modules>
 
     <properties>
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-common/src/main/java/org/apache/shenyu/integratedtest/common/helper/HttpHelper.java
 
b/shenyu-integrated-test/shenyu-integrated-test-common/src/main/java/org/apache/shenyu/integratedtest/common/helper/HttpHelper.java
index a82543eb5..68d77d8c2 100644
--- 
a/shenyu-integrated-test/shenyu-integrated-test-common/src/main/java/org/apache/shenyu/integratedtest/common/helper/HttpHelper.java
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-common/src/main/java/org/apache/shenyu/integratedtest/common/helper/HttpHelper.java
@@ -58,7 +58,7 @@ public class HttpHelper {
     private static final Gson GSON = new Gson();
 
     private final OkHttpClient client = new OkHttpClient.Builder().build();
-    
+
     private final String localKey = "123456";
 
     /**
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
 b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/Dockerfile
similarity index 93%
copy from 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
copy to 
shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/Dockerfile
index 6d2a66a1d..ac95c5b52 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
+++ b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/Dockerfile
@@ -16,7 +16,7 @@
 
 FROM openjdk:8-jre-alpine
 
-ENV APP_NAME shenyu-examples-sdk-apache-dubbo-provider
+ENV APP_NAME shenyu-integrated-test-sdk-apache-dubbo
 ENV LOCAL_PATH /opt/${APP_NAME}
 
 RUN mkdir -p ${LOCAL_PATH}
@@ -24,6 +24,6 @@ RUN mkdir -p ${LOCAL_PATH}
 ADD target/${APP_NAME}.jar ${LOCAL_PATH}
 
 WORKDIR ${LOCAL_PATH}
-EXPOSE 8011
+EXPOSE 9195
 
 CMD java -jar ${APP_NAME}.jar
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/docker-compose.yml
 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/docker-compose.yml
new file mode 100644
index 000000000..31445e88f
--- /dev/null
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/docker-compose.yml
@@ -0,0 +1,111 @@
+# 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.
+version: "3.9"
+services:
+  shenyu-zk:
+    container_name: shenyu-zk
+    image: zookeeper:3.5
+    restart: always
+    networks:
+      - shenyu
+    ports:
+      - "2181:2181"
+
+  shenyu-admin:
+    image: apache/shenyu-admin:latest
+    container_name: shenyu-admin
+    restart: always
+    networks:
+      - shenyu
+    ports:
+      - "9095:9095"
+    environment:
+      - SPRING_PROFILES_ACTIVE=h2
+      - shenyu.database.init_script=sql-script/h2/schema.sql
+    healthcheck:
+      test: ["CMD-SHELL", "wget -q -O - 
http://shenyu-admin:9095/actuator/health | grep UP || exit 1"]
+      timeout: 2s
+      retries: 3
+      start_period: 5s
+  shenyu-examples-sdk-apache-dubbo-provider:
+    deploy:
+      resources:
+        limits:
+          memory: 2048M
+    container_name: shenyu-examples-sdk-apache-dubbo-provider
+    image: shenyu-examples-sdk-apache-dubbo-provider:latest
+    restart: always
+    healthcheck:
+      test: ["CMD-SHELL", "wget -q -O - http://localhost:8011/actuator/health 
| grep UP || exit 1"]
+      timeout: 2s
+      retries: 3
+      start_period: 5s
+    ports:
+      - "8011:8011"
+      - "20888:20888"
+    networks:
+      - shenyu
+    environment:
+      - dubbo.registry.address=zookeeper://shenyu-zk:2181
+      - shenyu.register.serverLists=http://shenyu-admin:9095
+
+  shenyu-examples-sdk-apache-dubbo-consumer:
+    deploy:
+      resources:
+        limits:
+          memory: 2048M
+    container_name: shenyu-examples-sdk-apache-dubbo-consumer
+    image: shenyu-examples-sdk-apache-dubbo-consumer:latest
+    restart: always
+    healthcheck:
+      test: ["CMD-SHELL", "wget -q -O - http://localhost:8899/actuator/health 
| grep UP || exit 1"]
+      timeout: 2s
+      retries: 3
+      start_period: 5s
+    ports:
+      - "8899:8899"
+    networks:
+      - shenyu
+    environment:
+      - shenyu.register.serverLists=http://shenyu-admin:9095
+
+  shenyu-integrated-test-sdk-apache-dubbo:
+    container_name: shenyu-integrated-test-sdk-apache-dubbo
+    image: apache/shenyu-integrated-test-sdk-apache-dubbo:latest
+    restart: always
+    deploy:
+      resources:
+        limits:
+          memory: 2048M
+    environment:
+      - dubbo.registry.address=zookeeper://shenyu-zk:2181
+      - shenyu.sync.websocket.urls=ws://shenyu-admin:9095/websocket
+    depends_on:
+      shenyu-admin:
+        condition: service_healthy
+    ports:
+      - "9195:9195"
+    healthcheck:
+      test: [ "CMD", "wget", "-q", "-O", "-", 
"http://shenyu-integrated-test-sdk-apache-dubbo:9195/actuator/health"; ]
+      timeout: 2s
+      retries: 3
+      start_period: 5s
+    networks:
+      - shenyu
+
+networks:
+  shenyu:
+    name: shenyu
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/pom.xml
 b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/pom.xml
similarity index 51%
copy from 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/pom.xml
copy to shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/pom.xml
index b4a563012..f06dc788f 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/pom.xml
+++ b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/pom.xml
@@ -18,78 +18,104 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0";
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
     <parent>
-        <artifactId>shenyu-examples-sdk-dubbo</artifactId>
         <groupId>org.apache.shenyu</groupId>
+        <artifactId>shenyu-integrated-test</artifactId>
         <version>2.5.1-SNAPSHOT</version>
     </parent>
-    <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>shenyu-examples-sdk-apache-dubbo-consumer</artifactId>
+    <artifactId>shenyu-integrated-test-sdk-apache-dubbo</artifactId>
+    <name>shenyu-integrated-test-sdk-apache-dubbo</name>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.shenyu</groupId>
-            <artifactId>shenyu-sdk-core</artifactId>
+            <artifactId>shenyu-integrated-test-common</artifactId>
+            <version>${project.version}</version>
         </dependency>
+
         <dependency>
             <groupId>org.apache.shenyu</groupId>
-            <artifactId>shenyu-examples-dubbo-api</artifactId>
+            <artifactId>shenyu-spring-boot-starter-instance</artifactId>
             <version>${project.version}</version>
         </dependency>
 
         <dependency>
             <groupId>org.apache.shenyu</groupId>
-            <artifactId>shenyu-sdk-httpclient</artifactId>
+            <artifactId>shenyu-spring-boot-starter-gateway</artifactId>
+            <version>${project.version}</version>
         </dependency>
 
         <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
+            <groupId>org.apache.shenyu</groupId>
+            
<artifactId>shenyu-spring-boot-starter-plugin-apache-dubbo</artifactId>
+            <version>${project.version}</version>
         </dependency>
-        <!--spring bootstrap-->
         <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter</artifactId>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo</artifactId>
+            <version>3.1.1</version>
         </dependency>
 
         <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-x-discovery</artifactId>
+            <version>5.1.0</version>
         </dependency>
-
+        <!-- Dubbo zookeeper registry dependency start -->
         <dependency>
-            <groupId>org.apache.shenyu</groupId>
-            <artifactId>shenyu-spring-boot-starter-sdk</artifactId>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-client</artifactId>
+            <version>4.0.1</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>log4j</artifactId>
+                    <groupId>log4j</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-framework</artifactId>
+            <version>4.0.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.curator</groupId>
+            <artifactId>curator-recipes</artifactId>
+            <version>4.0.1</version>
         </dependency>
     </dependencies>
-
-    <build>
-        <finalName>shenyu-examples-sdk-apache-dubbo-consumer</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    
<mainClass>org.apache.shenyu.examples.sdk.apache.dubbo.consumer.ShenyuSdkApacheDubboExampleApplication</mainClass>
-                    <executable>true</executable>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+    
     <profiles>
         <profile>
-            <id>example</id>
+            <id>it</id>
             <properties>
-                
<docker.buildArg.APP_NAME>shenyu-examples-sdk-apache-dubbo-consumer</docker.buildArg.APP_NAME>
-                
<docker.image.tag.repo>shenyu-examples-sdk-apache-dubbo-consumer</docker.image.tag.repo>
+                
<docker.buildArg.APP_NAME>shenyu-integrated-test-sdk-apache-dubbo</docker.buildArg.APP_NAME>
+                
<docker.image.tag.repo>apache/shenyu-integrated-test-sdk-apache-dubbo</docker.image.tag.repo>
                 <docker.image.tag.tagName>latest</docker.image.tag.tagName>
             </properties>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-            </activation>
             <build>
+                <finalName>shenyu-integrated-test-sdk-apache-dubbo</finalName>
                 <plugins>
+                    <plugin>
+                        <groupId>org.springframework.boot</groupId>
+                        <artifactId>spring-boot-maven-plugin</artifactId>
+                        <version>${spring-boot.version}</version>
+                        <executions>
+                            <execution>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>repackage</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                        <configuration>
+                            
<mainClass>org.apache.shenyu.integrated.test.apache.dubbo.SdkApacheDubboIntegratedBootstrap
+                            </mainClass>
+                            <executable>true</executable>
+                        </configuration>
+                    </plugin>
                     <plugin>
                         <groupId>io.fabric8</groupId>
                         <artifactId>docker-maven-plugin</artifactId>
@@ -97,7 +123,7 @@
                         <configuration>
                             <images>
                                 <image>
-                                    
<name>shenyu-examples-sdk-apache-dubbo-consumer</name>
+                                    
<name>apache/shenyu-integrated-test-sdk-apache-dubbo</name>
                                     <build>
                                         
<contextDir>${project.basedir}</contextDir>
                                     </build>
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/script/healthcheck.sh
 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/script/healthcheck.sh
new file mode 100644
index 000000000..22a76034a
--- /dev/null
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/script/healthcheck.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+#
+# 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.
+#
+
+PRGDIR=`dirname "$0"`
+for service in `grep -v -E "^$|^#" ${PRGDIR}/services.list`
+do
+    for loop in `seq 1 30`
+    do
+        status=`curl -o /dev/null -s -w %{http_code} $service`
+        echo -e "curl $service response $status"
+
+        if [ $status -eq 200  ]; then
+            break
+        fi
+
+        sleep 2
+    done
+done
+
+sleep 3
+echo -e "\n-------------------"
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/script/services.list
similarity index 75%
copy from 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
copy to 
shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/script/services.list
index 6d2a66a1d..19a97d90c 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-provider/Dockerfile
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/script/services.list
@@ -14,16 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FROM openjdk:8-jre-alpine
-
-ENV APP_NAME shenyu-examples-sdk-apache-dubbo-provider
-ENV LOCAL_PATH /opt/${APP_NAME}
-
-RUN mkdir -p ${LOCAL_PATH}
-
-ADD target/${APP_NAME}.jar ${LOCAL_PATH}
-
-WORKDIR ${LOCAL_PATH}
-EXPOSE 8011
-
-CMD java -jar ${APP_NAME}.jar
+http://localhost:9095/actuator/health
+http://localhost:8011/actuator/health
+http://localhost:9195/actuator/health
+http://localhost:8899/actuator/health
diff --git 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/ShenyuSdkApacheDubboExampleApplication.java
 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/main/java/org/apache/shenyu/integrated/test/apache/dubbo/SdkApacheDubboIntegratedBootstrap.java
similarity index 71%
copy from 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/ShenyuSdkApacheDubboExampleApplication.java
copy to 
shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/main/java/org/apache/shenyu/integrated/test/apache/dubbo/SdkApacheDubboIntegratedBootstrap.java
index 4d5827bb2..1fdf8377f 100644
--- 
a/shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-dubbo/shenyu-examples-sdk-apache-dubbo-consumer/src/main/java/org/apache/shenyu/examples/sdk/apache/dubbo/consumer/ShenyuSdkApacheDubboExampleApplication.java
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/main/java/org/apache/shenyu/integrated/test/apache/dubbo/SdkApacheDubboIntegratedBootstrap.java
@@ -15,25 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.shenyu.examples.sdk.apache.dubbo.consumer;
+package org.apache.shenyu.integrated.test.apache.dubbo;
 
-import org.apache.shenyu.sdk.spring.EnableShenyuClients;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 /**
- * ShenyuSdkApacheDubboExampleApplication.
+ * The type sdk Alibaba dubbo integrated bootstrap.
  */
 @SpringBootApplication
-@EnableShenyuClients(basePackages = 
"org.apache.shenyu.examples.sdk.apache.dubbo.api")
-public class ShenyuSdkApacheDubboExampleApplication {
+public class SdkApacheDubboIntegratedBootstrap {
 
     /**
-     * main.
+     * The entry point of application.
      *
-     * @param args args
+     * @param args the input arguments
      */
     public static void main(final String[] args) {
-        SpringApplication.run(ShenyuSdkApacheDubboExampleApplication.class, 
args);
+        SpringApplication.run(SdkApacheDubboIntegratedBootstrap.class);
     }
 }
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/main/resources/application.yml
 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/main/resources/application.yml
new file mode 100644
index 000000000..ea8e73bba
--- /dev/null
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/main/resources/application.yml
@@ -0,0 +1,152 @@
+# 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.
+
+server:
+  port: 9195
+  address: 0.0.0.0
+
+spring:
+  main:
+    allow-bean-definition-overriding: true
+  application:
+    name: shenyu-bootstrap
+
+management:
+  health:
+    defaults:
+      enabled: false
+
+shenyu:
+  matchCache:
+    selectorEnabled: false
+    ruleEnabled: true
+    maxSelectorFreeMemory: 256 # 256MB
+    maxRuleFreeMemory: 256 # 256MB
+  netty:
+    http:
+      # set to false, user can custom the netty tcp server config.
+      webServerFactoryEnabled: true
+      selectCount: 1
+      workerCount: 4
+      accessLog: false
+      serverSocketChannel:
+        soRcvBuf: 87380
+        soBackLog: 128
+        soReuseAddr: false
+        connectTimeoutMillis: 10000
+        writeBufferHighWaterMark: 65536
+        writeBufferLowWaterMark: 32768
+        writeSpinCount: 16
+        autoRead: false
+        allocType: "pooled"
+        messageSizeEstimator: 8
+        singleEventExecutorPerGroup: true
+      socketChannel:
+        soKeepAlive: false
+        soReuseAddr: false
+        soLinger: -1
+        tcpNoDelay: true
+        soRcvBuf: 87380
+        soSndBuf: 16384
+        ipTos: 0
+        allowHalfClosure: false
+        connectTimeoutMillis: 10000
+        writeBufferHighWaterMark: 65536
+        writeBufferLowWaterMark: 32768
+        writeSpinCount: 16
+        autoRead: false
+        allocType: "pooled"
+        messageSizeEstimator: 8
+        singleEventExecutorPerGroup: true
+  register:
+    enabled: true
+    registerType: zookeeper #etcd #consul
+    serverLists: localhost:2181 #http://localhost:2379 #localhost:8848
+    props:
+  cross:
+    enabled: true
+    allowedHeaders:
+    allowedMethods: "*"
+    allowedAnyOrigin: true # the same of Access-Control-Allow-Origin: "*"
+    allowedExpose: ""
+    maxAge: "18000"
+    allowCredentials: true
+
+  switchConfig:
+    local: true
+  file:
+    enabled: true
+    maxSize : 10
+  sync:
+    websocket:
+      urls: ws://localhost:9095/websocket
+      allowOrigin: ws://localhost:9195
+  exclude:
+    enabled: true
+    paths:
+      - /favicon.ico
+      - /actuator/health
+  fallback:
+    enabled: false
+    paths:
+      - /fallback/hystrix
+      - /fallback/resilience4j
+  health:
+    enabled: false
+    paths:
+      - /actuator/health
+      - /health_check
+  extPlugin:
+    path:
+    enabled: true
+    threads: 1
+    scheduleTime: 300
+    scheduleDelay: 30
+  scheduler:
+    enabled: false
+    type: fixed
+    threads: 16
+  upstreamCheck:
+    enabled: false
+    timeout: 3000
+    healthyThreshold: 1
+    unhealthyThreshold: 1
+    interval: 5000
+    printEnabled: true
+    printInterval: 60000
+  ribbon:
+    serverListRefreshInterval: 10000
+  metrics:
+    enabled: false
+    name : prometheus
+    host: 127.0.0.1
+    port: 8090
+    jmxConfig:
+    props:
+      jvm_enabled: true
+  #  plugins:
+  #    rate-limiter.enabled: false
+  local:
+    enabled: false
+    sha512Key: 
"BA3253876AED6BC22D4A6FF53D8406C6AD864195ED144AB5C87621B6C233B548BAEAE6956DF346EC8C17F5EA10F35EE3CBC514797ED7DDD3145464E2A0BAB413"
+
+logging:
+  level:
+    root: info
+    org.springframework.boot: info
+    org.apache.ibatis: info
+    org.apache.shenyu.bonuspoint: info
+    org.apache.shenyu.lottery: info
+    org.apache.shenyu: info
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/test/java/org/apache/shenyu/integrated/test/alibaba/dubbo/ApacheDubboPluginTest.java
 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/test/java/org/apache/shenyu/integrated/test/alibaba/dubbo/ApacheDubboPluginTest.java
new file mode 100644
index 000000000..b9408c2ec
--- /dev/null
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-sdk-apache-dubbo/src/test/java/org/apache/shenyu/integrated/test/alibaba/dubbo/ApacheDubboPluginTest.java
@@ -0,0 +1,46 @@
+/*
+ * 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.
+ */
+
+package org.apache.shenyu.integrated.test.alibaba.dubbo;
+
+import java.io.IOException;
+import org.apache.shenyu.common.enums.PluginEnum;
+import org.apache.shenyu.integratedtest.common.AbstractPluginDataInit;
+import org.apache.shenyu.integratedtest.common.dto.DubboTest;
+import org.apache.shenyu.integratedtest.common.helper.HttpHelper;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class ApacheDubboPluginTest extends AbstractPluginDataInit {
+
+    @BeforeAll
+    public static void setup() throws IOException {
+        String pluginResult = initPlugin(PluginEnum.DUBBO.getName(), 
"{\"register\":\"zookeeper://shenyu-zk:2181\"}");
+        assertThat(pluginResult, is("success"));
+    }
+
+    @Test
+    public void testFindAll() throws IOException {
+        DubboTest dubboTest = 
HttpHelper.INSTANCE.getHttpService("http://localhost:8899/sdk/dubbo/findAll";, 
null, DubboTest.class);
+        assertEquals("hello world shenyu Apache, findAll", 
dubboTest.getName());
+    }
+
+}


Reply via email to