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 <[email protected]>
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);
}
}