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

zhangliang 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 ac74d496be0 Refactor MetricsPluginE2EIT (#32207)
ac74d496be0 is described below

commit ac74d496be0213eba731fb802d1c6c4c42691b66
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jul 20 22:23:16 2024 +0800

    Refactor MetricsPluginE2EIT (#32207)
    
    * Refactor MetricsPluginE2EIT
    
    * Refactor MetricsPluginE2EIT
    
    * Refactor MetricsPluginE2EIT
---
 .../test/e2e/agent/metrics/MetricsPluginE2EIT.java | 45 +---------
 .../e2e/agent/metrics/asserts/MetricAssert.java    | 97 ++++++++++++++++++++++
 .../metrics/asserts/MetricMetadataAssert.java      | 56 -------------
 .../agent/metrics/asserts/MetricQueryAssert.java   | 66 ---------------
 .../response/MetricsMetaDataResponse.java}         |  8 +-
 .../response/MetricsQueryResponse.java}            | 10 +--
 ...{MetricTestCase.java => MetricE2ETestCase.java} |  6 +-
 .../agent/metrics/cases/MetricE2ETestCases.java    |  4 +-
 .../agent/metrics/cases/MetricQueryAssertion.java  | 11 +--
 .../src/test/resources/cases/proxy/proxy_state.xml |  2 +-
 10 files changed, 120 insertions(+), 185 deletions(-)

diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/MetricsPluginE2EIT.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/MetricsPluginE2EIT.java
index 1ef307a4dc1..87cbe72e86b 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/MetricsPluginE2EIT.java
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/MetricsPluginE2EIT.java
@@ -17,62 +17,25 @@
 
 package org.apache.shardingsphere.test.e2e.agent.metrics;
 
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.infra.util.json.JsonUtils;
 import 
org.apache.shardingsphere.test.e2e.agent.common.env.AgentE2ETestEnvironment;
 import 
org.apache.shardingsphere.test.e2e.agent.common.framework.AgentE2ETestActionExtension;
 import 
org.apache.shardingsphere.test.e2e.agent.common.framework.AgentE2ETestCaseArgumentsProvider;
-import org.apache.shardingsphere.test.e2e.agent.common.util.HttpUtils;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.asserts.MetricMetadataAssert;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.asserts.MetricQueryAssert;
+import org.apache.shardingsphere.test.e2e.agent.metrics.asserts.MetricAssert;
 import 
org.apache.shardingsphere.test.e2e.agent.metrics.cases.MetricE2ETestCases;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.cases.MetricQueryAssertion;
-import org.apache.shardingsphere.test.e2e.agent.metrics.cases.MetricTestCase;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.result.MetricsMetaDataResult;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.result.MetricsQueryResult;
+import 
org.apache.shardingsphere.test.e2e.agent.metrics.cases.MetricE2ETestCase;
 import org.junit.jupiter.api.condition.EnabledIf;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ArgumentsSource;
 
-import java.io.IOException;
-import java.net.URLEncoder;
-
 @ExtendWith(AgentE2ETestActionExtension.class)
