This is an automated email from the ASF dual-hosted git repository.
zhonghongsheng 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 0de54e94e65 Add more assertions for PluginConfigurationLoaderTest
(#23422)
0de54e94e65 is described below
commit 0de54e94e65b1260f9d8bf500e5198bd478a2c58
Author: Liang Zhang <[email protected]>
AuthorDate: Mon Jan 9 12:26:39 2023 +0800
Add more assertions for PluginConfigurationLoaderTest (#23422)
* Refactor PluginConfigurationLoader
* Add more assertions for PluginConfigurationLoaderTest
---
.../yaml/loader/PluginConfigurationLoader.java | 3 +-
.../yaml/loader/PluginConfigurationLoaderTest.java | 36 +++++++++++++++++--
agent/core/src/test/resources/conf/agent.yaml | 41 +++++++---------------
3 files changed, 47 insertions(+), 33 deletions(-)
diff --git
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/PluginConfigurationLoader.java
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/PluginConfigurationLoader.java
index 9674269b440..311958ab9b5 100644
---
a/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/PluginConfigurationLoader.java
+++
b/agent/core/src/main/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/PluginConfigurationLoader.java
@@ -48,8 +48,7 @@ public final class PluginConfigurationLoader {
* @throws IOException IO exception
*/
public static Map<String, PluginConfiguration> load(final File
agentRootPath) throws IOException {
- File configFile = new File(agentRootPath, CONFIG_PATH);
- return
loadYAML(configFile).map(YamlPluginsConfigurationSwapper::swap).orElse(Collections.emptyMap());
+ return loadYAML(new File(agentRootPath,
CONFIG_PATH)).map(YamlPluginsConfigurationSwapper::swap).orElse(Collections.emptyMap());
}
private static Optional<YamlAgentConfiguration> loadYAML(final File
yamlFile) throws IOException {
diff --git
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/PluginConfigurationLoaderTest.java
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/PluginConfigurationLoaderTest.java
index 8418507c858..49b0d7a18f2 100644
---
a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/PluginConfigurationLoaderTest.java
+++
b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/yaml/loader/PluginConfigurationLoaderTest.java
@@ -17,24 +17,56 @@
package org.apache.shardingsphere.agent.core.plugin.yaml.loader;
+import org.apache.shardingsphere.agent.api.PluginConfiguration;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
+import java.util.Map;
import java.util.Objects;
-import static org.junit.Assert.assertNotNull;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertNull;
public final class PluginConfigurationLoaderTest {
@Test
public void assertLoad() throws IOException {
- assertNotNull(PluginConfigurationLoader.load(new
File(getResourceURL())));
+ Map<String, PluginConfiguration> actual =
PluginConfigurationLoader.load(new File(getResourceURL()));
+ assertThat(actual.size(), is(3));
+ assertLoggingPluginConfiguration(actual.get("LogFixture"));
+ assertMetricsPluginConfiguration(actual.get("MetricsFixture"));
+ assertTracingPluginConfiguration(actual.get("TracingFixture"));
}
private String getResourceURL() throws UnsupportedEncodingException {
return
URLDecoder.decode(Objects.requireNonNull(PluginConfigurationLoader.class.getClassLoader().getResource("")).getFile(),
"UTF8");
}
+
+ private void assertLoggingPluginConfiguration(final PluginConfiguration
actual) {
+ assertNull(actual.getHost());
+ assertThat(actual.getPort(), is(0));
+ assertNull(actual.getPassword());
+ assertThat(actual.getProps().size(), is(1));
+ assertThat(actual.getProps().getProperty("logging_key"),
is("logging_value"));
+ }
+
+ private void assertMetricsPluginConfiguration(final PluginConfiguration
actual) {
+ assertThat(actual.getHost(), is("metrics.host"));
+ assertThat(actual.getPort(), is(1));
+ assertThat(actual.getPassword(), is("metrics.pwd"));
+ assertThat(actual.getProps().size(), is(1));
+ assertThat(actual.getProps().getProperty("metrics_key"),
is("metrics_value"));
+ }
+
+ private void assertTracingPluginConfiguration(final PluginConfiguration
actual) {
+ assertThat(actual.getHost(), is("tracing.host"));
+ assertThat(actual.getPort(), is(2));
+ assertThat(actual.getPassword(), is("tracing.pwd"));
+ assertThat(actual.getProps().size(), is(1));
+ assertThat(actual.getProps().getProperty("tracing_key"),
is("tracing_value"));
+ }
}
diff --git a/agent/core/src/test/resources/conf/agent.yaml
b/agent/core/src/test/resources/conf/agent.yaml
index c95d3154707..f45807a869b 100644
--- a/agent/core/src/test/resources/conf/agent.yaml
+++ b/agent/core/src/test/resources/conf/agent.yaml
@@ -17,37 +17,20 @@
plugins:
logging:
- File:
+ LogFixture:
props:
- level: "INFO"
+ logging_key: "logging_value"
metrics:
- Prometheus:
- host: "localhost"
- port: 9090
+ MetricsFixture:
+ host: "metrics.host"
+ port: 1
+ password: "metrics.pwd"
props:
- jvm-information-collector-enabled: "true"
+ metrics_key: "metrics_value"
tracing:
-# Jaeger:
-# host: "localhost"
-# port: 5775
-# props:
-# service-name: "shardingsphere"
-# jaeger-sampler-type: "const"
-# jaeger-sampler-param: "1"
-# jaeger-reporter-log-spans: "true"
-# jaeger-reporter-flush-interval: "1"
- Zipkin:
- host: "localhost"
- port: 9411
+ TracingFixture:
+ host: "tracing.host"
+ password: "tracing.pwd"
+ port: 2
props:
- service-name: "shardingsphere"
- url-version: "/api/v2/spans"
- sampler-type: "const"
- sampler-param: "1"
-# OpenTracing:
-# props:
-# opentracing-tracer-class-name:
"org.apache.skywalking.apm.toolkit.opentracing.SkywalkingTracer"
- OpenTelemetry:
- props:
- otel-resource-attributes: "service.name=shardingsphere"
- otel-traces-exporter: "zipkin"
+ tracing_key: "tracing_value"