]> review.fuel-infra Code Review - packages/trusty/mysql-wsrep-5.6.git/blob
fe4553cee40e36919caf1cc150591f7a781ecf1e
[packages/trusty/mysql-wsrep-5.6.git] /
1 /*
2  *  Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
3  *
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.
7  *
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.
12  *
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
16  */
17
18 package jdbctest;
19
20 import java.sql.SQLException;
21
22 import com.mysql.clusterj.ClusterJUserException;
23
24 import testsuite.clusterj.AbstractClusterJTest;
25
26 public class NegativeMissingStatementInterceptorTest extends AbstractClusterJTest {
27     public void test() {
28         try {
29             getConnection("target/test-classes/bad-connection-no-statement-interceptor.properties");
30             connection.prepareStatement("SELECT 1 FROM DUAL");
31             fail("Missing statement interceptor should fail with ClusterJUserException.");
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("statementInterceptors")) {
40                     // good catch
41                     } else {
42                         if (getDebug()) sqlException.printStackTrace();
43                         fail("Exception should contain the string 'connectionLifecycleInterceptors'");
44                     }
45                 } else {
46                     if (getDebug()) sqlException.printStackTrace();
47                     fail("Exception should be a ClusterJUserException wrapped in a SQLException.");
48                 }
49             } else {
50                 if (getDebug()) sqlException.printStackTrace();
51                 fail("Exception should be a ClusterJUserException wrapped in a SQLException.");
52             }
53         }
54     }
55
56 }