This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-dbcp.git
The following commit(s) were added to refs/heads/master by this push: new 69e1eed3 Tests should not depend directly on JMX internals 69e1eed3 is described below commit 69e1eed311130532fcac557d41af1150151dcc72 Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Fri May 5 15:09:27 2023 -0400 Tests should not depend directly on JMX internals --- .../commons/dbcp2/TestBasicDataSourceMXBean.java | 28 ++++++++++++---------- .../commons/dbcp2/TestPoolableConnection.java | 15 +++--------- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/src/test/java/org/apache/commons/dbcp2/TestBasicDataSourceMXBean.java b/src/test/java/org/apache/commons/dbcp2/TestBasicDataSourceMXBean.java index f40a1b6a..833328f5 100644 --- a/src/test/java/org/apache/commons/dbcp2/TestBasicDataSourceMXBean.java +++ b/src/test/java/org/apache/commons/dbcp2/TestBasicDataSourceMXBean.java @@ -19,15 +19,16 @@ package org.apache.commons.dbcp2; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.fail; + +import java.lang.management.ManagementFactory; import javax.management.JMX; -import javax.management.NotCompliantMBeanException; +import javax.management.MBeanServer; +import javax.management.ObjectName; +import javax.management.OperationsException; import org.junit.jupiter.api.Test; -import com.sun.jmx.mbeanserver.Introspector; - /** * Tests for BasicDataSourceMXBean. */ @@ -250,16 +251,17 @@ public class TestBasicDataSourceMXBean { } /** - * Tests if the {@link BasicDataSourceMXBean} interface is a valid MXBean - * interface. + * Tests if the {@link BasicDataSourceMXBean} interface is a valid MXBean interface. */ @Test - public void testMXBeanCompliance() { - assertTrue(JMX.isMXBeanInterface(BasicDataSourceMXBean.class)); - try { - Introspector.testComplianceMXBeanInterface(BasicDataSourceMXBean.class); - } catch (NotCompliantMBeanException e) { - fail(e); - } + public void testMXBeanCompliance() throws OperationsException { + testMXBeanCompliance(BasicDataSourceMXBean.class); + } + + public static void testMXBeanCompliance(Class<?> clazz) throws OperationsException { + assertTrue(JMX.isMXBeanInterface(clazz)); + final MBeanServer server = ManagementFactory.getPlatformMBeanServer(); + final ObjectName objectName = ObjectName.getInstance("com.sun.management:type=DiagnosticCommand"); + JMX.newMBeanProxy(server, objectName, clazz, true); } } diff --git a/src/test/java/org/apache/commons/dbcp2/TestPoolableConnection.java b/src/test/java/org/apache/commons/dbcp2/TestPoolableConnection.java index 38e058f1..2d2518d7 100644 --- a/src/test/java/org/apache/commons/dbcp2/TestPoolableConnection.java +++ b/src/test/java/org/apache/commons/dbcp2/TestPoolableConnection.java @@ -18,15 +18,13 @@ package org.apache.commons.dbcp2; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; import java.sql.Connection; import java.sql.SQLException; import java.util.ArrayList; -import javax.management.JMX; -import javax.management.NotCompliantMBeanException; +import javax.management.OperationsException; import org.apache.commons.pool2.impl.GenericObjectPool; import org.junit.jupiter.api.AfterEach; @@ -34,8 +32,6 @@ import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import com.sun.jmx.mbeanserver.Introspector; - /** */ public class TestPoolableConnection { @@ -214,12 +210,7 @@ public class TestPoolableConnection { * interface. */ @Test - public void testMXBeanCompliance() { - assertTrue(JMX.isMXBeanInterface(PoolableConnectionMXBean.class)); - try { - Introspector.testComplianceMXBeanInterface(PoolableConnectionMXBean.class); - } catch (NotCompliantMBeanException e) { - fail(e); - } + public void testMXBeanCompliance() throws OperationsException { + TestBasicDataSourceMXBean.testMXBeanCompliance(PoolableConnectionMXBean.class); } }