Revision: 5945
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=5945&view=rev
Author: manningr
Date: 2010-10-30 18:06:17 +0000 (Sat, 30 Oct 2010)
Log Message:
-----------
Fixed a bug which caused the new release.xml file to not be properly copied to the downloads folder during update when the update site is a local site.
Modified Paths:
--------------
trunk/sql12/app/src/test/java/net/sourceforge/squirrel_sql/client/update/UpdateControllerImplTest.java
Modified: trunk/sql12/app/src/test/java/net/sourceforge/squirrel_sql/client/update/UpdateControllerImplTest.java
===================================================================
--- trunk/sql12/app/src/test/java/net/sourceforge/squirrel_sql/client/update/UpdateControllerImplTest.java 2010-10-30 18:05:44 UTC (rev 5944)
+++ trunk/sql12/app/src/test/java/net/sourceforge/squirrel_sql/client/update/UpdateControllerImplTest.java 2010-10-30 18:06:17 UTC (rev 5945)
@@ -18,7 +18,9 @@
*/
package net.sourceforge.squirrel_sql.client.update;
+import static net.sourceforge.squirrel_sql.client.update.UpdateUtil.RELEASE_XML_FILENAME;
import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
import static org.easymock.EasyMock.isA;
import static org.junit.Assert.assertFalse;
@@ -31,7 +33,6 @@
import net.sourceforge.squirrel_sql.client.preferences.IUpdateSettings;
import net.sourceforge.squirrel_sql.client.preferences.SquirrelPreferences;
import net.sourceforge.squirrel_sql.client.preferences.UpdateSettings;
-import net.sourceforge.squirrel_sql.client.preferences.UpdateChannelComboBoxEntry.ChannelType;
import net.sourceforge.squirrel_sql.client.update.downloader.ArtifactDownloader;
import net.sourceforge.squirrel_sql.client.update.downloader.ArtifactDownloaderFactory;
import net.sourceforge.squirrel_sql.client.update.gui.ArtifactAction;
@@ -39,6 +40,7 @@
import net.sourceforge.squirrel_sql.client.update.xmlbeans.ChannelXmlBean;
import net.sourceforge.squirrel_sql.client.update.xmlbeans.ReleaseXmlBean;
import net.sourceforge.squirrel_sql.fw.util.FileWrapper;
+import net.sourceforge.squirrel_sql.fw.util.FileWrapperFactory;
import net.sourceforge.squirrel_sql.fw.util.ProxySettings;
import org.junit.After;
@@ -47,13 +49,17 @@
import utils.EasyMockHelper;
-public class UpdateControllerImplTest extends BaseSQuirreLJUnit4TestCase {
+public class UpdateControllerImplTest extends BaseSQuirreLJUnit4TestCase
+{
- private static final String TEST_CHANNEL = "testchannel";
+ private static final String TEST_CHANNEL = "testchannel";
+
private static final String TEST_PATH = "testPath";
+
private static final int TEST_UPDATE_SERVER_PORT = 80;
- private static final String TEST_UPDATE_SERVER_PORT_STR = "80";
-
+
+ private static final String TEST_UPDATE_SERVER_PORT_STR = "80";
+
private static final String TEST_UPDATE_SERVER = "testUpdateServer";
private static final String FILE_SYSTEM_UPDATE_PATH = "fileSystemUpdatePath";
@@ -61,113 +67,144 @@
private static final String LOCAL_RELEASE_FILENAME = UpdateUtil.RELEASE_XML_FILENAME;
UpdateControllerImpl underTest = null;
-
- EasyMockHelper mockHelper = new EasyMockHelper();
-
- /* Mock objects */
- IApplication mockApplication = null;
- SquirrelPreferences mockSquirrelPreferences = null;
- IUpdateSettings mockUpdateSettings = null;
- UpdateUtil mockUpdateUtil = null;
- ChannelXmlBean mockInstalledChannelXmlBean = null;
- ChannelXmlBean mockAvailableChannelXmlBean = null;
- IPluginManager mockPluginManager = null;
- FileWrapper mockLocalReleaseFile = null;
-
- @Before
- public void setUp() throws Exception {
-
- mockApplication = mockHelper.createMock("mockApplication", IApplication.class);
- mockUpdateSettings = mockHelper.createMock("mockUpdateSettings", UpdateSettings.class);
- mockSquirrelPreferences = mockHelper.createMock("mockSquirrelPreferences", SquirrelPreferences.class);
- mockPluginManager = mockHelper.createMock("mockPluginManager", IPluginManager.class);
- mockInstalledChannelXmlBean = setupSnapshotChannelXmlBean("Installed");
- mockAvailableChannelXmlBean = mockHelper.createMock(ChannelXmlBean.class);
- mockLocalReleaseFile = mockHelper.createMock("mockLocalReleaseFile", FileWrapper.class);
- expect(mockLocalReleaseFile.getAbsolutePath()).andStubReturn(LOCAL_RELEASE_FILENAME);
- }
- private IUpdateSettings setupUpdateSettings(boolean isRemoteUpdateSite)
+ EasyMockHelper mockHelper = new EasyMockHelper();
+
+ /* Mock objects */
+ IApplication mockApplication = null;
+
+ SquirrelPreferences mockSquirrelPreferences = null;
+
+ IUpdateSettings mockUpdateSettings = null;
+
+ UpdateUtil mockUpdateUtil = null;
+
+ ChannelXmlBean mockInstalledChannelXmlBean = null;
+
+ ChannelXmlBean mockAvailableChannelXmlBean = null;
+
+ IPluginManager mockPluginManager = null;
+
+ FileWrapper mockLocalReleaseFile = null;
+
+ FileWrapper mockLocalUpdateReleaseFile = null;
+
+ FileWrapper mockDownloadsDir = null;
+
+ FileWrapper mockDownloadReleaseXmlFile = null;
+
+ FileWrapperFactory mockFileWrapperFactory = null;
+
+ @Before
+ public void setUp() throws Exception
{
- IUpdateSettings result = mockHelper.createMock(IUpdateSettings.class);
- expect(result.getUpdateServerPath()).andStubReturn("pathForUpdates");
- expect(result.getFileSystemUpdatePath()).andStubReturn(FILE_SYSTEM_UPDATE_PATH);
- expect(result.isRemoteUpdateSite()).andStubReturn(isRemoteUpdateSite);
+
+ mockApplication = mockHelper.createMock("mockApplication", IApplication.class);
+ mockUpdateSettings = mockHelper.createMock("mockUpdateSettings", UpdateSettings.class);
+ mockSquirrelPreferences = mockHelper.createMock("mockSquirrelPreferences", SquirrelPreferences.class);
+ mockPluginManager = mockHelper.createMock("mockPluginManager", IPluginManager.class);
+ mockInstalledChannelXmlBean = setupSnapshotChannelXmlBean("Installed");
+ mockAvailableChannelXmlBean = mockHelper.createMock("mockAvailableChannelXmlBean", ChannelXmlBean.class);
+ mockLocalReleaseFile = mockHelper.createMock("mockLocalReleaseFile", FileWrapper.class);
+ mockFileWrapperFactory = mockHelper.createMock("mockFileWrapperFactory", FileWrapperFactory.class);
+ mockLocalUpdateReleaseFile = mockHelper.createMock("mockLocalUpdateReleaseFile", FileWrapper.class);
+ mockDownloadsDir = mockHelper.createMock("mockDownloadsDir", FileWrapper.class);
+ mockDownloadReleaseXmlFile = mockHelper.createMock("mockDownloadReleaseXmlFile", FileWrapper.class);
+ expect(mockLocalReleaseFile.getAbsolutePath()).andStubReturn(LOCAL_RELEASE_FILENAME);
+ }
+
+ private IUpdateSettings setupUpdateSettings(boolean isRemoteUpdateSite)
+ {
+ IUpdateSettings result = mockHelper.createMock("mockUpdateSettings", IUpdateSettings.class);
+ expect(result.getUpdateServerPath()).andStubReturn("pathForUpdates");
+ expect(result.getFileSystemUpdatePath()).andStubReturn(FILE_SYSTEM_UPDATE_PATH);
+ expect(result.isRemoteUpdateSite()).andStubReturn(isRemoteUpdateSite);
return result;
}
- private void replayAll() {
- mockHelper.replayAll();
- }
-
- private void verifyAll() {
- mockHelper.verifyAll();
- }
-
- @After
- public void tearDown() throws Exception {
-
- }
+ private void replayAll()
+ {
+ mockHelper.replayAll();
+ }
- @Test
- public void testIsUpToDateLocalSiteUpdatesAvailable() throws Exception {
-
- /* setup expectations */
- mockUpdateUtil =
+ private void verifyAll()
+ {
+ mockHelper.verifyAll();
+ }
+
+ @After
+ public void tearDown() throws Exception
+ {
+
+ }
+
+ @Test
+ public void testIsUpToDateLocalSiteUpdatesAvailable() throws Exception
+ {
+
+ /* setup expectations */
+ mockUpdateUtil =
setupUpdateUtilLocalUpdateSite(mockInstalledChannelXmlBean, mockAvailableChannelXmlBean);
- boolean isRemoteUpdateSite = false;
- mockUpdateSettings = setupUpdateSettings(isRemoteUpdateSite);
- ChannelType type = ChannelType.SNAPSHOT;
- expect(mockUpdateSettings.getUpdateServerChannel()).andReturn(type.name());
-
- expect(mockApplication.getPluginManager()).andReturn(mockPluginManager).anyTimes();
- expect(mockApplication.getSquirrelPreferences()).andReturn(mockSquirrelPreferences).anyTimes();
- expect(mockSquirrelPreferences.getUpdateSettings()).andReturn(mockUpdateSettings).anyTimes();
- mockSquirrelPreferences.setUpdateSettings(mockUpdateSettings);
- mockUpdateSettings.setLastUpdateCheckTimeMillis(isA(String.class));
-
- replayAll();
-
- underTest = new UpdateControllerImpl(mockApplication);
- underTest.setUpdateUtil(mockUpdateUtil);
- boolean result = underTest.isUpToDate();
- assertFalse(result);
- verifyAll();
-
- }
-
- @Test
- public void testIsUpToDate_RemoteSiteUpdatesAvailable() throws Exception {
- /* setup expectations */
- mockUpdateUtil =
+ boolean isRemoteUpdateSite = false;
+ mockUpdateSettings = setupUpdateSettings(isRemoteUpdateSite);
+
+ expect(mockApplication.getPluginManager()).andReturn(mockPluginManager).anyTimes();
+ expect(mockApplication.getSquirrelPreferences()).andReturn(mockSquirrelPreferences).anyTimes();
+ expect(mockSquirrelPreferences.getUpdateSettings()).andReturn(mockUpdateSettings).anyTimes();
+ mockSquirrelPreferences.setUpdateSettings(mockUpdateSettings);
+ mockUpdateSettings.setLastUpdateCheckTimeMillis(isA(String.class));
+ expect(mockFileWrapperFactory.create(FILE_SYSTEM_UPDATE_PATH, RELEASE_XML_FILENAME)).andReturn(
+ mockLocalUpdateReleaseFile);
+ expect(mockFileWrapperFactory.create(mockDownloadsDir, RELEASE_XML_FILENAME)).andReturn(
+ mockDownloadReleaseXmlFile);
+ mockUpdateUtil.copyFile(mockLocalUpdateReleaseFile, mockDownloadReleaseXmlFile);
+ expectLastCall().times(1);
+
+ replayAll();
+
+ underTest = new UpdateControllerImpl(mockApplication);
+ underTest.setUpdateUtil(mockUpdateUtil);
+ underTest.setFileWrapperFactory(mockFileWrapperFactory);
+ boolean result = underTest.isUpToDate();
+ assertFalse(result);
+ verifyAll();
+
+ }
+
+ @Test
+ public void testIsUpToDate_RemoteSiteUpdatesAvailable() throws Exception
+ {
+ /* setup expectations */
+ mockUpdateUtil =
setupUpdateUtilRemoteUpdateSite(mockInstalledChannelXmlBean, mockAvailableChannelXmlBean);
- boolean isRemoteUpdateSite = true;
- mockUpdateSettings = setupUpdateSettings(isRemoteUpdateSite);
+ boolean isRemoteUpdateSite = true;
+ mockUpdateSettings = setupUpdateSettings(isRemoteUpdateSite);
- underTest = new UpdateControllerImpl(mockApplication);
-
- }
-
- @Test
- public void testPullDownUpdateFiles_remoteSite() {
-
- List<ArtifactStatus> artifactStatusList = new ArrayList<ArtifactStatus>();
- ArtifactStatus mockArtifactStatus = mockHelper.createMock("mockArtifactStatus", ArtifactStatus.class);
-
- DownloadStatusEventHandler mockDownloadStatusListener =
- mockHelper.createMock("mockDownloadStatusEventHandler", DownloadStatusEventHandler.class);
- ProxySettings mockProxySettings = mockHelper.createMock("mockProxySettings", ProxySettings.class);
- ArtifactDownloaderFactory mockArtifactDownloaderFactory =
- mockHelper.createMock("ArtifactDownloaderFactory", ArtifactDownloaderFactory.class);
- ArtifactDownloader mockArtifactDownloader =
+ underTest = new UpdateControllerImpl(mockApplication);
+
+ }
+
+ @Test
+ public void testPullDownUpdateFiles_remoteSite()
+ {
+
+ List<ArtifactStatus> artifactStatusList = new ArrayList<ArtifactStatus>();
+ ArtifactStatus mockArtifactStatus = mockHelper.createMock("mockArtifactStatus", ArtifactStatus.class);
+
+ DownloadStatusEventHandler mockDownloadStatusListener =
+ mockHelper.createMock("mockDownloadStatusEventHandler", DownloadStatusEventHandler.class);
+ ProxySettings mockProxySettings = mockHelper.createMock("mockProxySettings", ProxySettings.class);
+ ArtifactDownloaderFactory mockArtifactDownloaderFactory =
+ mockHelper.createMock("ArtifactDownloaderFactory", ArtifactDownloaderFactory.class);
+ ArtifactDownloader mockArtifactDownloader =
mockHelper.createMock("mockArtifactDownloader", ArtifactDownloader.class);
-
- expect(mockArtifactStatus.getArtifactAction()).andStubReturn(ArtifactAction.INSTALL);
-
- artifactStatusList.add(mockArtifactStatus);
+ expect(mockArtifactStatus.getArtifactAction()).andStubReturn(ArtifactAction.INSTALL);
+
+ artifactStatusList.add(mockArtifactStatus);
+
expect(mockArtifactDownloaderFactory.create(artifactStatusList)).andStubReturn(mockArtifactDownloader);
-
+
mockArtifactDownloader.setUtil(mockUpdateUtil);
mockArtifactDownloader.setProxySettings(mockProxySettings);
mockArtifactDownloader.setIsRemoteUpdateSite(true);
@@ -179,59 +216,62 @@
mockArtifactDownloader.setChannelName(TEST_CHANNEL);
mockArtifactDownloader.setReleaseVersionWillChange(true);
mockArtifactDownloader.start();
-
-
+
mockDownloadStatusListener.setDownloader(mockArtifactDownloader);
-
+
expect(mockApplication.getSquirrelPreferences()).andStubReturn(mockSquirrelPreferences);
expect(mockSquirrelPreferences.getProxySettings()).andStubReturn(mockProxySettings);
expect(mockSquirrelPreferences.getUpdateSettings()).andStubReturn(mockUpdateSettings);
-
+
expect(mockUpdateSettings.isRemoteUpdateSite()).andStubReturn(true);
expect(mockUpdateSettings.getUpdateServer()).andStubReturn(TEST_UPDATE_SERVER);
expect(mockUpdateSettings.getUpdateServerPort()).andStubReturn(TEST_UPDATE_SERVER_PORT_STR);
expect(mockUpdateSettings.getUpdateServerPath()).andStubReturn(TEST_PATH);
expect(mockUpdateSettings.getFileSystemUpdatePath()).andStubReturn("");
expect(mockUpdateSettings.getUpdateServerChannel()).andStubReturn(TEST_CHANNEL);
-
- replayAll();
-
- underTest = new UpdateControllerImpl(mockApplication);
- underTest.setArtifactDownloaderFactory(mockArtifactDownloaderFactory);
- underTest.pullDownUpdateFiles(artifactStatusList, mockDownloadStatusListener, true);
-
- verifyAll();
- }
-
- private UpdateUtil setupUpdateUtilLocalUpdateSite(ChannelXmlBean installed, ChannelXmlBean available)
+
+ replayAll();
+
+ underTest = new UpdateControllerImpl(mockApplication);
+ underTest.setArtifactDownloaderFactory(mockArtifactDownloaderFactory);
+ underTest.pullDownUpdateFiles(artifactStatusList, mockDownloadStatusListener, true);
+
+ verifyAll();
+ }
+
+ private UpdateUtil setupUpdateUtilLocalUpdateSite(ChannelXmlBean installed, ChannelXmlBean available)
throws Exception
{
UpdateUtil mockUpdateUtil = setupUpdateUtil();
expect(mockUpdateUtil.getLocalReleaseFile()).andStubReturn(mockLocalReleaseFile);
expect(mockUpdateUtil.getLocalReleaseInfo(LOCAL_RELEASE_FILENAME)).andStubReturn(installed);
expect(mockUpdateUtil.loadUpdateFromFileSystem(FILE_SYSTEM_UPDATE_PATH)).andReturn(available);
+ expect(mockUpdateUtil.getDownloadsDir()).andReturn(mockDownloadsDir).anyTimes();
return mockUpdateUtil;
}
- private UpdateUtil setupUpdateUtilRemoteUpdateSite(ChannelXmlBean installed, ChannelXmlBean available)
+ private UpdateUtil setupUpdateUtilRemoteUpdateSite(ChannelXmlBean installed, ChannelXmlBean available)
throws Exception
{
- UpdateUtil mockUpdateUtil = setupUpdateUtil();
- return mockUpdateUtil;
+ UpdateUtil mockUpdateUtil = setupUpdateUtil();
+ return mockUpdateUtil;
}
-
- private UpdateUtil setupUpdateUtil() {
- UpdateUtil mockUpdateUtil = mockHelper.createMock(UpdateUtil.class);
+
+ private UpdateUtil setupUpdateUtil()
+ {
+ UpdateUtil mockUpdateUtil = mockHelper.createMock("mockUpdateUtil", UpdateUtil.class);
mockUpdateUtil.setPluginManager(mockPluginManager);
return mockUpdateUtil;
- }
-
-
- private ChannelXmlBean setupSnapshotChannelXmlBean(String name) {
- ChannelXmlBean mockChannelXmlBean = mockHelper.createMock("mock"+name+"ChannelXmlBean", ChannelXmlBean.class);
- ReleaseXmlBean mockReleaseXmlBean = mockHelper.createMock("mock"+name+"ReleaseXmlBean", ReleaseXmlBean.class);
- expect(mockChannelXmlBean.getName()).andStubReturn("Snapshot");
- expect(mockChannelXmlBean.getCurrentRelease()).andStubReturn(mockReleaseXmlBean);
- return mockChannelXmlBean;
- }
+ }
+
+ private ChannelXmlBean setupSnapshotChannelXmlBean(String name)
+ {
+ ChannelXmlBean mockChannelXmlBean =
+ mockHelper.createMock("mock" + name + "ChannelXmlBean", ChannelXmlBean.class);
+ ReleaseXmlBean mockReleaseXmlBean =
+ mockHelper.createMock("mock" + name + "ReleaseXmlBean", ReleaseXmlBean.class);
+ expect(mockChannelXmlBean.getName()).andStubReturn("Snapshot");
+ expect(mockChannelXmlBean.getCurrentRelease()).andStubReturn(mockReleaseXmlBean);
+ return mockChannelXmlBean;
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|