[Squirrel-sql-commits] sql12/test/src/net/sourceforge/squirrel_sql/client/update/gui/installer Art
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Rob M. <man...@us...> - 2008-05-09 23:54:41
|
Update of /cvsroot/squirrel-sql/sql12/test/src/net/sourceforge/squirrel_sql/client/update/gui/installer In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv14758/test/src/net/sourceforge/squirrel_sql/client/update/gui/installer Modified Files: ArtifactInstallerImplTest.java Log Message: Added tests and adjusted code as necessary for completeness and error-checking. Index: ArtifactInstallerImplTest.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/test/src/net/sourceforge/squirrel_sql/client/update/gui/installer/ArtifactInstallerImplTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ArtifactInstallerImplTest.java 8 Apr 2008 02:02:48 -0000 1.3 --- ArtifactInstallerImplTest.java 9 May 2008 23:54:37 -0000 1.4 *************** *** 23,26 **** --- 23,27 ---- import java.io.File; + import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; *************** *** 80,83 **** --- 81,88 ---- private static final String DBCOPY_ZIP_FILENAME = "dbcopy.zip"; + + private static final String DBCOPY_JAR_FILENAME = "dbcopy.jar"; + + private static final String DBCOPY_DIR_FILENAME = "dbcopy"; private static final String SQUIRREL_SQL_ES_JAR_FILENAME = "squirrel-sql_es.jar"; *************** *** 111,115 **** private File mockInstalledDbCopyPluginDirFile = helper.createMock(File.class); ! private File mockInstalledDbCopyPluginJarFile = helper.createMock(File.class); private File mockInstalledSquirrelSqlEsJarFile = helper.createMock(File.class); --- 116,120 ---- private File mockInstalledDbCopyPluginDirFile = helper.createMock(File.class); ! //private File mockInstalledDbCopyPluginJarFile = helper.createMock(File.class); private File mockInstalledSquirrelSqlEsJarFile = helper.createMock(File.class); *************** *** 133,136 **** --- 138,145 ---- private File mockDownloadsSquirrelSqlEsJarFile = helper.createMock(File.class); + private File mockPathToInstalledDBCopyJarFile = helper.createMock(File.class); + + private File mockPathToInstalledDBCopyDirectory = helper.createMock(File.class); + private InstallFileOperationInfo mockInstallSquirrelSqlJarOperationInfo = helper.createMock(InstallFileOperationInfo.class); *************** *** 150,153 **** --- 159,164 ---- private File mockDownloadsI18nDirFile = helper.createMock(File.class); + private File mockInstalledSpringJarFile = helper.createMock(File.class); + @Before public void setUp() throws Exception *************** *** 155,160 **** helper.resetAll(); setupUpdateUtil(); } ! private void setupUpdateUtil() { --- 166,172 ---- helper.resetAll(); setupUpdateUtil(); + setupFileAbsolutePathExpectations(); } ! private void setupUpdateUtil() { *************** *** 163,167 **** expect(mockUpdateUtil.getSquirrelLibraryDir()).andReturn(mockSquirreLLibDirFile).anyTimes(); expect(mockUpdateUtil.getSquirrelPluginsDir()).andReturn(mockSquirrelPluginsDirFile).anyTimes(); ! implUnderTest = new ArtifactInstallerImpl(); implUnderTest.setInstallStatusEventFactory(mockInstallStatusEventFactory); --- 175,179 ---- expect(mockUpdateUtil.getSquirrelLibraryDir()).andReturn(mockSquirreLLibDirFile).anyTimes(); expect(mockUpdateUtil.getSquirrelPluginsDir()).andReturn(mockSquirrelPluginsDirFile).anyTimes(); ! implUnderTest = new ArtifactInstallerImpl(); implUnderTest.setInstallStatusEventFactory(mockInstallStatusEventFactory); *************** *** 170,173 **** --- 182,258 ---- } + private void setupFileAbsolutePathExpectations() { + + expect(mockSquirreHomeDirFile.getAbsolutePath()).andReturn("mockSquirreHomeDirFile").anyTimes(); + + expect(mockSquirreLLibDirFile.getAbsolutePath()).andReturn("mockSquirreLLibDirFile").anyTimes(); + + expect(mockSquirrelPluginsDirFile.getAbsolutePath()).andReturn("mockSquirrelPluginsDirFile").anyTimes(); + + expect(mockUpdateRootDirFile.getAbsolutePath()).andReturn("mockUpdateRootDirFile").anyTimes(); + + expect(mockBackupRootDirFile.getAbsolutePath()).andReturn("mockBackupRootDirFile").anyTimes(); + + expect(mockBackupCoreDirFile.getAbsolutePath()).andReturn("mockBackupCoreDirFile").anyTimes(); + + expect(mockBackupPluginDirFile.getAbsolutePath()).andReturn("mockBackupPluginDirFile").anyTimes(); + + expect(mockBackupTranslationDirFile.getAbsolutePath()).andReturn("mockBackupTranslationDirFile") + .anyTimes(); + + expect(mockInstalledFrameworkJarFile.getAbsolutePath()).andReturn("mockInstalledFrameworkJarFile") + .anyTimes(); + + expect(mockBackupFrameworkJarFile.getAbsolutePath()).andReturn("mockBackupFrameworkJarFile").anyTimes(); + + expect(mockInstalledSquirrelSqlJarFile.getAbsolutePath()).andReturn("mockInstalledSquirrelSqlJarFile") + .anyTimes(); + + expect(mockBackupSquirrelSqlJarFile.getAbsolutePath()).andReturn("mockBackupSquirrelSqlJarFile") + .anyTimes(); + + expect(mockBackupDbCopyZipFile.getAbsolutePath()).andReturn("mockBackupDbCopyZipFile").anyTimes(); + + expect(mockInstalledDbCopyPluginDirFile.getAbsolutePath()).andReturn("mockInstalledDbCopyPluginDirFile") + .anyTimes(); + + // expect(mockInstalledDbCopyPluginJarFile.getAbsolutePath()).andReturn("mockInstalledDbCopyPluginJarFile") + // .anyTimes(); + + expect(mockInstalledSquirrelSqlEsJarFile.getAbsolutePath()).andReturn( + "mockInstalledSquirrelSqlEsJarFile").anyTimes(); + + expect(mockInstalledDbCopyZipFile.getAbsolutePath()).andReturn("mockInstalledDbCopyZipFile").anyTimes(); + + expect(mockBackupSquirrelSqlEsJarFile.getAbsolutePath()).andReturn("mockBackupSquirrelSqlEsJarFile") + .anyTimes(); + + expect(mockDownloadsCoreDirFile.getAbsolutePath()).andReturn("mockDownloadsCoreDirFile").anyTimes(); + + expect(mockDownloadsPluginDirFile.getAbsolutePath()).andReturn("mockDownloadsPluginDirFile").anyTimes(); + + expect(mockDownloadsFrameworkJarFile.getAbsolutePath()).andReturn("mockDownloadsFrameworkJarFile") + .anyTimes(); + + expect(mockDownloadsSquirrelSqlJarFile.getAbsolutePath()).andReturn("mockDownloadsSquirrelSqlJarFile") + .anyTimes(); + + expect(mockDownloadsSpringJarFile.getAbsolutePath()).andReturn("mockDownloadsSpringJarFile").anyTimes(); + + expect(mockDownloadsDbCopyPluginZipFile.getAbsolutePath()).andReturn("mockDownloadsDbCopyPluginZipFile") + .anyTimes(); + + expect(mockDownloadsSquirrelSqlEsJarFile.getAbsolutePath()).andReturn( + "mockDownloadsSquirrelSqlEsJarFile").anyTimes(); + + expect(mockPathToInstalledDBCopyJarFile.getAbsolutePath()).andReturn("mockPathToInstalledDBCopyJarFile") + .anyTimes(); + + expect(mockPathToInstalledDBCopyDirectory.getAbsolutePath()).andReturn( + "mockPathToInstalledDBCopyDirectory").anyTimes(); + + expect(mockInstalledSpringJarFile.getAbsolutePath()).andReturn("mockInstalledSpringJarFile").anyTimes(); + } + @After public void tearDown() throws Exception *************** *** 176,179 **** --- 261,292 ---- } + /** + * @param filename + * The name of the file to copy such that when it is appended to the installedDir, it yields the + * specified installedFile + * @param installedDir + * the directory in which the file to be backed resides + * @param installedFile + * the File that is returned from concatenating installedDir and filename + * @param backupDir + * the directory into which the backup file will be copied. + * @param backupFile + * the File that represents the file after it is copied into the backup directory + * @throws FileNotFoundException + * @throws IOException + */ + private void setupFileCopyExpectations(String filename, File installedDir, File installedFile, + File backupDir, File backupFile) throws FileNotFoundException, IOException + { + expect(mockUpdateUtil.getFile(installedDir, filename)).andReturn( + installedFile); + + expect(mockUpdateUtil.getFile(backupDir, filename)).andReturn( + backupFile); + //expect(backupFile.getAbsolutePath()).andReturn("mockBackupFrameworkJarFile"); + mockUpdateUtil.copyFile(installedFile, backupFile); + } + + @Test public final void testBackupFiles() throws Exception *************** *** 183,205 **** makeCommonUpdateUtilAssertions(); ! expect(mockUpdateUtil.getFile(mockSquirreLLibDirFile, FW_JAR_FILENAME)).andReturn( ! mockInstalledFrameworkJarFile); ! expect(mockUpdateUtil.getFile(mockBackupCoreDirFile, FW_JAR_FILENAME)).andReturn( ! mockBackupFrameworkJarFile); ! mockUpdateUtil.copyFile(mockInstalledFrameworkJarFile, mockBackupFrameworkJarFile); ! ! expect(mockUpdateUtil.getFile(mockSquirreHomeDirFile, SQUIRREL_SQL_JAR_FILENAME)).andReturn( ! mockInstalledSquirrelSqlJarFile); ! expect(mockUpdateUtil.getFile(mockBackupCoreDirFile, SQUIRREL_SQL_JAR_FILENAME)).andReturn( ! mockBackupSquirrelSqlJarFile); ! mockUpdateUtil.copyFile(mockInstalledSquirrelSqlJarFile, mockBackupSquirrelSqlJarFile); ! ! expect(mockUpdateUtil.getFile(mockBackupPluginDirFile, DBCOPY_ZIP_FILENAME)).andReturn( ! mockBackupDbCopyZipFile); expect(mockUpdateUtil.getFile(mockSquirrelPluginsDirFile, "dbcopy")).andReturn( mockInstalledDbCopyPluginDirFile); expect(mockUpdateUtil.getFile(mockSquirrelPluginsDirFile, "dbcopy.jar")).andReturn( ! mockInstalledDbCopyPluginJarFile); mockUpdateUtil.createZipFile(isA(File.class), isA(File[].class)); --- 296,312 ---- makeCommonUpdateUtilAssertions(); ! setupFileCopyExpectations(FW_JAR_FILENAME, mockSquirreLLibDirFile, mockInstalledFrameworkJarFile, ! mockBackupCoreDirFile, mockInstalledFrameworkJarFile); + setupFileCopyExpectations(SQUIRREL_SQL_JAR_FILENAME, mockSquirreHomeDirFile, + mockInstalledSquirrelSqlJarFile, mockBackupCoreDirFile, mockBackupSquirrelSqlJarFile); + + expect(mockUpdateUtil.getFile(mockBackupPluginDirFile, "dbcopy.zip")).andReturn(mockBackupDbCopyZipFile); + expect(mockUpdateUtil.getFile(mockSquirrelPluginsDirFile, "dbcopy")).andReturn( mockInstalledDbCopyPluginDirFile); expect(mockUpdateUtil.getFile(mockSquirrelPluginsDirFile, "dbcopy.jar")).andReturn( ! mockPathToInstalledDBCopyJarFile); ! mockUpdateUtil.createZipFile(isA(File.class), isA(File[].class)); *************** *** 227,231 **** helper.verifyAll(); } ! @Test public final void testInstallFiles() throws IOException --- 334,338 ---- helper.verifyAll(); } ! @Test public final void testInstallFiles() throws IOException *************** *** 247,290 **** expect(mockUpdateUtil.getFile(mockSquirreHomeDirFile, SQUIRREL_SQL_JAR_FILENAME)).andReturn( mockInstalledSquirrelSqlJarFile); expect(mockUpdateUtil.getFile(mockSquirreLLibDirFile, FW_JAR_FILENAME)).andReturn( mockInstalledFrameworkJarFile); expect(mockUpdateUtil.getFile(mockSquirreLLibDirFile, SPRING_JAR_FILENAME)).andReturn( ! mockInstalledFrameworkJarFile); ! expect(mockUpdateUtil.getFile(mockSquirrelPluginsDirFile, DBCOPY_ZIP_FILENAME)).andReturn( ! mockInstalledDbCopyZipFile); expect(mockUpdateUtil.getFile(mockSquirreLLibDirFile, SQUIRREL_SQL_ES_JAR_FILENAME )).andReturn( ! mockInstalledDbCopyZipFile); ! /* expect getFile for updated files that were downloaded */ expect(mockUpdateUtil.getFile(mockDownloadsCoreDirFile, SQUIRREL_SQL_JAR_FILENAME)).andReturn( mockDownloadsSquirrelSqlJarFile); expect(mockUpdateUtil.getFile(mockDownloadsCoreDirFile, FW_JAR_FILENAME)).andReturn( mockDownloadsFrameworkJarFile); expect(mockUpdateUtil.getFile(mockDownloadsCoreDirFile, SPRING_JAR_FILENAME)).andReturn( mockDownloadsSpringJarFile); expect(mockUpdateUtil.getFile(mockDownloadsPluginDirFile, DBCOPY_ZIP_FILENAME)).andReturn( ! mockDownloadsDbCopyPluginZipFile); expect(mockUpdateUtil.getFile(mockDownloadsI18nDirFile, SQUIRREL_SQL_ES_JAR_FILENAME)).andReturn( mockDownloadsSquirrelSqlEsJarFile); /* expected fileOperationInfos for files that will be installed */ ! expect( ! mockInstallFileOperationInfoFactory.create(mockDownloadsSquirrelSqlJarFile, mockSquirreHomeDirFile)).andReturn( ! mockInstallSquirrelSqlJarOperationInfo); ! expect(mockInstallFileOperationInfoFactory.create(mockDownloadsFrameworkJarFile, mockSquirreLLibDirFile)).andReturn( ! mockInstallFrameworkJarOperationInfo); ! expect(mockInstallFileOperationInfoFactory.create(mockDownloadsSpringJarFile, mockSquirreLLibDirFile)).andReturn( ! mockInstallSpringJarOperationInfo); ! expect( ! mockInstallFileOperationInfoFactory.create(mockDownloadsDbCopyPluginZipFile, mockSquirrelPluginsDirFile)).andReturn( ! mockInstallDbCopyZipOperationInfo); ! expect( ! mockInstallFileOperationInfoFactory.create(mockDownloadsSquirrelSqlEsJarFile, mockSquirreLLibDirFile)).andReturn( ! mockInstallSquirrelSqlEsOperationInfo); ! ! helper.replayAll(); implUnderTest.setChangeList(mockChangeListBean); --- 354,417 ---- expect(mockUpdateUtil.getFile(mockSquirreHomeDirFile, SQUIRREL_SQL_JAR_FILENAME)).andReturn( mockInstalledSquirrelSqlJarFile); + expect(mockInstalledSquirrelSqlJarFile.exists()).andReturn(true).anyTimes(); + expect(mockUpdateUtil.deleteFile(mockInstalledSquirrelSqlJarFile)).andReturn(true); + expect(mockUpdateUtil.getFile(mockSquirreLLibDirFile, FW_JAR_FILENAME)).andReturn( mockInstalledFrameworkJarFile); + expect(mockInstalledFrameworkJarFile.exists()).andReturn(true).anyTimes(); + expect(mockUpdateUtil.deleteFile(mockInstalledFrameworkJarFile)).andReturn(true); + expect(mockUpdateUtil.getFile(mockSquirreLLibDirFile, SPRING_JAR_FILENAME)).andReturn( ! mockInstalledSpringJarFile); ! expect(mockInstalledSpringJarFile.exists()).andReturn(true).anyTimes(); ! expect(mockUpdateUtil.deleteFile(mockInstalledSpringJarFile)).andReturn(true); ! expect(mockUpdateUtil.getFile(mockSquirreLLibDirFile, SQUIRREL_SQL_ES_JAR_FILENAME )).andReturn( ! mockInstalledSquirrelSqlEsJarFile); ! expect(mockInstalledSquirrelSqlEsJarFile.exists()).andReturn(false); /* expect getFile for updated files that were downloaded */ expect(mockUpdateUtil.getFile(mockDownloadsCoreDirFile, SQUIRREL_SQL_JAR_FILENAME)).andReturn( mockDownloadsSquirrelSqlJarFile); + expect(mockUpdateUtil.getFile(mockDownloadsCoreDirFile, FW_JAR_FILENAME)).andReturn( mockDownloadsFrameworkJarFile); + expect(mockUpdateUtil.getFile(mockDownloadsCoreDirFile, SPRING_JAR_FILENAME)).andReturn( mockDownloadsSpringJarFile); + expect(mockUpdateUtil.getFile(mockDownloadsPluginDirFile, DBCOPY_ZIP_FILENAME)).andReturn( ! mockDownloadsDbCopyPluginZipFile).anyTimes(); ! ! expect(mockUpdateUtil.getFile(mockSquirrelPluginsDirFile, DBCOPY_JAR_FILENAME)).andReturn( ! mockPathToInstalledDBCopyJarFile); ! expect(mockPathToInstalledDBCopyJarFile.exists()).andReturn(true); ! expect(mockUpdateUtil.deleteFile(mockPathToInstalledDBCopyJarFile)).andReturn(true); ! ! expect(mockUpdateUtil.getFile(mockSquirrelPluginsDirFile, DBCOPY_DIR_FILENAME)).andReturn( ! mockPathToInstalledDBCopyDirectory); ! expect(mockPathToInstalledDBCopyDirectory.exists()).andReturn(true); ! ! expect(mockUpdateUtil.deleteFile(mockPathToInstalledDBCopyDirectory)).andReturn(true); ! expect(mockUpdateUtil.getFile(mockDownloadsI18nDirFile, SQUIRREL_SQL_ES_JAR_FILENAME)).andReturn( mockDownloadsSquirrelSqlEsJarFile); + boolean isPlugin = true; + boolean isNotPlugin = false; /* expected fileOperationInfos for files that will be installed */ ! setupFileCopyOperationInfo(mockDownloadsSquirrelSqlJarFile, mockSquirreHomeDirFile, ! mockInstallSquirrelSqlJarOperationInfo, isNotPlugin); ! setupFileCopyOperationInfo(mockDownloadsFrameworkJarFile, mockSquirreLLibDirFile, ! mockInstallFrameworkJarOperationInfo, isNotPlugin); ! setupFileCopyOperationInfo(mockDownloadsSpringJarFile, mockSquirreLLibDirFile, ! mockInstallSpringJarOperationInfo, isNotPlugin); ! setupFileCopyOperationInfo(mockDownloadsDbCopyPluginZipFile, mockSquirrelPluginsDirFile, ! mockInstallDbCopyZipOperationInfo, isPlugin); ! setupFileCopyOperationInfo(mockDownloadsSquirrelSqlEsJarFile, mockSquirreLLibDirFile, ! mockInstallSquirrelSqlEsOperationInfo, isNotPlugin); ! helper.replayAll(); implUnderTest.setChangeList(mockChangeListBean); *************** *** 294,297 **** --- 421,432 ---- } + private void setupFileCopyOperationInfo(File downloadsFile, File installDir, InstallFileOperationInfo info, boolean isPlugin) throws IOException { + expect(mockInstallFileOperationInfoFactory.create(downloadsFile, installDir)).andReturn(info); + expect(info.getInstallDir()).andReturn(installDir); + expect(info.getFileToInstall()).andReturn(downloadsFile); + info.setPlugin(isPlugin); + mockUpdateUtil.copyFile(downloadsFile, installDir); + } + @Test public void testDisallowCoreTypeFileRemoval() throws Exception { |