This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 b8b76f69465 Use LogCaptureExtension on
MetaDataContextsFactoryAdviceTest (#36961)
b8b76f69465 is described below
commit b8b76f694653b61c5e7792c87ad988c85f91c6b4
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Oct 29 13:34:28 2025 +0800
Use LogCaptureExtension on MetaDataContextsFactoryAdviceTest (#36961)
* Update JVM configuration to enable dynamic agent loading and set headless
mode
* Use LogCaptureExtension on MetaDataContextsFactoryAdviceTest
* Use LogCaptureExtension on MetaDataContextsFactoryAdviceTest
---
.mvn/jvm.config | 2 +-
agent/plugins/logging/type/file/pom.xml | 9 +++++++
.../advice/MetaDataContextsFactoryAdviceTest.java | 31 +++++-----------------
.../extension/log/LogCaptureExtension.java | 15 +++++++----
.../optimizer/src/test/resources/logback-test.xml | 2 +-
5 files changed, 27 insertions(+), 32 deletions(-)
diff --git a/.mvn/jvm.config b/.mvn/jvm.config
index bff5f7aafb7..ceffc9b07d1 100644
--- a/.mvn/jvm.config
+++ b/.mvn/jvm.config
@@ -1 +1 @@
--Xmx4g -XX:MaxMetaspaceSize=512m -XX:+EnableDynamicAgentLoading -Xshare:off
-Djava.awt.headless=true
+-Xmx4g -XX:MaxMetaspaceSize=512m -Xshare:off -Djava.awt.headless=true
diff --git a/agent/plugins/logging/type/file/pom.xml
b/agent/plugins/logging/type/file/pom.xml
index b47a669b76c..4d8fdce3389 100644
--- a/agent/plugins/logging/type/file/pom.xml
+++ b/agent/plugins/logging/type/file/pom.xml
@@ -26,6 +26,15 @@
<artifactId>shardingsphere-agent-logging-file</artifactId>
<name>${project.artifactId}</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-test-infra-framework</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
<build>
<plugins>
<plugin>
diff --git
a/agent/plugins/logging/type/file/src/test/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdviceTest.java
b/agent/plugins/logging/type/file/src/test/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdviceTest.java
index c8fb1e46f3e..4f32865924c 100644
---
a/agent/plugins/logging/type/file/src/test/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdviceTest.java
+++
b/agent/plugins/logging/type/file/src/test/java/org/apache/shardingsphere/agent/plugin/logging/file/advice/MetaDataContextsFactoryAdviceTest.java
@@ -18,42 +18,23 @@
package org.apache.shardingsphere.agent.plugin.logging.file.advice;
import ch.qos.logback.classic.Level;
-import ch.qos.logback.classic.Logger;
-import ch.qos.logback.classic.spi.ILoggingEvent;
-import ch.qos.logback.core.read.ListAppender;
import org.apache.shardingsphere.agent.api.advice.TargetAdviceMethod;
-import org.junit.jupiter.api.BeforeEach;
+import
org.apache.shardingsphere.test.infra.framework.extension.log.LogCaptureExtension;
import org.junit.jupiter.api.Test;
-import org.slf4j.LoggerFactory;
+import org.junit.jupiter.api.extension.ExtendWith;
-import java.util.List;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.equalTo;
-import static org.hamcrest.Matchers.is;
import static org.mockito.Mockito.mock;
+@ExtendWith(LogCaptureExtension.class)
class MetaDataContextsFactoryAdviceTest {
- private ListAppender<ILoggingEvent> listAppender;
-
- @BeforeEach
- void setUp() {
- Logger logger = (Logger)
LoggerFactory.getLogger(MetaDataContextsFactoryAdvice.class);
- listAppender = new ListAppender<>();
- listAppender.start();
- logger.addAppender(listAppender);
- }
-
@Test
- void assertLog() {
+ void assertLog(final LogCaptureExtension logCaptureExtension) {
MetaDataContextsFactoryAdvice advice = new
MetaDataContextsFactoryAdvice();
TargetAdviceMethod method = mock(TargetAdviceMethod.class);
advice.beforeMethod(null, method, new Object[]{}, "FIXTURE");
advice.afterMethod(null, method, new Object[]{}, null, "FIXTURE");
- List<ILoggingEvent> logsList = listAppender.list;
- assertThat(logsList.size(), equalTo(1));
- assertThat(logsList.get(0).getMessage(), is("Build meta data contexts
finished, cost {} milliseconds."));
- assertThat(logsList.get(0).getLevel(), is(Level.INFO));
+ logCaptureExtension.assertLogCount(1);
+ logCaptureExtension.assertLogContent(0, Level.INFO, "Build meta data
contexts finished, cost {} milliseconds.", false);
}
}
diff --git
a/test/infra/framework/src/main/java/org/apache/shardingsphere/test/infra/framework/extension/log/LogCaptureExtension.java
b/test/infra/framework/src/main/java/org/apache/shardingsphere/test/infra/framework/extension/log/LogCaptureExtension.java
index 8af74ae4939..2feecf40ab0 100644
---
a/test/infra/framework/src/main/java/org/apache/shardingsphere/test/infra/framework/extension/log/LogCaptureExtension.java
+++
b/test/infra/framework/src/main/java/org/apache/shardingsphere/test/infra/framework/extension/log/LogCaptureExtension.java
@@ -21,7 +21,6 @@ import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.Logger;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.read.ListAppender;
-import org.hamcrest.MatcherAssert;
import org.junit.jupiter.api.extension.AfterEachCallback;
import org.junit.jupiter.api.extension.BeforeEachCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
@@ -29,6 +28,7 @@ import org.junit.jupiter.api.extension.ParameterContext;
import org.junit.jupiter.api.extension.ParameterResolver;
import org.slf4j.LoggerFactory;
+import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
/**
@@ -72,7 +72,7 @@ public final class LogCaptureExtension implements
BeforeEachCallback, AfterEachC
* @param expectedCount expected log count
*/
public void assertLogCount(final int expectedCount) {
- MatcherAssert.assertThat(listAppender.list.size(), is(expectedCount));
+ assertThat(listAppender.list.size(), is(expectedCount));
}
/**
@@ -81,9 +81,14 @@ public final class LogCaptureExtension implements
BeforeEachCallback, AfterEachC
* @param actualLogEventIndex actual log event index
* @param expectedLevel expected log level
* @param expectedMessage expected log message
+ * @param isFormatMessage format message or not
*/
- public void assertLogContent(final int actualLogEventIndex, final Level
expectedLevel, final String expectedMessage) {
-
MatcherAssert.assertThat(listAppender.list.get(actualLogEventIndex).getLevel(),
is(expectedLevel));
-
MatcherAssert.assertThat(listAppender.list.get(actualLogEventIndex).getFormattedMessage(),
is(expectedMessage));
+ public void assertLogContent(final int actualLogEventIndex, final Level
expectedLevel, final String expectedMessage, final boolean isFormatMessage) {
+ assertThat(listAppender.list.get(actualLogEventIndex).getLevel(),
is(expectedLevel));
+ if (isFormatMessage) {
+
assertThat(listAppender.list.get(actualLogEventIndex).getFormattedMessage(),
is(expectedMessage));
+ } else {
+
assertThat(listAppender.list.get(actualLogEventIndex).getMessage(),
is(expectedMessage));
+ }
}
}
diff --git a/test/it/optimizer/src/test/resources/logback-test.xml
b/test/it/optimizer/src/test/resources/logback-test.xml
index d17f7efbfaf..23cb4b8b539 100644
--- a/test/it/optimizer/src/test/resources/logback-test.xml
+++ b/test/it/optimizer/src/test/resources/logback-test.xml
@@ -31,4 +31,4 @@
<level value="error" />
<appender-ref ref="console" />
</root>
-</configuration>
+</configuration>