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