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"

Reply via email to