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);
     }
 }

Reply via email to