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[] getDisconnectionIgnoreSqlCodesAsArray() {
83 return null;
84 }
85
86 @Override
87 public String[] getDisconnectionSqlCodesAsArray() {
88 return null;
89 }
90
91 @Override
92 public String getDriverClassName() {
93 return null;
94 }
95
96 @Override
97 public boolean getFastFailValidation() {
98 return false;
99 }
100
101 @Override
102 public int getInitialSize() {
103 return 0;
104 }
105
106 @Override
107 public boolean getLifo() {
108 return false;
109 }
110
111 @Override
112 public boolean getLogAbandoned() {
113 return false;
114 }
115
116 @Override
117 public boolean getLogExpiredConnections() {
118 return false;
119 }
120
121 @Override
122 public long getMaxConnLifetimeMillis() {
123 return 0;
124 }
125
126 @Override
127 public int getMaxIdle() {
128 return 0;
129 }
130
131 @Override
132 public int getMaxOpenPreparedStatements() {
133 return 0;
134 }
135
136 @Override
137 public int getMaxTotal() {
138 return 0;
139 }
140
141 @Override
142 public long getMaxWaitMillis() {
143 return 0;
144 }
145
146 @Override
147 public long getMinEvictableIdleTimeMillis() {
148 return 0;
149 }
150
151 @Override
152 public int getMinIdle() {
153 return 0;
154 }
155
156 @Override
157 public int getNumActive() {
158 return 0;
159 }
160
161 @Override
162 public int getNumIdle() {
163 return 0;
164 }
165
166 @Override
167 public int getNumTestsPerEvictionRun() {
168 return 0;
169 }
170
171 @Override
172 public String getPassword() {
173 return null;
174 }
175
176 @Override
177 public boolean getRemoveAbandonedOnBorrow() {
178 return false;
179 }
180
181 @Override
182 public boolean getRemoveAbandonedOnMaintenance() {
183 return false;
184 }
185
186 @Override
187 public int getRemoveAbandonedTimeout() {
188 return 0;
189 }
190
191 @Override
192 public long getSoftMinEvictableIdleTimeMillis() {
193 return 0;
194 }
195
196 @Override
197 public boolean getTestOnBorrow() {
198 return false;
199 }
200
201 @Override
202 public boolean getTestOnCreate() {
203 return false;
204 }
205
206 @Override
207 public boolean getTestWhileIdle() {
208 return false;
209 }
210
211 @Override
212 public long getTimeBetweenEvictionRunsMillis() {
213 return 0;
214 }
215
216 @Override
217 public String getUrl() {
218 return null;
219 }
220
221 @Override
222 public String getUsername() {
223 return null;
224 }
225
226 @Override
227 public String getValidationQuery() {
228 return null;
229 }
230
231 @Override
232 public int getValidationQueryTimeout() {
233 return 0;
234 }
235
236 @Override
237 public boolean isAccessToUnderlyingConnectionAllowed() {
238 return false;
239 }
240
241 @Override
242 public boolean isClearStatementPoolOnReturn() {
243 return false;
244 }
245
246 @Override
247 public boolean isClosed() {
248 return false;
249 }
250
251 @Override
252 public boolean isPoolPreparedStatements() {
253 return false;
254 }
255 };
256
257
258
259
260 @Test
261 public void testDefaultSchema() {
262 assertNull(bean.getDefaultSchema());
263 }
264
265
266
267
268 @Test
269 public void testMXBeanCompliance() throws OperationsException {
270 testMXBeanCompliance(BasicDataSourceMXBean.class);
271 }
272 }