1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.dbcp2;
19
20 import static org.junit.jupiter.api.Assertions.assertNull;
21 import static org.junit.jupiter.api.Assertions.assertTrue;
22
23 import java.lang.management.ManagementFactory;
24
25 import javax.management.JMX;
26 import javax.management.MBeanServer;
27 import javax.management.ObjectName;
28 import javax.management.OperationsException;
29
30 import org.junit.jupiter.api.Test;
31
32
33
34
35 public class TestBasicDataSourceMXBean {
36
37 public static void testMXBeanCompliance(final Class<?> clazz) throws OperationsException {
38 assertTrue(JMX.isMXBeanInterface(clazz));
39 final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
40 final ObjectName objectName = ObjectName.getInstance("com.sun.management:type=DiagnosticCommand");
41 JMX.newMBeanProxy(server, objectName, clazz, true);
42 }
43
44 private final BasicDataSourceMXBean bean = new BasicDataSourceMXBean() {
45
46 @Override
47 public boolean getAbandonedUsageTracking() {
48 return false;
49 }
50
51 @Override
52 public boolean getCacheState() {
53 return false;
54 }
55
56 @Override
57 public String[] getConnectionInitSqlsAsArray() {
58 return null;
59 }
60
61 @Override
62 public Boolean getDefaultAutoCommit() {
63 return null;
64 }
65
66 @Override
67 public String getDefaultCatalog() {
68 return null;
69 }
70
71 @Override
72 public Boolean getDefaultReadOnly() {
73 return null;
74 }
75
76 @Override
77 public int getDefaultTransactionIsolation() {
78 return 0;
79 }
80
81 @Override
82 public String[] getDisconnectionSqlCodesAsArray() {
83 return null;
84 }
85
86 @Override
87 public String getDriverClassName() {
88 return null;
89 }
90
91 @Override
92 public boolean getFastFailValidation() {
93 return false;
94 }
95
96 @Override
97 public int getInitialSize() {
98 return 0;
99 }
100
101 @Override
102 public boolean getLifo() {
103 return false;
104 }
105
106 @Override
107 public boolean getLogAbandoned() {
108 return false;
109 }
110
111 @Override
112 public boolean getLogExpiredConnections() {
113 return false;
114 }
115
116 @Override
117 public long getMaxConnLifetimeMillis() {
118 return 0;
119 }
120
121 @Override
122 public int getMaxIdle() {
123 return 0;
124 }
125
126 @Override
127 public int getMaxOpenPreparedStatements() {
128 return 0;
129 }
130
131 @Override
132 public int getMaxTotal() {
133 return 0;
134 }
135
136 @Override
137 public long getMaxWaitMillis() {
138 return 0;
139 }
140
141 @Override
142 public long getMinEvictableIdleTimeMillis() {
143 return 0;
144 }
145
146 @Override
147 public int getMinIdle() {
148 return 0;
149 }
150
151 @Override
152 public int getNumActive() {
153 return 0;
154 }
155
156 @Override
157 public int getNumIdle() {
158 return 0;
159 }
160
161 @Override
162 public int getNumTestsPerEvictionRun() {
163 return 0;
164 }
165
166 @Override
167 public String getPassword() {
168 return null;
169 }
170
171 @Override
172 public boolean getRemoveAbandonedOnBorrow() {
173 return false;
174 }
175
176 @Override
177 public boolean getRemoveAbandonedOnMaintenance() {
178 return false;
179 }
180
181 @Override
182 public int getRemoveAbandonedTimeout() {
183 return 0;
184 }
185
186 @Override
187 public long getSoftMinEvictableIdleTimeMillis() {
188 return 0;
189 }
190
191 @Override
192 public boolean getTestOnBorrow() {
193 return false;
194 }
195
196 @Override
197 public boolean getTestOnCreate() {
198 return false;
199 }
200
201 @Override
202 public boolean getTestWhileIdle() {
203 return false;
204 }
205
206 @Override
207 public long getTimeBetweenEvictionRunsMillis() {
208 return 0;
209 }
210
211 @Override
212 public String getUrl() {
213 return null;
214 }
215
216 @Override
217 public String getUsername() {
218 return null;
219 }
220
221 @Override
222 public String getValidationQuery() {
223 return null;
224 }
225
226 @Override
227 public int getValidationQueryTimeout() {
228 return 0;
229 }
230
231 @Override
232 public boolean isAccessToUnderlyingConnectionAllowed() {
233 return false;
234 }
235
236 @Override
237 public boolean isClearStatementPoolOnReturn() {
238 return false;
239 }
240
241 @Override
242 public boolean isClosed() {
243 return false;
244 }
245
246 @Override
247 public boolean isPoolPreparedStatements() {
248 return false;
249 }
250 };
251
252
253
254
255 @Test
256 public void testDefaultSchema() {
257 assertNull(bean.getDefaultSchema());
258 }
259
260
261
262
263 @Test
264 public void testMXBeanCompliance() throws OperationsException {
265 testMXBeanCompliance(BasicDataSourceMXBean.class);
266 }
267 }