diff --git a/product/ZSQLCatalog/tests/testCatalog.py b/product/ZSQLCatalog/tests/testCatalog.py
deleted file mode 100644
index 854022045a0cb5262bdceb2dd2a6059cb4ba9cdc..0000000000000000000000000000000000000000
--- a/product/ZSQLCatalog/tests/testCatalog.py
+++ /dev/null
@@ -1,388 +0,0 @@
-#!/usr/bin/env python, unittest
-
-# Unittests for Catalog
-
-import os,sys, unittest
-
-import ZODB, OFS.Application
-from ZODB.DemoStorage import DemoStorage
-from ZODB.DB import DB
-from Products.ZCatalog import ZCatalog,Vocabulary
-from Products.ZCatalog.Catalog import Catalog, CatalogError
-import ExtensionClass
-
-from Products.PluginIndexes.FieldIndex.FieldIndex import FieldIndex
-from Products.PluginIndexes.TextIndex.TextIndex import TextIndex
-from Products.PluginIndexes.TextIndex.Lexicon import  Lexicon
-from Products.PluginIndexes.KeywordIndex.KeywordIndex import KeywordIndex
-
-import whrandom,string, unittest
-
-
-def createDatabase():
-    # XXX We have to import and init products in order for PluginIndexes to
-    # be registered.
-    OFS.Application.import_products()
-
-    # Create a DemoStorage and put an Application in it
-    db = DB(DemoStorage())
-    conn = db.open()
-    root = conn.root()
-    app = OFS.Application.Application()
-    root['Application'] = app
-    get_transaction().commit()
-
-    # Init products
-    #OFS.Application.initialize(app)
-    OFS.Application.install_products(app) # XXX: this is still icky
-
-    return app
-
-app = createDatabase()
-
-
-################################################################################
-# Stuff of Chris
-################################################################################
-
-from AccessControl.SecurityManagement import newSecurityManager
-from AccessControl.SecurityManagement import noSecurityManager
-
-class DummyUser:
-
-    def __init__( self, name ):
-        self._name = name
-
-    def getUserName( self ):
-        return self._name
-
-
-class CatalogBase:
-    def setUp(self):
-        self._vocabulary = Vocabulary.Vocabulary('Vocabulary', 'Vocabulary',
-                                                 globbing=1)
-        self._catalog = Catalog()
-
-    def tearDown(self):
-        self._vocabulary = self._catalog = None
-
-class TestAddDelColumn(CatalogBase,unittest.TestCase):
-    def testAdd(self):
-        self._catalog.addColumn('id')
-        assert self._catalog.schema.has_key('id') == 1, 'add column failed'
-
-    def testAddBad(self):
-        try:
-            self._catalog.addColumn('_id')
-        except:
-            pass
-        else:
-            raise 'invalid metadata column check failed'
-
-    def testDel(self):
-        self._catalog.addColumn('id')
-        self._catalog.delColumn('id')
-        assert self._catalog.schema.has_key('id') != 1, 'del column failed'
-
-class TestAddDelIndexes(CatalogBase, unittest.TestCase):
-    def testAddFieldIndex(self):
-        idx = FieldIndex('id')
-        self._catalog.addIndex('id', idx)
-        assert type(self._catalog.indexes['id']) is type(FieldIndex('id')),\
-               'add field index failed'
-
-    def testAddTextIndex(self):
-        idx = TextIndex('id')
-        self._catalog.addIndex('id', idx)
-        i = self._catalog.indexes['id']
-        assert type(i) is type(TextIndex('id', None, None, Lexicon())),\
-               'add text index failed'
-
-    def testAddKeywordIndex(self):
-        idx = KeywordIndex('id')
-        self._catalog.addIndex('id', idx)
-        i = self._catalog.indexes['id']
-        assert type(i) is type(KeywordIndex('id')), 'add kw index failed'
-
-    def testDelFieldIndex(self):
-        idx = FieldIndex('id')
-        self._catalog.addIndex('id', idx)
-        self._catalog.delIndex('id')
-        assert self._catalog.indexes.has_key('id') != 1, 'del index failed'
-        
-    def testDelTextIndex(self):
-        idx = TextIndex('id')
-        self._catalog.addIndex('id', idx)
-        self._catalog.delIndex('id')
-        assert self._catalog.indexes.has_key('id') != 1, 'del index failed'
-        
-    def testDelKeywordIndex(self):
-        idx = KeywordIndex('id')
-        self._catalog.addIndex('id', idx)
-        self._catalog.delIndex('id')
-        assert self._catalog.indexes.has_key('id') != 1, 'del index failed'
-
-class TestZCatalogObject(unittest.TestCase):
-    def setUp(self):
-        class dummy(ExtensionClass.Base):
-            pass
-        self.dummy = dummy()
-        newSecurityManager( None, DummyUser( 'phred' ) )
-
-    def tearDown(self):
-        noSecurityManager()
-        self.dummy = None
-
-    def testInstantiateWithoutVocab(self):
-        v = Vocabulary.Vocabulary('Vocabulary', 'Vocabulary', globbing=1)
-        zc = ZCatalog.ZCatalog('acatalog')
-        assert hasattr(zc, 'Vocabulary')
-        assert zc.getVocabulary().__class__ == v.__class__
-
-    def testInstantiateWithGlobbingVocab(self):
-        dummy = self.dummy
-        v = Vocabulary.Vocabulary('Vocabulary', 'Vocabulary', globbing=1)
-        dummy.v = v
-        zc = ZCatalog.ZCatalog('acatalog', vocab_id='v', container=dummy)
-        zc = zc.__of__(dummy)
-        assert zc.getVocabulary() == v
-
-    def testInstantiateWithNormalVocab(self):
-        dummy = self.dummy
-        v = Vocabulary.Vocabulary('Vocabulary', 'Vocabulary', globbing=0)
-        dummy.v = v
-        zc = ZCatalog.ZCatalog('acatalog', vocab_id='v', container=dummy)
-        zc = zc.__of__(dummy)
-        assert zc.getVocabulary() == v
-
-class TestCatalogObject(unittest.TestCase):
-    def setUp(self):
-        self._vocabulary = Vocabulary.Vocabulary('Vocabulary','Vocabulary',
-                                                 globbing=1)
-
-        col1 = FieldIndex('col1')
-        col2 = TextIndex('col2')
-        col3 = KeywordIndex('col3')
-
-        self._catalog = Catalog()
-        self._catalog.addIndex('col1', col1)
-        self._catalog.addIndex('col2', col2)
-        self._catalog.addIndex('col3', col3)
-        self._catalog.addColumn('col1') 
-        self._catalog.addColumn('col2')
-        self._catalog.addColumn('col3')
-
-        att1 = FieldIndex('att1')
-        att2 = TextIndex('att2')
-        att3 = KeywordIndex('att3')
-        num  = FieldIndex('num')
-        
-        self._catalog.addIndex('att1', att1)
-        self._catalog.addIndex('att2', att2)
-        self._catalog.addIndex('att3', att3)
-        self._catalog.addIndex('num', num)
-        self._catalog.addColumn('att1') 
-        self._catalog.addColumn('att2')
-        self._catalog.addColumn('att3')
-        self._catalog.addColumn('num')
-
-        self.upper = 1000
-        class dummy(ExtensionClass.Base):
-            att1 = 'att1'
-            att2 = 'att2'
-            att3 = ['att3']
-            def __init__(self, num):
-                self.num = num
-                
-            def col1(self):
-                return 'col1'
-
-            def col2(self):
-                return 'col2'
-
-            def col3(self):
-                return ['col3']
-
-            
-        for x in range(0, self.upper):
-            self._catalog.catalogObject(dummy(x), `x`)
-        self._catalog.aq_parent = dummy('foo') # fake out acquisition
-
-    def tearDown(self):
-        self._vocabulary = self._catalog = None
-
-    def testResultLength(self):
-        upper = self.upper
-        a = self._catalog()
-        assert len(a) == upper, 'length should be %s, its %s'%(upper, len(a))
-
-    def testEmptyMappingReturnsAll(self):
-        upper = self.upper
-        a = self._catalog({})
-        assert len(a) == upper, 'length should be %s, its %s'%(upper, len(a))
-
-    def testFieldIndexLength(self):
-        a = self._catalog(att1='att1')
-        assert len(a) == self.upper, 'should be %s, but is %s' % (self.upper,
-                                                                  len(a))
-    def testTextIndexLength(self):
-        a = self._catalog(att2='att2')
-        assert len(a) == self.upper, 'should be %s, but is %s' % (self.upper,
-                                                                  len(a))
-
-    def testKeywordIndexLength(self):
-        a = self._catalog(att3='att3')
-        assert len(a) == self.upper, 'should be %s, but is %s' % (self.upper,
-                                                                  len(a))
-
-    def testUncatalogFieldIndex(self):    
-        self.uncatalog()
-        a = self._catalog(att1='att1')
-        assert len(a) == 0, 'len: %s' % (len(a))
-        
-    def testUncatalogTextIndex(self):
-        self.uncatalog()
-        a = self._catalog(att2='att2')
-        assert len(a) == 0, 'len: %s' % (len(a))
-
-    def testUncatalogKeywordIndex(self):
-        self.uncatalog()
-        a = self._catalog(att3='att3')
-        assert len(a) == 0, 'len: %s'%(len(a))
-
-    def testBadUncatalog(self):
-        try:
-            self._catalog.uncatalogObject('asdasdasd')
-        except:
-            assert 1==2, 'uncatalogObject raised exception on bad uid'
-
-    def testUniqueValuesForLength(self):
-        a = self._catalog.uniqueValuesFor('att1')
-        assert len(a) == 1, 'bad number of unique values %s' % str(a)
-
-    def testUniqueValuesForContent(self):
-        a = self._catalog.uniqueValuesFor('att1')
-        assert a[0] == 'att1', 'bad content %s' % str(a[0])
-
-    def testUncatalogTwice(self):
-        self._catalog.uncatalogObject(`0`)
-        self.assertRaises(Exception, '_second')
-
-    def testCatalogLength(self):
-        for x in range(0, self.upper):
-            self._catalog.uncatalogObject(`x`)
-        assert len(self._catalog) == 0
-
-    def _second(self):
-        self._catalog.uncatalogObject(`0`)
-
-    def uncatalog(self):
-        for x in range(0, self.upper):
-            self._catalog.uncatalogObject(`x`)
-
-    def testGoodSortIndex(self):
-        upper = self.upper
-        a = self._catalog(sort_on='num')
-        assert len(a) == upper, 'length should be %s, its %s'%(upper, len(a))
-        for x in range(self.upper):
-            assert a[x].num == x, x
-            
-    def testBadSortIndex(self):
-        self.assertRaises(CatalogError, self.badsortindex)
-
-    def badsortindex(self):
-        a = self._catalog(sort_on='foofaraw')
-
-    def testWrongKindOfIndexForSort(self):
-        self.assertRaises(CatalogError, self.wrongsortindex)
-
-    def wrongsortindex(self):
-        a = self._catalog(sort_on='att2')
-
-    def testTextIndexQWithSortOn(self):
-        upper = self.upper
-        a = self._catalog(sort_on='num', att2='att2')
-        assert len(a) == upper, 'length should be %s, its %s'%(upper, len(a))
-        for x in range(self.upper):
-            assert a[x].num == x, x
-
-    def testTextIndexQWithoutSortOn(self):
-        upper = self.upper
-        a = self._catalog(att2='att2')
-        assert len(a) == upper, 'length should be %s, its %s'%(upper, len(a))
-        for x in range(self.upper):
-            assert a[x].data_record_score_ == 1, a[x].data_record_score_
-
-    def testKeywordIndexWithMinRange(self):
-        a = self._catalog(att3='att', att3_usage='range:min')
-        assert len(a) == self.upper
-
-    def testKeywordIndexWithMaxRange(self):
-        a = self._catalog(att3='att35', att3_usage='range:max')
-        assert len(a) == self.upper
-
-    def testKeywordIndexWithMinMaxRangeCorrectSyntax(self):
-        a = self._catalog(att3=['att', 'att35'], att3_usage='range:min:max')
-        assert len(a) == self.upper
-
-    def testKeywordIndexWithMinMaxRangeWrongSyntax(self):
-        """checkKeywordIndex with min/max range wrong syntax - known to fail.
-           But because it will fail we need to change the assert statement
-           so the unittest will pass *crazy world*
-        """
-        a = self._catalog(att3=['att'], att3_usage='range:min:max')
-        assert len(a) != self.upper
-
-    def testCombinedTextandKeywordQuery(self):
-        a = self._catalog(att3='att3', att2='att2')
-        assert len(a) == self.upper
-
-class objRS(ExtensionClass.Base):
-
-    def __init__(self,num):
-        self.number = num
-
-class testRS(unittest.TestCase):
-
-    def setUp(self):
-        self._vocabulary = Vocabulary.Vocabulary('Vocabulary','Vocabulary'
-                                                , globbing=1)
-        self._catalog    = Catalog()
-        index = FieldIndex('number')
-        self._catalog.addIndex('number',  index)
-        self._catalog.addColumn('number')
-
-        for i in range(5000): 
-            obj = objRS(whrandom.randint(0,20000))
-            self._catalog.catalogObject(obj,i)
-           
-        self._catalog.aq_parent = objRS(200)
-
-    def testRangeSearch(self):
-        for i in range(10000): 
-
-            m = whrandom.randint(0,20000) 
-            n = m + 1000
-
-            for r  in self._catalog.searchResults(
-                { "number" : (m,n) ,
-                  "length_usage" : "range:min:max" } ):
-                size = r.number
-                assert m<=size and size<=n , "%d vs [%d,%d]" % (r.number,m,n)
-
-
-
-def test_suite():
-    suite = unittest.TestSuite()
-    suite.addTest( unittest.makeSuite( TestAddDelColumn ) )
-    suite.addTest( unittest.makeSuite( TestAddDelIndexes ) )
-    suite.addTest( unittest.makeSuite( TestZCatalogObject ) )
-    suite.addTest( unittest.makeSuite( TestCatalogObject ) )
-    suite.addTest( unittest.makeSuite( testRS ) )
-    return suite
-
-def main():
-    unittest.TextTestRunner().run(test_suite())
-
-if __name__ == '__main__':
-    main()