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"