~maria-captains/mariadb-java-client/trunk

« back to all changes in this revision

Viewing changes to src/test/java/org/mariadb/jdbc/ConnectionTest.java

  • Committer: Massimo Siani
  • Date: 2014-12-09 10:28:02 UTC
  • mfrom: (536.2.1 CONJ-121)
  • Revision ID: massimo.siani@skysql.com-20141209102802-g0c0ds1zs4v3gi16
Fix for CONJ-121: implement Connection.getNetworkTimeout and Connection.setNetworkTimeout

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
        @Test
49
49
        public void abortTest() throws SQLException {
50
50
                Statement stmt = connection.createStatement();
51
 
                SQLPermission sqlPermission = new SQLPermission("abort");
 
51
                SQLPermission sqlPermission = new SQLPermission("callAbort");
52
52
                SecurityManager securityManager = new SecurityManager();
53
53
                if (securityManager != null && sqlPermission != null) {
54
54
                        try {
55
55
                                securityManager.checkPermission(sqlPermission);
56
56
                        } catch (SecurityException se) {
57
 
                                System.out.println("test 'aborttest' skipped  due to missing policy");
 
57
                                System.out.println("test 'abortTest' skipped  due to missing policy");
58
58
                                return;
59
59
                        }
60
60
                }
75
75
                        stmt.close();
76
76
                }
77
77
        }
 
78
        
 
79
        
 
80
        /**
 
81
         * CONJ-121: implemented Connection.getNetworkTimeout and Connection.setNetworkTimeout
 
82
         * @throws SQLException
 
83
         */
 
84
        @Test
 
85
        public void networkTimeoutTest() throws SQLException {
 
86
                int timeout = 1000;
 
87
                SQLPermission sqlPermission = new SQLPermission("setNetworkTimeout");
 
88
                SecurityManager securityManager = new SecurityManager();
 
89
                if (securityManager != null && sqlPermission != null) {
 
90
                        try {
 
91
                        securityManager.checkPermission(sqlPermission);
 
92
                        } catch (SecurityException se) {
 
93
                                System.out.println("test 'setNetworkTimeout' skipped  due to missing policy");
 
94
                                return;
 
95
                        }
 
96
                }
 
97
                Executor executor = new Executor() {
 
98
                        @Override
 
99
                        public void execute(Runnable command) {
 
100
                                command.run();
 
101
                        }
 
102
                };
 
103
                try {
 
104
                        connection.setNetworkTimeout(executor, timeout);
 
105
                } catch (SQLException sqlex) {
 
106
                        assertTrue(false);
 
107
                }
 
108
                try {
 
109
                        int networkTimeout = connection.getNetworkTimeout();
 
110
                        assertEquals(timeout, networkTimeout);
 
111
                } catch (SQLException sqlex) {
 
112
                        assertTrue(false);
 
113
                }
 
114
                try {
 
115
                        connection.createStatement().execute("select sleep(2)");
 
116
                        fail("Network timeout is " + timeout/1000 + "sec, but slept for 2sec");
 
117
                } catch (SQLException sqlex) {
 
118
                        assertTrue(connection.isClosed());
 
119
                }
 
120
        }
78
121
 
79
122
        /**
80
123
         * CONJ-120 Fix Connection.isValid method