001: /*
002: Copyright (C) 2002-2004 MySQL AB
003:
004: This program is free software; you can redistribute it and/or modify
005: it under the terms of version 2 of the GNU General Public License as
006: published by the Free Software Foundation.
007:
008: There are special exceptions to the terms and conditions of the GPL
009: as it is applied to this software. View the full text of the
010: exception in file EXCEPTIONS-CONNECTOR-J in the directory of this
011: software distribution.
012:
013: This program is distributed in the hope that it will be useful,
014: but WITHOUT ANY WARRANTY; without even the implied warranty of
015: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
016: GNU General Public License for more details.
017:
018: You should have received a copy of the GNU General Public License
019: along with this program; if not, write to the Free Software
020: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021:
022:
023:
024: */
025: package testsuite.regression;
026:
027: import java.util.Properties;
028:
029: import sun.applet.AppletSecurity;
030: import testsuite.BaseTestCase;
031:
032: /**
033: * Tests various applet-related issues.
034: *
035: * @author Mark Matthews
036: * @version $Id: AppletRegressionTest.java,v 1.1.2.1 2005/05/13 18:58:38
037: * mmatthews Exp $
038: */
039: public class AppletRegressionTest extends BaseTestCase {
040: private final static String TOGGLE_RUN_PROPERTY = "com.mysql.jdbc.testsuite.regression.runAppletRegressionTest";
041:
042: /**
043: * DOCUMENT ME!
044: *
045: * @param name
046: */
047: public AppletRegressionTest(String name) {
048: super (name);
049:
050: // TODO Auto-generated constructor stub
051: }
052:
053: /**
054: * Runs all test cases in this test suite
055: *
056: * @param args
057: */
058: public static void main(String[] args) {
059: System.setProperty(TOGGLE_RUN_PROPERTY, "true");
060: junit.textui.TestRunner.run(AppletRegressionTest.class);
061: }
062:
063: /**
064: * Tests if the driver wors with an Applet security manager installed.
065: *
066: * @throws Exception
067: * if the test fails
068: */
069: public void testAppletSecurityManager() throws Exception {
070: if ("true".equalsIgnoreCase(System
071: .getProperty(TOGGLE_RUN_PROPERTY))) {
072: System.setSecurityManager(new CustomAppletSecurity());
073:
074: getConnectionWithProps(new Properties());
075: }
076: }
077:
078: /**
079: * We need to customize the security manager a 'bit', so that JUnit still
080: * works (and we can connect to various databases).
081: */
082: class CustomAppletSecurity extends AppletSecurity {
083: /*
084: * (non-Javadoc)
085: *
086: * @see java.lang.SecurityManager#checkAccess(java.lang.Thread)
087: */
088: public synchronized void checkAccess(Thread arg0) {
089: }
090:
091: /*
092: * (non-Javadoc)
093: *
094: * @see java.lang.SecurityManager#checkConnect(java.lang.String, int,
095: * java.lang.Object)
096: */
097: public void checkConnect(String host, int port, Object context) {
098: }
099:
100: /*
101: * (non-Javadoc)
102: *
103: * @see java.lang.SecurityManager#checkConnect(java.lang.String, int)
104: */
105: public void checkConnect(String host, int port) {
106: }
107: }
108: }
|