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>