From dbc99da4708ac568237ba54cb4ab01d48abca381 Mon Sep 17 00:00:00 2001 From: Liang Zhang Date: Fri, 27 Sep 2024 02:02:20 +0800 Subject: [PATCH] Add back YamlLoggingRuleConfigurationSwapperTest (#33019) --- ...mlLoggingRuleConfigurationSwapperTest.java | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 kernel/logging/core/src/test/java/org/apache/shardingsphere/logging/yaml/swapper/YamlLoggingRuleConfigurationSwapperTest.java diff --git a/kernel/logging/core/src/test/java/org/apache/shardingsphere/logging/yaml/swapper/YamlLoggingRuleConfigurationSwapperTest.java b/kernel/logging/core/src/test/java/org/apache/shardingsphere/logging/yaml/swapper/YamlLoggingRuleConfigurationSwapperTest.java new file mode 100644 index 0000000000000..a15e73b75e830 --- /dev/null +++ b/kernel/logging/core/src/test/java/org/apache/shardingsphere/logging/yaml/swapper/YamlLoggingRuleConfigurationSwapperTest.java @@ -0,0 +1,65 @@ +/* + * 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.logging.yaml.swapper; + +import org.apache.shardingsphere.logging.config.LoggingRuleConfiguration; +import org.apache.shardingsphere.logging.logger.ShardingSphereAppender; +import org.apache.shardingsphere.logging.logger.ShardingSphereLogger; +import org.apache.shardingsphere.logging.yaml.config.YamlLoggingRuleConfiguration; +import org.junit.jupiter.api.Test; + +import java.util.Collections; + +import static org.hamcrest.CoreMatchers.is; +import static org.hamcrest.MatcherAssert.assertThat; + +class YamlLoggingRuleConfigurationSwapperTest { + + private final YamlLoggingRuleConfigurationSwapper swapper = new YamlLoggingRuleConfigurationSwapper(); + + private final YamlLoggerSwapper loggerSwapper = new YamlLoggerSwapper(); + + private final YamlAppenderSwapper appenderSwapper = new YamlAppenderSwapper(); + + @Test + void assertSwapToYamlConfiguration() { + YamlLoggingRuleConfiguration yamlLoggingRuleConfig = swapper.swapToYamlConfiguration(createLoggingRuleConfiguration()); + assertThat(yamlLoggingRuleConfig.getLoggers().size(), is(1)); + assertThat(yamlLoggingRuleConfig.getAppenders().size(), is(1)); + } + + private LoggingRuleConfiguration createLoggingRuleConfiguration() { + return new LoggingRuleConfiguration(Collections.singleton(new ShardingSphereLogger("ROOT", "INFO", true, "console")), + Collections.singleton(new ShardingSphereAppender("console", "ch.qos.logback.core.ConsoleAppender", "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n"))); + } + + @Test + void assertSwapToObject() { + LoggingRuleConfiguration loggingRuleConfig = swapper.swapToObject(createYamlLoggingRuleConfiguration()); + assertThat(loggingRuleConfig.getLoggers().size(), is(1)); + assertThat(loggingRuleConfig.getAppenders().size(), is(1)); + } + + private YamlLoggingRuleConfiguration createYamlLoggingRuleConfiguration() { + YamlLoggingRuleConfiguration result = new YamlLoggingRuleConfiguration(); + result.setLoggers(Collections.singleton(loggerSwapper.swapToYamlConfiguration(new ShardingSphereLogger("ROOT", "INFO", true, "console")))); + result.setAppenders(Collections.singleton(appenderSwapper.swapToYamlConfiguration( + new ShardingSphereAppender("console", "ch.qos.logback.core.ConsoleAppender", "[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n")))); + return result; + } +}