Index: test/edu/ucsb/nceas/metacattest/AuthLdapTest.java
===================================================================
--- test/edu/ucsb/nceas/metacattest/AuthLdapTest.java	(revision 4383)
+++ test/edu/ucsb/nceas/metacattest/AuthLdapTest.java	(revision 4384)
@@ -24,13 +24,10 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 package edu.ucsb.nceas.metacattest;
-import java.io.File;
 
+import edu.ucsb.nceas.MCTestCase;
 import edu.ucsb.nceas.metacat.AuthLdap;
-import edu.ucsb.nceas.metacat.service.PropertyService;
-import edu.ucsb.nceas.metacat.util.MetaCatUtil;
 import junit.framework.Test;
-import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 
@@ -37,27 +34,12 @@
 /*
  * A junit test class to test public methods in AuthLdap class.
  */
-public class AuthLdapTest extends TestCase
+public class AuthLdapTest extends MCTestCase
 {
 	// Constants
 	private static final String USER = "uid=kepler,o=unaffiliated,dc=ecoinformatics,dc=org";
 	private static final String PASS   = "kepler";
 	
-	
-	private MetaCatUtil util;
-    /* Initialize properties*/
-    static
-    {
-  	  try
-  	  {
-  		PropertyService.getInstance("build/tests");
-  	  }
-  	  catch(Exception e)
-  	  {
-  		  System.err.println("Exception in initialize option in MetacatServletNetTest "+e.getMessage());
-  	  }
-    }
-	
 	/**
      * Constructor to build the test
      *
Index: test/edu/ucsb/nceas/metacattest/SitemapTest.java
===================================================================
--- test/edu/ucsb/nceas/metacattest/SitemapTest.java	(revision 4383)
+++ test/edu/ucsb/nceas/metacattest/SitemapTest.java	(revision 4384)
@@ -30,19 +30,16 @@
 import java.io.FileReader;
 import java.io.IOException;
 
+import edu.ucsb.nceas.MCTestCase;
 import edu.ucsb.nceas.metacat.DBConnectionPool;
 import edu.ucsb.nceas.metacat.Sitemap;
-import edu.ucsb.nceas.metacat.service.PropertyService;
-import edu.ucsb.nceas.metacat.service.ServiceException;
 
-import junit.framework.TestCase;
-
 /**
  * Test the Sitemap class by generating the sitemaps in a separate directory.
  * 
  * @author Matt Jones
  */
-public class SitemapTest extends TestCase {
+public class SitemapTest extends MCTestCase {
 
     private String directoryName = "/tmp/sitemaps";
 
@@ -51,12 +48,8 @@
      */
     protected void setUp() throws Exception {
         super.setUp();
-        try {
-  		  	PropertyService.getInstance("build/tests");
-            DBConnectionPool pool = DBConnectionPool.getInstance();
-        } catch (ServiceException se) {
-            fail(se.getMessage());
-        }
+
+        DBConnectionPool pool = DBConnectionPool.getInstance();
     }
 
     /**
Index: test/edu/ucsb/nceas/metacattest/SubTreeTest.java
===================================================================
--- test/edu/ucsb/nceas/metacattest/SubTreeTest.java	(revision 4383)
+++ test/edu/ucsb/nceas/metacattest/SubTreeTest.java	(revision 4384)
@@ -26,13 +26,14 @@
 
 package edu.ucsb.nceas.metacattest;
 
+import edu.ucsb.nceas.MCTestCase;
 import edu.ucsb.nceas.metacat.*;
 import edu.ucsb.nceas.metacat.service.PropertyService;
 import edu.ucsb.nceas.metacat.util.MetaCatUtil;
+
 import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestResult;
 import junit.framework.TestSuite;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -42,7 +43,7 @@
 /**
  * A JUnit test for testing Step class processing
  */
-public class SubTreeTest extends TestCase
+public class SubTreeTest extends MCTestCase
 {
   private SubTree tree = null;
   private static final Log log = LogFactory.getLog("edu.ucsb.nceas.metacattest.ReplicationServerListTest");
@@ -51,7 +52,6 @@
   {
 	  try
 	  {
-		  PropertyService.getInstance("build/tests");
 		  MetaCatUtil.pathsForIndexing 
 		         = MetaCatUtil.getOptionList(PropertyService.getProperty("xml.indexPaths"));
 	  }
Index: test/edu/ucsb/nceas/metacattest/QueryResultBuilderTest.java
===================================================================
--- test/edu/ucsb/nceas/metacattest/QueryResultBuilderTest.java	(revision 4383)
+++ test/edu/ucsb/nceas/metacattest/QueryResultBuilderTest.java	(revision 4384)
@@ -28,12 +28,12 @@
 import java.util.Enumeration;
 import java.util.Hashtable;
 
+import edu.ucsb.nceas.MCTestCase;
 import edu.ucsb.nceas.metacat.DBConnection;
 import edu.ucsb.nceas.metacat.DBConnectionPool;
 import edu.ucsb.nceas.metacat.service.PropertyService;
 
 import junit.framework.Test;
-import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 
@@ -43,7 +43,7 @@
  * Test class for getting idea how long it will take - to build 
  * records xml_queryresult table for a given return fields
  */
-public class QueryResultBuilderTest extends TestCase
+public class QueryResultBuilderTest extends MCTestCase
 {
 	/** DBConnection pool*/
 	private DBConnectionPool connPool = null;
@@ -52,18 +52,6 @@
 	/** Return field id value for above return field string in xml_returnfield*/
 	private int returnFieldId =11;
 	
-	static
-	  {
-		  try
-		  {
-			  PropertyService.getInstance("build/tests");
-		  }
-		  catch(Exception e)
-		  {
-			  System.err.println("Exception in initialize option in MetacatServletNetTest "+e.getMessage());
-		  }
-	  }
-	
 	/**
      * Create a suite of tests to be run together
      */
Index: test/edu/ucsb/nceas/metacattest/QueryGroupTest.java
===================================================================
--- test/edu/ucsb/nceas/metacattest/QueryGroupTest.java	(revision 4383)
+++ test/edu/ucsb/nceas/metacattest/QueryGroupTest.java	(revision 4384)
@@ -24,9 +24,9 @@
 package edu.ucsb.nceas.metacattest;
 
 import junit.framework.Test;
-import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
+import edu.ucsb.nceas.MCTestCase;
 import edu.ucsb.nceas.metacat.QueryGroup;
 import edu.ucsb.nceas.metacat.QueryTerm;
 import edu.ucsb.nceas.metacat.service.PropertyService;
@@ -37,7 +37,7 @@
  * 
  * Test the output of the QuerySpecification class
  */
-public class QueryGroupTest extends TestCase
+public class QueryGroupTest extends MCTestCase
 {
 	private QueryGroup group = null;
 	 /* Initialize properties*/
@@ -45,7 +45,6 @@
     {
   	  try
   	  {
-		  PropertyService.getInstance("build/tests");
   		  MetaCatUtil.pathsForIndexing 
   		         = MetaCatUtil.getOptionList(PropertyService.getProperty("xml.indexPaths"));
   	  }
Index: test/edu/ucsb/nceas/metacattest/VersionTest.java
===================================================================
--- test/edu/ucsb/nceas/metacattest/VersionTest.java	(revision 4383)
+++ test/edu/ucsb/nceas/metacattest/VersionTest.java	(revision 4384)
@@ -23,12 +23,11 @@
  */
 package edu.ucsb.nceas.metacattest;
 
+import edu.ucsb.nceas.MCTestCase;
 import edu.ucsb.nceas.metacat.MetaCatVersion;
 import edu.ucsb.nceas.metacat.service.PropertyService;
-import edu.ucsb.nceas.metacat.service.ServiceException;
 import edu.ucsb.nceas.utilities.PropertyNotFoundException;
 
-import junit.framework.TestCase;
 
 
 /**
@@ -36,7 +35,7 @@
  *
  * Test class for the Version class.
  */
-public class VersionTest extends TestCase
+public class VersionTest extends MCTestCase
 {
     /*
      * @see TestCase#setUp()
@@ -44,11 +43,6 @@
     protected void setUp() throws Exception
     {
         super.setUp();
-        try {
-  		  	PropertyService.getInstance("build/tests");
-        } catch (ServiceException se) {
-            fail(se.getMessage());
-        } 
     }
     
     /**
Index: test/edu/ucsb/nceas/metacattest/BuildIndexTest.java
===================================================================
--- test/edu/ucsb/nceas/metacattest/BuildIndexTest.java	(revision 4383)
+++ test/edu/ucsb/nceas/metacattest/BuildIndexTest.java	(revision 4384)
@@ -34,6 +34,7 @@
 import java.util.SimpleTimeZone;
 import java.util.TimeZone;
 
+import edu.ucsb.nceas.MCTestCase;
 import edu.ucsb.nceas.metacat.DocumentImpl;
 import edu.ucsb.nceas.metacat.McdbException;
 import edu.ucsb.nceas.metacat.client.InsufficientKarmaException;
@@ -49,29 +50,23 @@
 import edu.ucsb.nceas.utilities.IOUtil;
 import edu.ucsb.nceas.utilities.PropertyNotFoundException;
 import junit.framework.Test;
-import junit.framework.TestCase;
 import junit.framework.TestSuite;
 
 /**
  * A JUnit test for testing the indexing routines for XML Paths
  */
-public class BuildIndexTest extends TestCase
-{
-    private static String metacatUrl;
-    private static String username;
+public class BuildIndexTest extends MCTestCase {
+	private static String metacatUrl;
+	private static String username;
 	private static String password;
 	static {
 		try {
-			PropertyService.getInstance("build/tests");
-		    metacatUrl = PropertyService.getProperty("test.metacatUrl");
+			metacatUrl = PropertyService.getProperty("test.metacatUrl");
 			username = PropertyService.getProperty("test.mcUser");
 			password = PropertyService.getProperty("test.mcPassword");
 		} catch (PropertyNotFoundException pnfe) {
-			System.err.println("Could not get property in static block: " 
+			System.err.println("Could not get property in static block: "
 					+ pnfe.getMessage());
-		} catch (ServiceException se) {
-			System.err.println("Could not get PropertyService instance in static block: " 
-					+ se.getMessage());
 		}
 	}
 
@@ -80,155 +75,144 @@
 	private String testfile = "test/eml-sample.xml";
 	private String testdocument = "";
 	private Metacat m;
-    /* Initialize properties */
-    static
-    {
-  	  try
-  	  {
-  		  PropertyService.getInstance("build/tests");
-  		  MetaCatUtil.pathsForIndexing 
-  		         = MetaCatUtil.getOptionList(PropertyService.getProperty("xml.indexPaths"));
-  	  }
-  	  catch(Exception e)
-  	  {
-  		  System.err.println("Exception in initialize option in MetacatServletNetTest "+e.getMessage());
-  	  }
-    }
+	/* Initialize properties */
+	static {
+		try {
+			PropertyService.getInstance("build/tests");
+			MetaCatUtil.pathsForIndexing = MetaCatUtil.getOptionList(PropertyService
+					.getProperty("xml.indexPaths"));
+		} catch (Exception e) {
+			System.err.println("Exception in initialize option in MetacatServletNetTest "
+					+ e.getMessage());
+		}
+	}
 
-    /**
-     * Constructor to build the test
-     *
-     * @param name the name of the test method
-     */
-    public BuildIndexTest(String name)
-    {
-        super(name);
-        newdocid = generateDocid();
-    }
+	/**
+	 * Constructor to build the test
+	 * 
+	 * @param name
+	 *            the name of the test method
+	 */
+	public BuildIndexTest(String name) {
+		super(name);
+		newdocid = generateDocid();
+	}
 
-    /**
-     * Establish a testing framework by initializing appropriate objects
-     */
-    public void setUp()
-    {
-        try {
-        	DatabaseService.getInstance();
-        	PropertyService.getInstance("build/tests");
-            metacatUrl = PropertyService.getProperty("test.metacatUrl");
-        } catch (ServiceException se) {
-            fail(se.getMessage());
-        } catch (PropertyNotFoundException pnfe) {
-        	fail (pnfe.getMessage());
-        }
+	/**
+	 * Establish a testing framework by initializing appropriate objects
+	 */
+	public void setUp() {
+		try {
+			DatabaseService.getInstance();
+			PropertyService.getInstance("build/tests");
+			metacatUrl = PropertyService.getProperty("test.metacatUrl");
+		} catch (ServiceException se) {
+			fail(se.getMessage());
+		} catch (PropertyNotFoundException pnfe) {
+			fail(pnfe.getMessage());
+		}
 
-        try {
-            FileReader fr = new FileReader(testfile);
-            testdocument = IOUtil.getAsString(fr, true);
-        } catch (IOException ioe) {
-            fail("Can't read test data to run the test: " + testfile);
-        }
-    }
+		try {
+			FileReader fr = new FileReader(testfile);
+			testdocument = IOUtil.getAsString(fr, true);
+		} catch (IOException ioe) {
+			fail("Can't read test data to run the test: " + testfile);
+		}
+	}
 
-    /**
-     * Release any objects after tests are complete
-     */
-    public void tearDown()
-    {
-    }
+	/**
+	 * Release any objects after tests are complete
+	 */
+	public void tearDown() {
+	}
 
-    /**
-     * Create a suite of tests to be run together
-     */
-    public static Test suite()
-    {
-      TestSuite suite = new TestSuite();
-        suite.addTest(new BuildIndexTest("initialize"));
-        suite.addTest(new BuildIndexTest("read"));
-        suite.addTest(new BuildIndexTest("buildIndex"));
-        return suite;
-    }
+	/**
+	 * Create a suite of tests to be run together
+	 */
+	public static Test suite() {
+		TestSuite suite = new TestSuite();
+		suite.addTest(new BuildIndexTest("initialize"));
+		suite.addTest(new BuildIndexTest("read"));
+		suite.addTest(new BuildIndexTest("buildIndex"));
+		return suite;
+	}
 
-    /**
-     * Run an initial test that always passes to check that the test
-     * harness is working.
-     */
-    public void initialize()
-    {
-        assertTrue(1 == 1);
-    }
+	/**
+	 * Run an initial test that always passes to check that the test harness is
+	 * working.
+	 */
+	public void initialize() {
+		assertTrue(1 == 1);
+	}
 
-    /**
-     * Test the read() function with a known document
-     */
-    public void read()
-    {
-        try {
-            System.err.println("Test Metacat: " + metacatUrl);
-            m = MetacatFactory.createMetacatConnection(metacatUrl);
-            String identifier = newdocid + ".1";
-            m.login(username, password);
-            String response = m.insert(identifier,
-                    new StringReader(testdocument), null);
-            System.err.println(response);
-            Reader r = m.read(newdocid+".1");
-            String doc = IOUtil.getAsString(r, true);
-            //doc = doc +"\n";
-            System.err.println(doc);
-            //assertTrue(doc.equals(testdocument));
-        } catch (MetacatInaccessibleException mie) {
-            System.err.println("Metacat is: " + metacatUrl);
-            fail("Metacat connection failed." + mie.getMessage());
-        } catch (MetacatAuthException mae) {
-            fail("Authorization failed:\n" + mae.getMessage());
-        } catch (InsufficientKarmaException ike) {
-            assertTrue(1 == 1);
-            fail("Insufficient karma:\n" + ike.getMessage());
-        } catch (MetacatException me) {
-            fail("Metacat Error:\n" + me.getMessage());
-        } catch (Exception e) {
-            fail("General exception:\n" + e.getMessage());
-        }
-    }
+	/**
+	 * Test the read() function with a known document
+	 */
+	public void read() {
+		try {
+			System.err.println("Test Metacat: " + metacatUrl);
+			m = MetacatFactory.createMetacatConnection(metacatUrl);
+			String identifier = newdocid + ".1";
+			m.login(username, password);
+			String response = m.insert(identifier, new StringReader(testdocument), null);
+			System.err.println(response);
+			Reader r = m.read(newdocid + ".1");
+			String doc = IOUtil.getAsString(r, true);
+			// doc = doc +"\n";
+			System.err.println(doc);
+			// assertTrue(doc.equals(testdocument));
+		} catch (MetacatInaccessibleException mie) {
+			System.err.println("Metacat is: " + metacatUrl);
+			fail("Metacat connection failed." + mie.getMessage());
+		} catch (MetacatAuthException mae) {
+			fail("Authorization failed:\n" + mae.getMessage());
+		} catch (InsufficientKarmaException ike) {
+			assertTrue(1 == 1);
+			fail("Insufficient karma:\n" + ike.getMessage());
+		} catch (MetacatException me) {
+			fail("Metacat Error:\n" + me.getMessage());
+		} catch (Exception e) {
+			fail("General exception:\n" + e.getMessage());
+		}
+	}
 
-    /**
-     * Test the buildIndex() function with a known document
-     */
-    public void buildIndex()
-    {
-        DocumentImpl d = null;
-        try {
-            d = new DocumentImpl(newdocid+".1", false);
-            d.buildIndex();
-        } catch (McdbException me) {
-            System.err.println("Caught McdbException (1): " + me.getMessage());
-        }
-    }
+	/**
+	 * Test the buildIndex() function with a known document
+	 */
+	public void buildIndex() {
+		DocumentImpl d = null;
+		try {
+			d = new DocumentImpl(newdocid + ".1", false);
+			d.buildIndex();
+		} catch (McdbException me) {
+			System.err.println("Caught McdbException (1): " + me.getMessage());
+		}
+	}
 
-    /**
-     * Create a hopefully unique docid for testing insert and update. Does
-     * not include the 'revision' part of the id.
-     *
-     * @return a String docid based on the current date and time
-     */
-    private String generateDocid()
-    {
-        StringBuffer docid = new StringBuffer(prefix);
-        docid.append(".");
+	/**
+	 * Create a hopefully unique docid for testing insert and update. Does not
+	 * include the 'revision' part of the id.
+	 * 
+	 * @return a String docid based on the current date and time
+	 */
+	private String generateDocid() {
+		StringBuffer docid = new StringBuffer(prefix);
+		docid.append(".");
 
-        // Create a calendar to get the date formatted properly
-        String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
-        SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
-        pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2*60*60*1000);
-        pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2*60*60*1000);
-        Calendar calendar = new GregorianCalendar(pdt);
-        Date trialTime = new Date();
-        calendar.setTime(trialTime);
-        docid.append(calendar.get(Calendar.YEAR));
-        docid.append(calendar.get(Calendar.DAY_OF_YEAR));
-        docid.append(calendar.get(Calendar.HOUR_OF_DAY));
-        docid.append(calendar.get(Calendar.MINUTE));
-        docid.append(calendar.get(Calendar.SECOND));
+		// Create a calendar to get the date formatted properly
+		String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
+		SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
+		pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
+		pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
+		Calendar calendar = new GregorianCalendar(pdt);
+		Date trialTime = new Date();
+		calendar.setTime(trialTime);
+		docid.append(calendar.get(Calendar.YEAR));
+		docid.append(calendar.get(Calendar.DAY_OF_YEAR));
+		docid.append(calendar.get(Calendar.HOUR_OF_DAY));
+		docid.append(calendar.get(Calendar.MINUTE));
+		docid.append(calendar.get(Calendar.SECOND));
 
-        return docid.toString();
-    }
+		return docid.toString();
+	}
 }
Index: test/edu/ucsb/nceas/metacattest/ReplicationServerListTest.java
===================================================================
--- test/edu/ucsb/nceas/metacattest/ReplicationServerListTest.java	(revision 4383)
+++ test/edu/ucsb/nceas/metacattest/ReplicationServerListTest.java	(revision 4384)
@@ -26,13 +26,11 @@
 
 package edu.ucsb.nceas.metacattest;
 
+import edu.ucsb.nceas.MCTestCase;
 import edu.ucsb.nceas.metacat.*;
 import edu.ucsb.nceas.metacat.service.PropertyService;
 import edu.ucsb.nceas.metacat.util.MetaCatUtil;
-//import edu.ucsb.nceas.morpho.framework.*;
 import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestResult;
 import junit.framework.TestSuite;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -39,13 +37,11 @@
 
 import java.io.*;
 import java.net.*;
-import java.util.*;
 
-
 /**
  * A JUnit test for testing Step class processing
  */
-public class ReplicationServerListTest extends TestCase
+public class ReplicationServerListTest extends MCTestCase
 {
     private static String metacatReplicationURL;
 	 /* Initialize properties*/
@@ -55,7 +51,6 @@
 		  {
 			 metacatReplicationURL=
                      PropertyService.getProperty("junitreplicationurl");
-			  PropertyService.getInstance("build/tests");
 			  MetaCatUtil.pathsForIndexing 
 			         = MetaCatUtil.getOptionList(PropertyService.getProperty("xml.indexPaths"));
 		  }
