|
From: <ian...@us...> - 2007-09-04 23:28:00
|
Revision: 359
http://ogoglio.svn.sourceforge.net/ogoglio/?rev=359&view=rev
Author: iansmith
Date: 2007-09-04 16:28:02 -0700 (Tue, 04 Sep 2007)
Log Message:
-----------
Deleting the database in a test now implies destroying media files as well.
Modified Paths:
--------------
maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/migrate/MigrationSupport.java
maven/trunk/ogoglio-server/src/test/java/com/ogoglio/persist/test/PersistTest.java
maven/trunk/ogoglio-server/src/test/resources/basic-config.properties
Property Changed:
----------------
maven/trunk/ogoglio-integration-test/
Modified: maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/migrate/MigrationSupport.java
===================================================================
--- maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/migrate/MigrationSupport.java 2007-09-04 19:00:02 UTC (rev 358)
+++ maven/trunk/ogoglio-appdev/src/main/java/com/ogoglio/appdev/migrate/MigrationSupport.java 2007-09-04 23:28:02 UTC (rev 359)
@@ -1,5 +1,7 @@
package com.ogoglio.appdev.migrate;
+import java.io.File;
+
import javax.naming.Context;
import javax.naming.NamingException;
import javax.servlet.ServletConfig;
@@ -189,6 +191,27 @@
return false;
}
- return tryUpgrade(null, null, 0, getVersionNumber(), DDL_MODE_CREATE, false, ps);
+ if (tryUpgrade(null, null, 0, getVersionNumber(), DDL_MODE_CREATE, false, ps)==false) {
+ Log.error("Aborted destroying data after failure to upgrade");
+ return false;
+ }
+ ps.loadPropertySet(PropStorage.BASIC_PROPS);
+ String dir = ps.getKeyFromSet(PropStorage.BASIC_PROPS, "ogoglio.mediaDirectory");
+ if (dir==null) {
+ Log.error("Can't find a property ogoglio.mediaDirectory to cleanse media store");
+ return false;
+ }
+ File store = new File(dir);
+ if ((!store.exists()) || (!store.canWrite())) {
+ Log.error("Media directory doesn't exist or can't be changed:"+dir);
+ return false;
+ }
+ File[] children= store.listFiles();
+ for (int i=0; i<children.length;++i) {
+ if (children[i].delete()!=true) {
+ Log.error("Failed to delete media file:"+children[i].getAbsolutePath());
+ }
+ }
+ return true;
}
}
Property changes on: maven/trunk/ogoglio-integration-test
___________________________________________________________________
Name: svn:ignore
- target
+ target
tomcat5x.out
Modified: maven/trunk/ogoglio-server/src/test/java/com/ogoglio/persist/test/PersistTest.java
===================================================================
--- maven/trunk/ogoglio-server/src/test/java/com/ogoglio/persist/test/PersistTest.java 2007-09-04 19:00:02 UTC (rev 358)
+++ maven/trunk/ogoglio-server/src/test/java/com/ogoglio/persist/test/PersistTest.java 2007-09-04 23:28:02 UTC (rev 359)
@@ -13,12 +13,16 @@
limitations under the License. */
package com.ogoglio.persist.test;
+import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import com.ogoglio.appdev.migrate.MigrationSupport;
import com.ogoglio.appdev.migrate.test.DBZapTest;
import com.ogoglio.appdev.persist.PersistException;
+import com.ogoglio.client.WebAPIClient;
+import com.ogoglio.client.WebAPIDescriptor;
+import com.ogoglio.media.MediaService;
import com.ogoglio.migrate.OgoglioServerMigration;
import com.ogoglio.persist.AccountPersistTasks;
import com.ogoglio.persist.AccountRecord;
@@ -33,6 +37,7 @@
import com.ogoglio.persist.TemplatePersistTasks;
import com.ogoglio.persist.TemplateRecord;
import com.ogoglio.util.Log;
+import com.ogoglio.util.PropStorage;
public class PersistTest extends DBZapTest {
@@ -162,6 +167,29 @@
fail("Should have just returned null instead of failed: " + e);
}
}
+
+ public void testMediaDirectoryEmptiedByParentClass() {
+ PropStorage ps=new PropStorage();
+ if (ps.loadPropertySet(PropStorage.BASIC_PROPS)==false) {
+ fail("couldn't load properties for test");
+ }
+
+ try {
+ String key=ps.getKeyFromSet(PropStorage.BASIC_PROPS, "ogoglio.mediaDirectory");
+ if (key==null) {
+ fail("no test property ogoglio.mediaDirectory");
+ }
+ MediaService svc = new MediaService(new URI(key));
+ if (svc==null) {
+ fail("can't create a media service:"+key);
+ }
+ assertEquals(0,svc.getAllNames().length);
+ } catch (IOException e) {
+ fail("IOException talking to media service:"+e.getMessage());
+ } catch (URISyntaxException e) {
+ fail("URISytaxException talking to media service:"+e.getMessage());
+ }
+ }
private SpaceRecord checkSpaceAndSimTasks() throws PersistException {
SimRecord simRecord1;
// ok to create sim now on that URI
Modified: maven/trunk/ogoglio-server/src/test/resources/basic-config.properties
===================================================================
--- maven/trunk/ogoglio-server/src/test/resources/basic-config.properties 2007-09-04 19:00:02 UTC (rev 358)
+++ maven/trunk/ogoglio-server/src/test/resources/basic-config.properties 2007-09-04 23:28:02 UTC (rev 359)
@@ -1,4 +1,4 @@
# basic info needed for some tests
ogoglio.testSpaceNumber = ${ogoglio.testSpaceNumber}
ogoglio.baseUrl = ${ogoglio.baseURL}
-
+ogoglio.mediaDirectory = ${ogoglio.mediaDirectory}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|