You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2023/02/25 15:29:08 UTC

[shardingsphere] branch master updated: Merge duplicate YamlPluginsConfigurationSwapperTest. (#24345)

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

jianglongtao 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 48118c5a276 Merge duplicate YamlPluginsConfigurationSwapperTest. (#24345)
48118c5a276 is described below

commit 48118c5a2766fb5403079713692ad8ccbf60989f
Author: yx9o <ya...@163.com>
AuthorDate: Sat Feb 25 23:29:00 2023 +0800

    Merge duplicate YamlPluginsConfigurationSwapperTest. (#24345)
    
    * Merge duplicate YamlPluginsConfigurationSwapperTest.
    
    * Update
---
 .../YamlPluginsConfigurationSwapperTest.java       |  92 ---------------
 .../config/PluginConfigurationLoaderTest.java      |  26 ++---
 .../YamlPluginsConfigurationSwapperTest.java       | 124 ++++++++++++---------
 agent/core/src/test/resources/conf/agent.yaml      |  25 +++--
 4 files changed, 95 insertions(+), 172 deletions(-)

diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/advisor/config/yaml/swapper/YamlPluginsConfigurationSwapperTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/advisor/config/yaml/swapper/YamlPluginsConfigurationSwapperTest.java
deleted file mode 100644
index 8f21a54e4ec..00000000000
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/advisor/config/yaml/swapper/YamlPluginsConfigurationSwapperTest.java
+++ /dev/null
@@ -1,92 +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.agent.core.advisor.config.yaml.swapper;
-
-import org.apache.shardingsphere.agent.api.PluginConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.config.yaml.entity.YamlAgentConfiguration;
-import org.apache.shardingsphere.agent.core.plugin.config.yaml.swapper.YamlPluginsConfigurationSwapper;
-import org.junit.Test;
-import org.yaml.snakeyaml.Yaml;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.Map;
-import java.util.Objects;
-
-import static org.hamcrest.CoreMatchers.is;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertNull;
-
-public final class YamlPluginsConfigurationSwapperTest {
-    
-    private static final String CONFIG_PATH = "/conf/agent.yaml";
-    
-    @Test
-    public void assertSwap() throws IOException {
-        YamlAgentConfiguration yamlAgentConfiguration = getAgentConfiguration();
-        Map<String, PluginConfiguration> pluginConfigurationMap =
-                YamlPluginsConfigurationSwapper.swap(yamlAgentConfiguration);
-        assertThat(pluginConfigurationMap.size(), is(3));
-        assertLogFixturePluginConfiguration(pluginConfigurationMap.get("LogFixture"));
-        assertMetricsPluginConfiguration(pluginConfigurationMap.get("MetricsFixture"));
-        assertTracingPluginConfiguration(pluginConfigurationMap.get("TracingFixture"));
-    }
-    
-    private YamlAgentConfiguration getAgentConfiguration() throws UnsupportedEncodingException, FileNotFoundException {
-        FileInputStream fileInputStream = new FileInputStream(new File(getResourceURL(), CONFIG_PATH));
-        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
-        return new Yaml().loadAs(inputStreamReader, YamlAgentConfiguration.class);
-    }
-    
-    private String getResourceURL() throws UnsupportedEncodingException {
-        return URLDecoder.decode(
-                Objects.requireNonNull(YamlPluginsConfigurationSwapper.class.getClassLoader().getResource(""))
-                        .getFile(),
-                "UTF8");
-    }
-    
-    private void assertLogFixturePluginConfiguration(final PluginConfiguration pluginConfiguration) {
-        assertNull(pluginConfiguration.getHost());
-        assertThat(pluginConfiguration.getPort(), is(0));
-        assertNull(pluginConfiguration.getPassword());
-        assertThat(pluginConfiguration.getProps().size(), is(1));
-        assertThat(pluginConfiguration.getProps().getProperty("logging_key"), is("logging_value"));
-    }
-    
-    private void assertMetricsPluginConfiguration(final PluginConfiguration pluginConfiguration) {
-        assertThat(pluginConfiguration.getHost(), is("metrics.host"));
-        assertThat(pluginConfiguration.getPort(), is(1));
-        assertThat(pluginConfiguration.getPassword(), is("metrics.pwd"));
-        assertThat(pluginConfiguration.getProps().size(), is(1));
-        assertThat(pluginConfiguration.getProps().getProperty("metrics_key"), is("metrics_value"));
-    }
-    
-    private void assertTracingPluginConfiguration(final PluginConfiguration pluginConfiguration) {
-        assertThat(pluginConfiguration.getHost(), is("tracing.host"));
-        assertThat(pluginConfiguration.getPort(), is(2));
-        assertThat(pluginConfiguration.getPassword(), is("tracing.pwd"));
-        assertThat(pluginConfiguration.getProps().size(), is(1));
-        assertThat(pluginConfiguration.getProps().getProperty("tracing_key"), is("tracing_value"));
-    }
-}
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/config/PluginConfigurationLoaderTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/config/PluginConfigurationLoaderTest.java
index 5ec460c9006..3bd97f78486 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/config/PluginConfigurationLoaderTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/config/PluginConfigurationLoaderTest.java
@@ -37,9 +37,9 @@ public final class PluginConfigurationLoaderTest {
     public void assertLoad() throws IOException {
         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"));
+        assertLoggingPluginConfiguration(actual.get("log_fixture"));
+        assertMetricsPluginConfiguration(actual.get("metrics_fixture"));
+        assertTracingPluginConfiguration(actual.get("tracing_fixture"));
     }
     
     private String getResourceURL() throws UnsupportedEncodingException {
@@ -48,25 +48,25 @@ public final class PluginConfigurationLoaderTest {
     
     private void assertLoggingPluginConfiguration(final PluginConfiguration actual) {
         assertNull(actual.getHost());
-        assertThat(actual.getPort(), is(0));
         assertNull(actual.getPassword());
+        assertThat(actual.getPort(), is(8080));
         assertThat(actual.getProps().size(), is(1));
-        assertThat(actual.getProps().getProperty("logging_key"), is("logging_value"));
+        assertThat(actual.getProps().get("key"), is("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.getHost(), is("localhost"));
+        assertThat(actual.getPassword(), is("random"));
+        assertThat(actual.getPort(), is(8081));
         assertThat(actual.getProps().size(), is(1));
-        assertThat(actual.getProps().getProperty("metrics_key"), is("metrics_value"));
+        assertThat(actual.getProps().get("key"), is("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.getHost(), is("localhost"));
+        assertThat(actual.getPassword(), is("random"));
+        assertThat(actual.getPort(), is(8082));
         assertThat(actual.getProps().size(), is(1));
-        assertThat(actual.getProps().getProperty("tracing_key"), is("tracing_value"));
+        assertThat(actual.getProps().get("key"), is("value"));
     }
 }
diff --git a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/config/yaml/swapper/YamlPluginsConfigurationSwapperTest.java b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/config/yaml/swapper/YamlPluginsConfigurationSwapperTest.java
index 0c488746dbc..cca0dd6595e 100644
--- a/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/config/yaml/swapper/YamlPluginsConfigurationSwapperTest.java
+++ b/agent/core/src/test/java/org/apache/shardingsphere/agent/core/plugin/config/yaml/swapper/YamlPluginsConfigurationSwapperTest.java
@@ -22,92 +22,106 @@ import org.apache.shardingsphere.agent.core.plugin.config.yaml.entity.YamlAgentC
 import org.apache.shardingsphere.agent.core.plugin.config.yaml.entity.YamlPluginCategoryConfiguration;
 import org.apache.shardingsphere.agent.core.plugin.config.yaml.entity.YamlPluginConfiguration;
 import org.junit.Test;
+import org.yaml.snakeyaml.Yaml;
 
-import java.util.HashMap;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Collections;
 import java.util.Map;
 import java.util.Properties;
-import java.util.TreeMap;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 public final class YamlPluginsConfigurationSwapperTest {
     
-    @Test
-    public void testEmptyPluginConfigurationSwap() {
-        YamlPluginCategoryConfiguration yamlPluginCategoryConfig = new YamlPluginCategoryConfiguration();
-        yamlPluginCategoryConfig.setLogging(new TreeMap<>());
-        yamlPluginCategoryConfig.setMetrics(new TreeMap<>());
-        yamlPluginCategoryConfig.setTracing(new TreeMap<>());
-        YamlAgentConfiguration yamlAgentConfig = new YamlAgentConfiguration();
-        yamlAgentConfig.setPlugins(yamlPluginCategoryConfig);
-        assertTrue(YamlPluginsConfigurationSwapper.swap(yamlAgentConfig).isEmpty());
-    }
+    private static final String CONFIG_PATH = "/conf/agent.yaml";
     
     @Test
-    public void assertTestSwapHandlesNullPlugins() {
+    public void assertSwapWithNullPlugins() {
         YamlAgentConfiguration yamlAgentConfig = new YamlAgentConfiguration();
-        yamlAgentConfig.setPlugins(null);
+        yamlAgentConfig.setPlugins(new YamlPluginCategoryConfiguration());
         assertTrue(YamlPluginsConfigurationSwapper.swap(yamlAgentConfig).isEmpty());
     }
     
     @Test
-    public void assertTestSwapWithNullPlugins() {
+    public void assertSwapWithSinglePluginConfiguration() {
         YamlPluginCategoryConfiguration yamlPluginCategoryConfig = new YamlPluginCategoryConfiguration();
-        yamlPluginCategoryConfig.setTracing(null);
-        yamlPluginCategoryConfig.setLogging(null);
-        yamlPluginCategoryConfig.setMetrics(null);
+        yamlPluginCategoryConfig.setLogging(Collections.singletonMap("log_fixture", createYamlPluginConfiguration("localhost", "random", 8080, new Properties())));
         YamlAgentConfiguration yamlAgentConfig = new YamlAgentConfiguration();
         yamlAgentConfig.setPlugins(yamlPluginCategoryConfig);
-        assertTrue(YamlPluginsConfigurationSwapper.swap(yamlAgentConfig).isEmpty());
+        Map<String, PluginConfiguration> actual = YamlPluginsConfigurationSwapper.swap(yamlAgentConfig);
+        assertThat(actual.size(), is(1));
+        PluginConfiguration actualLogFixtureConfig = actual.get("log_fixture");
+        assertThat(actualLogFixtureConfig.getHost(), is("localhost"));
+        assertThat(actualLogFixtureConfig.getPassword(), is("random"));
+        assertThat(actualLogFixtureConfig.getPort(), is(8080));
+        assertTrue(actualLogFixtureConfig.getProps().isEmpty());
     }
     
     @Test
-    public void assertTestSwapWithSinglePluginConfiguration() {
-        YamlPluginConfiguration yamlPluginConfig = createYamlPluginConfiguration("localhost", "random", 8080, new Properties());
-        Map<String, YamlPluginConfiguration> yamlPluginConfigs = new HashMap<>();
-        yamlPluginConfigs.put("Key", yamlPluginConfig);
+    public void assertSwapWithMultiplePluginConfigurations() {
         YamlPluginCategoryConfiguration yamlPluginCategoryConfig = new YamlPluginCategoryConfiguration();
-        yamlPluginCategoryConfig.setLogging(yamlPluginConfigs);
-        yamlPluginCategoryConfig.setMetrics(new TreeMap<>());
-        yamlPluginCategoryConfig.setTracing(new TreeMap<>());
+        yamlPluginCategoryConfig.setLogging(Collections.singletonMap("log_fixture", createYamlPluginConfiguration(null, null, 8080, createProperties())));
+        yamlPluginCategoryConfig.setMetrics(Collections.singletonMap("metrics_fixture", createYamlPluginConfiguration("localhost", "random", 8081, createProperties())));
+        yamlPluginCategoryConfig.setTracing(Collections.singletonMap("tracing_fixture", createYamlPluginConfiguration("localhost", "random", 8082, createProperties())));
         YamlAgentConfiguration yamlAgentConfig = new YamlAgentConfiguration();
         yamlAgentConfig.setPlugins(yamlPluginCategoryConfig);
         Map<String, PluginConfiguration> actual = YamlPluginsConfigurationSwapper.swap(yamlAgentConfig);
-        assertThat(actual.size(), is(1));
-        PluginConfiguration pluginConfig = actual.get("Key");
-        assertThat(pluginConfig.getHost(), is("localhost"));
-        assertThat(pluginConfig.getPassword(), is("random"));
-        assertThat(pluginConfig.getPort(), is(8080));
-        assertTrue(pluginConfig.getProps().isEmpty());
+        assertThat(actual.size(), is(3));
+        assertLogFixturePluginConfiguration(actual.get("log_fixture"));
+        assertMetricsPluginConfiguration(actual.get("metrics_fixture"));
+        assertTracingPluginConfiguration(actual.get("tracing_fixture"));
     }
     
     @Test
-    public void assertTestSwapWithMultiplePluginConfigurations() {
-        YamlPluginConfiguration yamlPluginConfig1 = createYamlPluginConfiguration("localhost", "random", 8080, new Properties());
-        YamlPluginConfiguration yamlPluginConfig2 = createYamlPluginConfiguration("localhost", "random", 8080, new Properties());
-        Map<String, YamlPluginConfiguration> stringYamlPluginConfigMap = new TreeMap<>();
-        stringYamlPluginConfigMap.put("42", yamlPluginConfig1);
-        stringYamlPluginConfigMap.put("Key", yamlPluginConfig2);
-        YamlPluginCategoryConfiguration yamlPluginCategoryConfig = new YamlPluginCategoryConfiguration();
-        yamlPluginCategoryConfig.setLogging(stringYamlPluginConfigMap);
-        yamlPluginCategoryConfig.setMetrics(new TreeMap<>());
-        yamlPluginCategoryConfig.setTracing(new TreeMap<>());
-        YamlAgentConfiguration yamlAgentConfig = new YamlAgentConfiguration();
-        yamlAgentConfig.setPlugins(yamlPluginCategoryConfig);
+    public void assertSwapWithFile() throws IOException {
+        YamlAgentConfiguration yamlAgentConfig = new Yaml().loadAs(new InputStreamReader(new FileInputStream(new File(getResourceURL(), CONFIG_PATH))), YamlAgentConfiguration.class);
         Map<String, PluginConfiguration> actual = YamlPluginsConfigurationSwapper.swap(yamlAgentConfig);
-        assertThat(actual.size(), is(2));
-        PluginConfiguration pluginConfig1 = actual.get("42");
-        assertThat(pluginConfig1.getHost(), is("localhost"));
-        assertThat(pluginConfig1.getPassword(), is("random"));
-        assertThat(pluginConfig1.getPort(), is(8080));
-        assertTrue(pluginConfig1.getProps().isEmpty());
-        PluginConfiguration pluginConfig2 = actual.get("Key");
-        assertThat(pluginConfig2.getHost(), is("localhost"));
-        assertThat(pluginConfig2.getPassword(), is("random"));
-        assertThat(pluginConfig2.getPort(), is(8080));
-        assertTrue(pluginConfig2.getProps().isEmpty());
+        assertThat(actual.size(), is(3));
+        assertLogFixturePluginConfiguration(actual.get("log_fixture"));
+        assertMetricsPluginConfiguration(actual.get("metrics_fixture"));
+        assertTracingPluginConfiguration(actual.get("tracing_fixture"));
+    }
+    
+    private String getResourceURL() throws UnsupportedEncodingException {
+        return URLDecoder.decode(YamlPluginsConfigurationSwapper.class.getClassLoader().getResource("").getFile(), "UTF8");
+    }
+    
+    private void assertLogFixturePluginConfiguration(final PluginConfiguration actual) {
+        assertNull(actual.getHost());
+        assertNull(actual.getPassword());
+        assertThat(actual.getPort(), is(8080));
+        assertThat(actual.getProps().size(), is(1));
+        assertThat(actual.getProps().get("key"), is("value"));
+    }
+    
+    private void assertMetricsPluginConfiguration(final PluginConfiguration actual) {
+        assertThat(actual.getHost(), is("localhost"));
+        assertThat(actual.getPassword(), is("random"));
+        assertThat(actual.getPort(), is(8081));
+        assertThat(actual.getProps().size(), is(1));
+        assertThat(actual.getProps().get("key"), is("value"));
+    }
+    
+    private void assertTracingPluginConfiguration(final PluginConfiguration actual) {
+        assertThat(actual.getHost(), is("localhost"));
+        assertThat(actual.getPassword(), is("random"));
+        assertThat(actual.getPort(), is(8082));
+        assertThat(actual.getProps().size(), is(1));
+        assertThat(actual.getProps().get("key"), is("value"));
+    }
+    
+    private Properties createProperties() {
+        Properties result = new Properties();
+        result.put("key", "value");
+        return result;
     }
     
     private YamlPluginConfiguration createYamlPluginConfiguration(final String host, final String password, final int port, final Properties props) {
diff --git a/agent/core/src/test/resources/conf/agent.yaml b/agent/core/src/test/resources/conf/agent.yaml
index f45807a869b..4b08fa03b10 100644
--- a/agent/core/src/test/resources/conf/agent.yaml
+++ b/agent/core/src/test/resources/conf/agent.yaml
@@ -17,20 +17,21 @@
 
 plugins:
   logging:
-    LogFixture:
+    log_fixture:
+      port: 8080
       props:
-        logging_key: "logging_value"
+        key: "value"
   metrics:
-    MetricsFixture:
-      host:  "metrics.host"
-      port: 1
-      password: "metrics.pwd"
+    metrics_fixture:
+      host: "localhost"
+      password: "random"
+      port: 8081
       props:
-        metrics_key: "metrics_value"
+        key: "value"
   tracing:
-    TracingFixture:
-      host:  "tracing.host"
-      password: "tracing.pwd"
-      port: 2
+    tracing_fixture:
+      host: "localhost"
+      port: 8082
+      password: "random"
       props:
-        tracing_key: "tracing_value"
+        key: "value"