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

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


The following commit(s) were added to refs/heads/master by this push:
     new 91b7bf5f397 Add : add assertion for zipkin E2E (#23135) (#23342)
91b7bf5f397 is described below

commit 91b7bf5f397e9e34f1fd7f265e10c15f6ca5f99e
Author: 孙念君 Nianjun Sun <[email protected]>
AuthorDate: Thu Jan 5 16:10:49 2023 +0800

    Add : add assertion for zipkin E2E (#23135) (#23342)
    
    * Add : add assertion for zipkin E2E (#23135)
    
    * Add : update the test comment (#23135)
---
 .github/workflows/e2e.yml                          |  1 +
 .../agent/common}/result/JsonConfiguration.java    |  2 +-
 .../metrics/result/MetricsMetaDataResult.java      |  1 +
 .../agent/metrics/result/MetricsQueryResult.java   |  1 +
 .../test/e2e/agent/zipkin/ZipkinPluginE2EIT.java   | 51 +++++++++++++++++++++-
 .../src/test/resources/env/engine-env.properties   |  9 ++--
 6 files changed, 59 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml
index c6721fdc1df..8a28de338f6 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.yml
@@ -216,3 +216,4 @@ jobs:
         run: |
           ./mvnw -B clean install -f test/e2e/agent/plugins/metrics/pom.xml 
-Dspotless.apply.skip=true -Pit.env.metrics
           ./mvnw -B clean install -f 
test/e2e/agent/plugins/opentelemetry/pom.xml -Dspotless.apply.skip=true 
-Pit.env.opentelemetry
+          ./mvnw -B clean install -f test/e2e/agent/plugins/zipkin/pom.xml 
-Dspotless.apply.skip=true -Pit.env.zipkin
diff --git 
a/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/JsonConfiguration.java
 
b/test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/result/JsonConfiguration.java
similarity index 93%
rename from 
test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/JsonConfiguration.java
rename to 
test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/result/JsonConfiguration.java
index 41725d504e1..a50b9ff5b54 100644
--- 
a/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/JsonConfiguration.java
+++ 
b/test/e2e/agent/plugins/common/src/test/java/org/apache/shardingsphere/test/e2e/agent/common/result/JsonConfiguration.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.e2e.agent.metrics.result;
+package org.apache.shardingsphere.test.e2e.agent.common.result;
 
 /**
  * JSON configuration.
diff --git 
a/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
 
b/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
index 1c2e27b961e..3ceecf01843 100644
--- 
a/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
+++ 
b/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
@@ -19,6 +19,7 @@ package 
org.apache.shardingsphere.test.e2e.agent.metrics.result;
 
 import lombok.Getter;
 import lombok.Setter;
+import 
org.apache.shardingsphere.test.e2e.agent.common.result.JsonConfiguration;
 
 import java.util.List;
 import java.util.Map;
diff --git 
a/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
 
b/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
index ebf2ef07f54..a0391ac2f0f 100644
--- 
a/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
+++ 
b/test/e2e/agent/plugins/metrics/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.test.e2e.agent.metrics.result;
 import com.google.gson.annotations.SerializedName;
 import lombok.Getter;
 import lombok.Setter;
+import 
org.apache.shardingsphere.test.e2e.agent.common.result.JsonConfiguration;
 
 import java.util.List;
 
diff --git 
a/test/e2e/agent/plugins/zipkin/src/test/java/org/apache/shardingsphere/test/e2e/agent/zipkin/ZipkinPluginE2EIT.java
 
b/test/e2e/agent/plugins/zipkin/src/test/java/org/apache/shardingsphere/test/e2e/agent/zipkin/ZipkinPluginE2EIT.java
index 2891e4e8e6b..c840878a206 100644
--- 
a/test/e2e/agent/plugins/zipkin/src/test/java/org/apache/shardingsphere/test/e2e/agent/zipkin/ZipkinPluginE2EIT.java
+++ 
b/test/e2e/agent/plugins/zipkin/src/test/java/org/apache/shardingsphere/test/e2e/agent/zipkin/ZipkinPluginE2EIT.java
@@ -18,16 +18,63 @@
 package org.apache.shardingsphere.test.e2e.agent.zipkin;
 
 import org.apache.shardingsphere.test.e2e.agent.common.BasePluginE2EIT;
-import org.junit.Ignore;
+import org.apache.shardingsphere.test.e2e.agent.common.env.E2ETestEnvironment;
+import org.apache.shardingsphere.test.e2e.agent.common.util.OkHttpUtils;
+import org.junit.Before;
 import org.junit.Test;
 
 import java.io.IOException;
+import java.util.List;
+import java.util.Properties;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 public final class ZipkinPluginE2EIT extends BasePluginE2EIT {
     
+    private Properties props;
+    
+    private String url;
+    
+    private String serviceName;
+    
+    @Before
+    public void before() {
+        props = E2ETestEnvironment.getInstance().getProps();
+        url = props.getProperty("zipkin.url");
+        serviceName = props.getProperty("zipkin.servername");
+    }
+    
     @Test
-    @Ignore
     public void assertProxyWithAgent() throws IOException {
         super.assertProxyWithAgent();
+        try {
+            // TODO this needs to refactor, replace Sleeping with Polling not.
+            Thread.sleep(Long.parseLong(props.getProperty("zipkin.waitMs", 
"60000")));
+        } catch (final InterruptedException ignore) {
+        }
+        // TODO add more detailed assert for zipkin
+        assertSpans();
+        assertTraces();
+    }
+    
+    private void assertSpans() throws IOException {
+        final String spansURL = url + "spans?serviceName=" + serviceName;
+        List<?> spans = OkHttpUtils.getInstance().get(spansURL, List.class);
+        assertThat(spans.size(), is(3));
+        assertTrue(spans.contains("/shardingsphere/executesql/"));
+        assertTrue(spans.contains("/shardingsphere/parsesql/"));
+        assertTrue(spans.contains("/shardingsphere/rootinvoke/"));
+    }
+    
+    private void assertTraces() throws IOException {
+        String tracesExecuteSqlUrl = url + 
"traces?spanName=/shardingsphere/executesql/";
+        String tracesParseSqlUrl = url + 
"traces?spanName=/shardingsphere/parsesql/";
+        String tracesRootInvokeURL = url + 
"traces?spanName=/shardingsphere/rootinvoke/";
+        assertFalse(OkHttpUtils.getInstance().get(tracesExecuteSqlUrl, 
List.class).isEmpty());
+        assertFalse(OkHttpUtils.getInstance().get(tracesParseSqlUrl, 
List.class).isEmpty());
+        assertFalse(OkHttpUtils.getInstance().get(tracesRootInvokeURL, 
List.class).isEmpty());
     }
 }
diff --git 
a/test/e2e/agent/plugins/zipkin/src/test/resources/env/engine-env.properties 
b/test/e2e/agent/plugins/zipkin/src/test/resources/env/engine-env.properties
index 41857c2b3c9..7da904b0b2c 100644
--- a/test/e2e/agent/plugins/zipkin/src/test/resources/env/engine-env.properties
+++ b/test/e2e/agent/plugins/zipkin/src/test/resources/env/engine-env.properties
@@ -18,9 +18,12 @@
 it.env.type=${it.env}
 it.env.value=zipkin
 
-proxy.url=jdbc:mysql://127.0.0.1:44070/agent-zipkin-db?serverTimezone=UTC&useSSL=false&useLocalSessionState=true&characterEncoding=utf-8
+proxy.url=jdbc:mysql://127.0.0.1:43071/agent-tracing-zipkin-db?serverTimezone=UTC&useSSL=false&useLocalSessionState=true&characterEncoding=utf-8
 proxy.username=root
 proxy.password=root
-proxy.retry=30
+proxy.retry=100
 proxy.waitMs=1000
-        
+
+zipkin.waitMs=60000
+zipkin.url=http:/127.0.0.1:19411/api/v2/
+zipkin.servername=shardingsphere

Reply via email to