-@Slf4j
 class MetricsPluginE2EIT {
     
     @EnabledIf("isEnabled")
     @ParameterizedTest
     @ArgumentsSource(TestCaseArgumentsProvider.class)
-    void assertWithAgent(final MetricTestCase metricTestCase) {
-        String metaDataURL = 
AgentE2ETestEnvironment.getInstance().getPrometheusHttpUrl() + 
"/api/v1/metadata";
-        String queryURL = 
AgentE2ETestEnvironment.getInstance().getPrometheusHttpUrl() + "/api/v1/query";
-        assertMetadata(metaDataURL, metricTestCase);
-        assertQuery(queryURL, metricTestCase);
-    }
-    
-    private void assertMetadata(final String metaDataURL, final MetricTestCase 
metricCase) {
-        String metricName = 
"counter".equalsIgnoreCase(metricCase.getMetricType()) && 
metricCase.getMetricName().endsWith("_total")
-                ? metricCase.getMetricName().replace("_total", "")
-                : metricCase.getMetricName();
-        try {
-            String metaDataURLWithParam = String.join("", metaDataURL, 
"?metric=", URLEncoder.encode(metricName, "UTF-8"));
-            
MetricMetadataAssert.assertIs(JsonUtils.fromJsonString(HttpUtils.getInstance().query(metaDataURLWithParam),
 MetricsMetaDataResult.class), metricCase);
-        } catch (final IOException ex) {
-            log.info("Access prometheus HTTP RESTFul API error: ", ex);
-        }
-    }
-    
-    private void assertQuery(final String queryURL, final MetricTestCase 
metricCase) {
-        for (MetricQueryAssertion each : metricCase.getQueryAssertions()) {
-            try {
-                String queryURLWithParam = String.join("", queryURL, 
"?query=", URLEncoder.encode(each.getQuery(), "UTF-8"));
-                
MetricQueryAssert.assertIs(JsonUtils.fromJsonString(HttpUtils.getInstance().query(queryURLWithParam),
 MetricsQueryResult.class), each);
-            } catch (final IOException ex) {
-                log.info("Access prometheus HTTP RESTFul API error: ", ex);
-            }
-        }
+    void assertWithAgent(final MetricE2ETestCase metricTestCase) {
+        
MetricAssert.assertIs(AgentE2ETestEnvironment.getInstance().getPrometheusHttpUrl(),
 metricTestCase);
     }
     
     private static boolean isEnabled() {
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricAssert.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricAssert.java
new file mode 100644
index 00000000000..581f0dd480b
--- /dev/null
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricAssert.java
@@ -0,0 +1,97 @@
+/*
+ * 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.shardingsphere.test.e2e.agent.metrics.asserts;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import lombok.SneakyThrows;
+import org.apache.shardingsphere.infra.util.json.JsonUtils;
+import org.apache.shardingsphere.test.e2e.agent.common.util.HttpUtils;
+import 
org.apache.shardingsphere.test.e2e.agent.metrics.asserts.response.MetricsMetaDataResponse;
+import 
org.apache.shardingsphere.test.e2e.agent.metrics.asserts.response.MetricsMetaDataResponse.Metric;
+import 
org.apache.shardingsphere.test.e2e.agent.metrics.asserts.response.MetricsQueryResponse;
+import 
org.apache.shardingsphere.test.e2e.agent.metrics.asserts.response.MetricsQueryResponse.QueryDataResult;
+import 
org.apache.shardingsphere.test.e2e.agent.metrics.cases.MetricE2ETestCase;
+import 
org.apache.shardingsphere.test.e2e.agent.metrics.cases.MetricQueryAssertion;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.Collection;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
+/**
+ * Metric assert.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class MetricAssert {
+    
+    /**
+     * Assert metric.
+     *
+     * @param prometheusURL prometheus URL
+     * @param expected expected test case
+     */
+    public static void assertIs(final String prometheusURL, final 
MetricE2ETestCase expected) {
+        assertMetaData(prometheusURL + "/api/v1/metadata", expected);
+        expected.getQueryAssertions().forEach(each -> 
assertQueryData(prometheusURL + "/api/v1/query", each));
+    }
+    
+    @SneakyThrows(IOException.class)
+    private static void assertMetaData(final String metaDataURL, final 
MetricE2ETestCase expected) {
+        String metricName = getMetricName(expected);
+        String metaDataQueryURL = String.join("", metaDataURL, "?metric=", 
encode(metricName));
+        MetricsMetaDataResponse actual = 
JsonUtils.fromJsonString(HttpUtils.getInstance().query(metaDataQueryURL), 
MetricsMetaDataResponse.class);
+        assertThat(String.format("Metric `%s` status is not success, error is 
`%s`", expected.getMetricName(), actual.getError()), actual.getStatus(), 
is("success"));
+        assertFalse(actual.getData().isEmpty(), String.format("Metric `%s` is 
empty.", expected.getMetricName()));
+        Collection<Metric> metrics = actual.getData().get(metricName);
+        assertFalse(metrics.isEmpty(), String.format("Metric `%s` is empty.", 
expected.getMetricName()));
+        for (Metric each : metrics) {
+            assertThat(String.format("Metric `%s` is not `%s` type.", 
expected.getMetricName(), expected.getMetricType()), each.getType(), 
is(expected.getMetricType()));
+        }
+    }
+    
+    private static String getMetricName(final MetricE2ETestCase expected) {
+        return "counter".equalsIgnoreCase(expected.getMetricType()) && 
expected.getMetricName().endsWith("_total") ? 
expected.getMetricName().replace("_total", "") : expected.getMetricName();
+    }
+    
+    @SneakyThrows(UnsupportedEncodingException.class)
+    private static String encode(final String value) {
+        return URLEncoder.encode(value, "UTF-8");
+    }
+    
+    @SneakyThrows(IOException.class)
+    private static void assertQueryData(final String queryURL, final 
MetricQueryAssertion expected) {
+        String queryURLWithParam = String.join("", queryURL, "?query=", 
encode(expected.getQuery()));
+        MetricsQueryResponse actual = 
JsonUtils.fromJsonString(HttpUtils.getInstance().query(queryURLWithParam), 
MetricsQueryResponse.class);
+        assertThat(String.format("The query `%s` is not success, error message 
is `%s`", expected.getQuery(), actual.getError()), actual.getStatus(), 
is("success"));
+        assertFalse(actual.getData().getResult().isEmpty(), String.format("The 
query `%s` is empty.", expected.getQuery()));
+        actual.getData().getResult().forEach(each -> assertMetricData(each, 
expected));
+    }
+    
+    private static void assertMetricData(final QueryDataResult actual, final 
MetricQueryAssertion expected) {
+        assertThat(actual.getMetric().get("__name__"), 
is(expected.getMetric()));
+        if (null != expected.getValue()) {
+            assertThat(actual.getValue().size(), is(2));
+            assertThat(String.format("The value of the `%s` is error", 
expected.getQuery()), Integer.valueOf(actual.getValue().get(1)), 
is(expected.getValue()));
+        }
+    }
+}
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricMetadataAssert.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricMetadataAssert.java
deleted file mode 100644
index 7f6c984cb98..00000000000
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricMetadataAssert.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.shardingsphere.test.e2e.agent.metrics.asserts;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.test.e2e.agent.metrics.cases.MetricTestCase;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.result.MetricsMetaDataResult;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.result.MetricsMetaDataResult.Metric;
-
-import java.util.Collection;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-
-/**
- * Metric meta data assert.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class MetricMetadataAssert {
-    
-    /**
-     * Assert metric is correct with expected result.
-     *
-     * @param actual assert result
-     * @param expected expected metric
-     */
-    public static void assertIs(final MetricsMetaDataResult actual, final 
MetricTestCase expected) {
-        String metricName = 
"counter".equalsIgnoreCase(expected.getMetricType()) && 
expected.getMetricName().endsWith("_total")
-                ? expected.getMetricName().replace("_total", "")
-                : expected.getMetricName();
-        assertThat(String.format("Metric `%s` status is not success, error is 
`%s`", expected.getMetricName(), actual.getError()), actual.getStatus(), 
is("success"));
-        assertFalse(actual.getData().isEmpty(), String.format("Metric `%s` is 
empty.", expected.getMetricName()));
-        Collection<Metric> metrics = actual.getData().get(metricName);
-        assertFalse(metrics.isEmpty(), String.format("Metric `%s` is empty.", 
expected.getMetricName()));
-        for (Metric each : metrics) {
-            assertThat(String.format("Metric `%s` is not `%s` type", 
expected.getMetricName(), expected.getMetricType()), each.getType(), 
is(expected.getMetricType()));
-        }
-    }
-}
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricQueryAssert.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricQueryAssert.java
deleted file mode 100644
index 967f4bbaea2..00000000000
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/MetricQueryAssert.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.shardingsphere.test.e2e.agent.metrics.asserts;
-
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.cases.MetricQueryAssertion;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.result.MetricsQueryResult;
-import 
org.apache.shardingsphere.test.e2e.agent.metrics.result.MetricsQueryResult.QueryDataResult;
-
-import java.util.Collection;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-
-/**
- * Metric query assert.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class MetricQueryAssert {
-    
-    /**
-     * Assert metric is correct with expected result.
-     *
-     * @param actual assert result
-     * @param expected expected metric
-     */
-    public static void assertIs(final MetricsQueryResult actual, final 
MetricQueryAssertion expected) {
-        assertThat(String.format("The query `%s` is not success, error message 
is `%s`", expected.getQuery(), actual.getError()), actual.getStatus(), 
is("success"));
-        assertFalse(actual.getData().getResult().isEmpty(), String.format("The 
query `%s` is empty.", expected.getQuery()));
-        Collection<QueryDataResult> results = actual.getData().getResult();
-        for (QueryDataResult each : results) {
-            assertMetricName(each, expected);
-            if (expected.isShouldAssertValue()) {
-                assertValue(each, expected);
-            }
-        }
-    }
-    
-    private static void assertMetricName(final QueryDataResult actual, final 
MetricQueryAssertion expected) {
-        assertThat(actual.getMetric().get("__name__"), 
is(expected.getMetric()));
-    }
-    
-    private static void assertValue(final QueryDataResult actual, final 
MetricQueryAssertion expected) {
-        assertThat(actual.getValue(), notNullValue());
-        assertThat(actual.getValue().size(), is(2));
-        assertThat(String.format("The value of the `%s` is error", 
expected.getQuery()), Integer.valueOf(actual.getValue().get(1)), 
is(expected.getValue()));
-    }
-}
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/response/MetricsMetaDataResponse.java
similarity index 84%
rename from 
test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
rename to 
test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/response/MetricsMetaDataResponse.java
index 26e05a4e073..b1c850f1b59 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsMetaDataResult.java
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/response/MetricsMetaDataResponse.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.metrics.asserts.response;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -25,11 +25,11 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Metrics meta data result.
+ * Metrics meta data response.
  */
 @Getter
 @Setter
-public final class MetricsMetaDataResult implements JsonConfiguration {
+public final class MetricsMetaDataResponse implements JsonConfiguration {
     
     private String status;
     
@@ -44,7 +44,7 @@ public final class MetricsMetaDataResult implements 
JsonConfiguration {
      */
     @Getter
     @Setter
-    public static final class Metric {
+    public static final class Metric implements JsonConfiguration {
         
         private String type;
         
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/response/MetricsQueryResponse.java
similarity index 82%
rename from 
test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
rename to 
test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/response/MetricsQueryResponse.java
index ea5ce72d5d4..756ba87b8a4 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/result/MetricsQueryResult.java
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/asserts/response/MetricsQueryResponse.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.metrics.asserts.response;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -25,11 +25,11 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Metrics query result.
+ * Metrics query response.
  */
 @Getter
 @Setter
-public final class MetricsQueryResult implements JsonConfiguration {
+public final class MetricsQueryResponse implements JsonConfiguration {
     
     private String status;
     
@@ -44,7 +44,7 @@ public final class MetricsQueryResult implements 
JsonConfiguration {
      */
     @Getter
     @Setter
-    public static final class QueryData {
+    public static final class QueryData implements JsonConfiguration {
         
         private String resultType;
         
@@ -56,7 +56,7 @@ public final class MetricsQueryResult implements 
JsonConfiguration {
      */
     @Getter
     @Setter
-    public static final class QueryDataResult {
+    public static final class QueryDataResult implements JsonConfiguration {
         
         private Map<String, String> metric;
         
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricTestCase.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricE2ETestCase.java
similarity index 95%
rename from 
test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricTestCase.java
rename to 
test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricE2ETestCase.java
index 725a2752487..288812d05b1 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricTestCase.java
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricE2ETestCase.java
@@ -30,12 +30,12 @@ import java.util.Collection;
 import java.util.LinkedList;
 
 /**
- * Metric test case.
+ * Metric E2E test case.
  */
+@XmlAccessorType(XmlAccessType.FIELD)
 @Getter
 @Setter
-@XmlAccessorType(XmlAccessType.FIELD)
-public final class MetricTestCase implements AgentE2ETestCase {
+public final class MetricE2ETestCase implements AgentE2ETestCase {
     
     @XmlAttribute(name = "metric-name")
     private String metricName;
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricE2ETestCases.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricE2ETestCases.java
index e7a22ce1bd3..dfdfe16ccc5 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricE2ETestCases.java
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricE2ETestCases.java
@@ -30,8 +30,8 @@ import java.util.LinkedList;
  */
 @XmlRootElement(name = "e2e-test-cases")
 @Getter
-public final class MetricE2ETestCases implements 
AgentE2ETestCases<MetricTestCase> {
+public final class MetricE2ETestCases implements 
AgentE2ETestCases<MetricE2ETestCase> {
     
     @XmlElement(name = "test-case")
-    private final Collection<MetricTestCase> testCases = new LinkedList<>();
+    private final Collection<MetricE2ETestCase> testCases = new LinkedList<>();
 }
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricQueryAssertion.java
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricQueryAssertion.java
index 692f0387212..df7d74db2ab 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricQueryAssertion.java
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/java/org/apache/shardingsphere/test/e2e/agent/metrics/cases/MetricQueryAssertion.java
@@ -27,20 +27,17 @@ import javax.xml.bind.annotation.XmlAttribute;
 /**
  * Metric query assertion.
  */
+@XmlAccessorType(XmlAccessType.FIELD)
 @Getter
 @Setter
-@XmlAccessorType(XmlAccessType.FIELD)
 public final class MetricQueryAssertion {
     
-    @XmlAttribute
+    @XmlAttribute(required = true)
     private String metric;
     
-    @XmlAttribute
+    @XmlAttribute(required = true)
     private String query;
     
     @XmlAttribute
-    private int value;
-    
-    @XmlAttribute(name = "should-Assert-value")
-    private boolean shouldAssertValue;
+    private Integer value;
 }
diff --git 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/resources/cases/proxy/proxy_state.xml
 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/resources/cases/proxy/proxy_state.xml
index 53a2f58af06..70631052c3b 100644
--- 
a/test/e2e/agent/plugins/metrics/prometheus/src/test/resources/cases/proxy/proxy_state.xml
+++ 
b/test/e2e/agent/plugins/metrics/prometheus/src/test/resources/cases/proxy/proxy_state.xml
@@ -18,6 +18,6 @@
 
 <e2e-test-cases>
     <test-case metric-name="proxy_state" metric-type="gauge">
-        <query-assertion metric="proxy_state" query="proxy_state{}" value="0" 
should-Assert-value="true" />
+        <query-assertion metric="proxy_state" query="proxy_state{}" value="0" 
/>
     </test-case>
 </e2e-test-cases>

Reply via email to