2 * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 2 of the License.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 import java.sql.SQLException;
22 import com.mysql.clusterj.ClusterJUserException;
24 import testsuite.clusterj.AbstractClusterJTest;
26 public class NegativeBadConnectionLifecycleInterceptorTest extends AbstractClusterJTest {
29 getConnection("target/test-classes/bad-connection-bad-connection-lifecycle-interceptor.properties");
30 connection.prepareStatement("SELECT 1 FROM DUAL");
31 fail("getConnection with a bad connection lifecycle interceptor should fail.");
32 } catch (SQLException e) {
33 // getConnection doesn't throw SQLException but wraps its exception in RuntimeException
34 } catch (RuntimeException runtimeException) {
35 Throwable sqlException = runtimeException.getCause();
36 if (sqlException instanceof SQLException) {
37 Throwable clusterJException = sqlException.getCause();
38 if (clusterJException instanceof ClusterJUserException) {
39 if (clusterJException.getMessage().contains("BadConnectionLifecycleInterceptor")) {
42 if (getDebug()) sqlException.printStackTrace();
43 fail("Exception should contain the string 'connectionLifecycleInterceptors'");
46 if (getDebug()) sqlException.printStackTrace();
47 fail("Exception should be a ClusterJUserException wrapped in a SQLException.");
50 if (getDebug()) sqlException.printStackTrace();
51 fail("Exception should be a ClusterJUserException wrapped in a SQLException.");