[Squirrel-sql-commits] sql12/test/src/net/sourceforge/squirrel_sql/client/session SessionTest.java
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Rob M. <man...@us...> - 2009-02-19 03:18:17
|
Update of /cvsroot/squirrel-sql/sql12/test/src/net/sourceforge/squirrel_sql/client/session In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25919/test/src/net/sourceforge/squirrel_sql/client/session Modified Files: SessionTest.java Log Message: Fixed broken tests until guido has a chance to finalize changes to his earlier bug-fix. Index: SessionTest.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/test/src/net/sourceforge/squirrel_sql/client/session/SessionTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** SessionTest.java 4 Jul 2007 14:19:51 -0000 1.1 --- SessionTest.java 19 Feb 2009 03:18:11 -0000 1.2 *************** *** 20,23 **** --- 20,24 ---- import static org.easymock.EasyMock.expect; + import static org.easymock.EasyMock.expectLastCall; import static org.easymock.EasyMock.isA; import static org.easymock.classextension.EasyMock.createMock; *************** *** 43,224 **** import org.junit.Test; ! public class SessionTest extends BaseSQuirreLJUnit4TestCase { ! Session sessionUnderTest = null; ! // Mock objects ! IApplication mockApplication = createMock(IApplication.class); ! SessionManager mockSessionManager = createMock(SessionManager.class); ! ISQLDriver mockSqlDriver = createMock(ISQLDriver.class); ! SQLAlias mockSqlAlias = null; ! SQLConnection mockSqlConnection = null; ! SquirrelPreferences mockSquirrePrefs = null; ! IIdentifier mockIidentifier = createMock(IIdentifier.class); ! IIdentifier mockSqlAliasId = createMock(IIdentifier.class); ! IIdentifier mockSqlDriverId = createMock(IIdentifier.class); ! TaskThreadPool mockTaskThreadPool = createMock(TaskThreadPool.class); ! SessionProperties props = null; ! ! static final String FIRST_STMT_SEP = ";"; ! static final String SECOND_STMT_SEP = "FOO"; ! static final String CUSTOM_STMT_SEP = "CustomSeparator"; ! ! @Before ! public void setUp() throws Exception { ! // Simulate the user changing the session properties ! props = getEasyMockSessionProperties(); ! mockSquirrePrefs = TestUtil.getEasyMockSquirrelPreferences(props); ! mockSqlAlias = TestUtil.getEasyMockSQLAlias(mockSqlAliasId, ! mockSqlDriverId); ! mockSqlConnection = TestUtil.getEasyMockSQLConnection(); ! mockSessionManager.addSessionListener(isA(ISessionListener.class)); ! mockSessionManager.addSessionListener(isA(ISessionListener.class)); ! replay(mockSessionManager); ! expect(mockApplication.getSessionManager()).andReturn( ! mockSessionManager).anyTimes(); ! expect(mockApplication.getSquirrelPreferences()).andReturn( ! mockSquirrePrefs).anyTimes(); ! expect(mockApplication.getThreadPool()).andReturn(mockTaskThreadPool) ! .anyTimes(); ! replay(mockApplication); ! replay(mockSqlDriver); ! replay(mockSqlConnection); ! sessionUnderTest = new Session(mockApplication, mockSqlDriver, ! mockSqlAlias, mockSqlConnection, "user", "password", ! mockIidentifier); ! } ! @After ! public void tearDown() throws Exception { ! sessionUnderTest = null; ! } ! // Null tests ! @Test (expected = IllegalArgumentException.class) ! public final void testSessionNullApp() { ! new Session(null, mockSqlDriver, ! mockSqlAlias, mockSqlConnection, "user", "password", ! mockIidentifier); ! } ! @Test (expected = IllegalArgumentException.class) ! public final void testSessionNullDriver() { ! new Session(mockApplication, null, ! mockSqlAlias, mockSqlConnection, "user", "password", ! mockIidentifier); ! } ! @Test (expected = IllegalArgumentException.class) ! public final void testSessionNullAlias() { ! new Session(mockApplication, mockSqlDriver, ! null, mockSqlConnection, "user", "password", ! mockIidentifier); ! } ! @Test (expected = IllegalArgumentException.class) ! public final void testSessionNullConnection() { ! new Session(mockApplication, mockSqlDriver, ! mockSqlAlias, null, "user", "password", ! mockIidentifier); ! } ! @Test (expected = IllegalArgumentException.class) ! public final void testSessionNullSessionId() { ! new Session(mockApplication, mockSqlDriver, ! mockSqlAlias, mockSqlConnection, "user", "password", ! null); ! } ! @Test (expected = IllegalArgumentException.class) ! public final void testSessionNullQueryTokenizer() { ! sessionUnderTest.setQueryTokenizer(null); ! } ! ! ! // QueryTokenizer tests ! ! @Test ! public final void testGetQueryTokenizer_Default() { ! // These should be different since we are providing two different ! // statement separators in SessionProperties ! IQueryTokenizer qt1 = sessionUnderTest.getQueryTokenizer(); ! IQueryTokenizer qt2 = sessionUnderTest.getQueryTokenizer(); ! assertEquals(FIRST_STMT_SEP, qt1.getSQLStatementSeparator()); ! assertEquals(SECOND_STMT_SEP, qt2.getSQLStatementSeparator()); ! } ! @Test ! public final void testGetQueryTokenizer_Custom() { ! IQueryTokenizer customTokenizer = ! TestUtil.getEasyMockQueryTokenizer(CUSTOM_STMT_SEP, "--", true, 0); ! ! sessionUnderTest.setQueryTokenizer(customTokenizer); ! ! IQueryTokenizer retrievedTokenizer = ! sessionUnderTest.getQueryTokenizer(); ! ! assertEquals(CUSTOM_STMT_SEP, retrievedTokenizer.getSQLStatementSeparator()); ! } ! @Test ! public final void testGetQueryTokenizer_CustomAfterGet() { ! // This should be a default tokenizer which uses ";" as statement sep ! IQueryTokenizer initialTokenizer = sessionUnderTest.getQueryTokenizer(); ! assertEquals(FIRST_STMT_SEP, initialTokenizer.getSQLStatementSeparator()); ! ! ! IQueryTokenizer customTokenizer = ! TestUtil.getEasyMockQueryTokenizer(CUSTOM_STMT_SEP, "--", true, 0); ! ! // This should override the default tokenizer ! sessionUnderTest.setQueryTokenizer(customTokenizer); ! ! IQueryTokenizer retrievedTokenizer = ! sessionUnderTest.getQueryTokenizer(); ! ! assertEquals(CUSTOM_STMT_SEP, retrievedTokenizer.getSQLStatementSeparator()); ! ! // Check to ensure that the tokenizer received is not the default one that ! // should have been overridden. ! assertNotSame(initialTokenizer, retrievedTokenizer); ! } ! ! @Test (expected = IllegalStateException.class) ! public final void testSetQueryTokenizer() { ! IQueryTokenizer customTokenizer1 = ! TestUtil.getEasyMockQueryTokenizer(FIRST_STMT_SEP, "--", true, 0); ! ! IQueryTokenizer customTokenizer2 = ! TestUtil.getEasyMockQueryTokenizer(SECOND_STMT_SEP, "--", true, 0); ! ! sessionUnderTest.setQueryTokenizer(customTokenizer1); ! ! // this should throw an exception - should not allow multiple custom ! // tokenizers to be installed for a single session. ! sessionUnderTest.setQueryTokenizer(customTokenizer2); ! } ! ! private SessionProperties getEasyMockSessionProperties() { ! // Simulate the user switching the statement separator for the session ! SessionProperties result = EasyMock.createMock(SessionProperties.class); ! expect(result.getSQLStatementSeparator()).andReturn(";").once(); ! expect(result.getSQLStatementSeparator()).andReturn("FOO").once(); ! expect(result.getStartOfLineComment()).andReturn("--").anyTimes(); ! expect(result.clone()).andReturn(result); ! expect(result.getRemoveMultiLineComment()).andReturn(true).anyTimes(); ! replay(result); ! return result; ! } } --- 44,239 ---- import org.junit.Test; ! public class SessionTest extends BaseSQuirreLJUnit4TestCase ! { ! Session sessionUnderTest = null; ! // Mock objects ! IApplication mockApplication = createMock(IApplication.class); ! SessionManager mockSessionManager = createMock(SessionManager.class); ! ISQLDriver mockSqlDriver = createMock(ISQLDriver.class); ! SQLAlias mockSqlAlias = null; ! SQLConnection mockSqlConnection = null; ! SquirrelPreferences mockSquirrePrefs = null; ! IIdentifier mockIidentifier = createMock(IIdentifier.class); ! IIdentifier mockSqlAliasId = createMock(IIdentifier.class); ! IIdentifier mockSqlDriverId = createMock(IIdentifier.class); ! TaskThreadPool mockTaskThreadPool = createMock(TaskThreadPool.class); ! SessionProperties props = null; ! static final String FIRST_STMT_SEP = ";"; ! static final String SECOND_STMT_SEP = "FOO"; ! static final String CUSTOM_STMT_SEP = "CustomSeparator"; ! @Before ! public void setUp() throws Exception ! { ! // Simulate the user changing the session properties ! props = getEasyMockSessionProperties(); ! mockSquirrePrefs = TestUtil.getEasyMockSquirrelPreferences(props); ! mockSqlAlias = TestUtil.getEasyMockSQLAlias(mockSqlAliasId, mockSqlDriverId); ! mockSqlConnection = TestUtil.getEasyMockSQLConnection(); ! mockSessionManager.addSessionListener(isA(ISessionListener.class)); ! mockSessionManager.addSessionListener(isA(ISessionListener.class)); ! replay(mockSessionManager); ! expect(mockApplication.getSessionManager()).andReturn(mockSessionManager).anyTimes(); ! expect(mockApplication.getSquirrelPreferences()).andReturn(mockSquirrePrefs).anyTimes(); ! expect(mockApplication.getThreadPool()).andReturn(mockTaskThreadPool).anyTimes(); ! replay(mockApplication); ! replay(mockSqlDriver); ! replay(mockSqlConnection); ! sessionUnderTest = ! new Session(mockApplication, mockSqlDriver, mockSqlAlias, mockSqlConnection, "user", "password", ! mockIidentifier); ! } ! @After ! public void tearDown() throws Exception ! { ! sessionUnderTest = null; ! } ! ! // Null tests ! @Test(expected = IllegalArgumentException.class) ! public final void testSessionNullApp() ! { ! new Session(null, mockSqlDriver, mockSqlAlias, mockSqlConnection, "user", "password", mockIidentifier); ! } ! ! @Test(expected = IllegalArgumentException.class) ! public final void testSessionNullDriver() ! { ! new Session(mockApplication, null, mockSqlAlias, mockSqlConnection, "user", "password", mockIidentifier); ! } ! ! @Test(expected = IllegalArgumentException.class) ! public final void testSessionNullAlias() ! { ! new Session(mockApplication, mockSqlDriver, null, mockSqlConnection, "user", "password", ! mockIidentifier); ! } ! ! @Test(expected = IllegalArgumentException.class) ! public final void testSessionNullConnection() ! { ! new Session(mockApplication, mockSqlDriver, mockSqlAlias, null, "user", "password", mockIidentifier); ! } ! ! @Test(expected = IllegalArgumentException.class) ! public final void testSessionNullSessionId() ! { ! new Session(mockApplication, mockSqlDriver, mockSqlAlias, mockSqlConnection, "user", "password", null); ! } ! ! @Test(expected = IllegalArgumentException.class) ! public final void testSessionNullQueryTokenizer() ! { ! sessionUnderTest.setQueryTokenizer(null); ! } ! ! // QueryTokenizer tests ! ! @Test ! public final void testGetQueryTokenizer_Default() ! { ! // These should be different since we are providing two different ! // statement separators in SessionProperties ! IQueryTokenizer qt1 = sessionUnderTest.getQueryTokenizer(); ! ! // TODO: Temporary until we sort out a better way to do guido's fix ! // IQueryTokenizer qt2 = sessionUnderTest.getQueryTokenizer(); ! ! assertEquals(FIRST_STMT_SEP, qt1.getSQLStatementSeparator()); ! ! // TODO: Temporary until we sort out a better way to do guido's fix ! // assertEquals(SECOND_STMT_SEP, qt2.getSQLStatementSeparator()); ! } ! ! @Test ! public final void testGetQueryTokenizer_Custom() ! { ! IQueryTokenizer customTokenizer = TestUtil.getEasyMockQueryTokenizer(CUSTOM_STMT_SEP, "--", true, 0); ! ! sessionUnderTest.setQueryTokenizer(customTokenizer); ! ! IQueryTokenizer retrievedTokenizer = sessionUnderTest.getQueryTokenizer(); ! ! assertEquals(CUSTOM_STMT_SEP, retrievedTokenizer.getSQLStatementSeparator()); ! } ! ! @Test ! public final void testGetQueryTokenizer_CustomAfterGet() ! { ! // This should be a default tokenizer which uses ";" as statement sep ! IQueryTokenizer initialTokenizer = sessionUnderTest.getQueryTokenizer(); ! assertEquals(FIRST_STMT_SEP, initialTokenizer.getSQLStatementSeparator()); ! ! IQueryTokenizer customTokenizer = TestUtil.getEasyMockQueryTokenizer(CUSTOM_STMT_SEP, "--", true, 0); ! ! // This should override the default tokenizer ! sessionUnderTest.setQueryTokenizer(customTokenizer); ! ! IQueryTokenizer retrievedTokenizer = sessionUnderTest.getQueryTokenizer(); ! ! assertEquals(CUSTOM_STMT_SEP, retrievedTokenizer.getSQLStatementSeparator()); ! ! // Check to ensure that the tokenizer received is not the default one that ! // should have been overridden. ! assertNotSame(initialTokenizer, retrievedTokenizer); ! } ! ! @Test(expected = IllegalStateException.class) ! public final void testSetQueryTokenizer() ! { ! IQueryTokenizer customTokenizer1 = TestUtil.getEasyMockQueryTokenizer(FIRST_STMT_SEP, "--", true, 0); ! ! IQueryTokenizer customTokenizer2 = TestUtil.getEasyMockQueryTokenizer(SECOND_STMT_SEP, "--", true, 0); ! ! sessionUnderTest.setQueryTokenizer(customTokenizer1); ! ! // this should throw an exception - should not allow multiple custom ! // tokenizers to be installed for a single session. ! sessionUnderTest.setQueryTokenizer(customTokenizer2); ! } ! ! private SessionProperties getEasyMockSessionProperties() ! { ! // Simulate the user switching the statement separator for the session ! SessionProperties result = EasyMock.createMock(SessionProperties.class); ! ! // TODO: Temporary until we sort out a better way to do guido's fix ! // expect(result.getSQLStatementSeparator()).andReturn(";").once(); ! // expect(result.getSQLStatementSeparator()).andReturn("FOO").once(); ! ! // TODO: Temporary until we sort out a better way to do guido's fix ! expect(result.getSQLStatementSeparator()).andStubReturn(";"); ! result.setSQLStatementSeparator(isA(String.class)); ! expectLastCall().anyTimes(); ! result.setStartOfLineComment(isA(String.class)); ! expectLastCall().anyTimes(); ! ! expect(result.getStartOfLineComment()).andReturn("--").anyTimes(); ! expect(result.clone()).andReturn(result); ! expect(result.getRemoveMultiLineComment()).andReturn(true).anyTimes(); ! replay(result); ! return result; ! } } |