def test_Z_CdslsDelete(self):
        from comoonics.cdsl import cmpbysubdirs
        from comoonics.ComPath import Path
        _cdslsrev=repository.getCdsls()
        _cdslsrev.sort(cmpbysubdirs)
        _cdslsrev.reverse()
        for _cdsl in _cdslsrev:
#            print "- %s\n" %_cdsl.src
            _cdsl.delete(True, True)
            self.assertFalse(_cdsl.exists(), "%s CDSL %s exists although it was removed before." %(_cdsl.type, _cdsl))
            for __cdsl in  repository.getCdsls():
                self.assertTrue(__cdsl.exists(), "The still existant %s cdsl %s does not exist any more." %(__cdsl.type, __cdsl))

from comoonics.cdsl.ComCdslRepository import ComoonicsCdslRepository
import os
#import sys;sys.argv = ['', 'Test.testName']
olddir=os.path.realpath(os.curdir)
os.chdir(setup.tmppath)
setupCluster=setup.SetupCluster()        
repository=ComoonicsCdslRepository(clusterinfo=setupCluster.clusterinfo, root=setup.tmppath, usenodeids="True")  
setupCdsls=setup.SetupCDSLs(repository)
repository.buildInfrastructure(setupCluster.clusterinfo)
setupCdsls.setupCDSLInfrastructure(setup.tmppath, repository, setupCluster.clusterinfo)
if __name__ == "__main__":
    module=setup.MyTestProgram(module=test_Cdsl(methodName='run'))
    if module.result.wasSuccessful():
        setupCdsls.cleanUpInfrastructure(setup.tmppath, repository, setupCluster.clusterinfo)
        setup.cleanup()
    os.chdir(olddir)
    sys.exit(module.result.wasSuccessful())    
    def testMigration(self):
        import comoonics.cdsl.migration
        from comoonics.cdsl.ComCdslRepository import ComoonicsCdslRepository
        from comoonics import XmlTools
        from comoonics.cdsl import stripleadingsep
        fromsource=os.path.join(baseSetup.testpath, "cdsl4.xml")
        cwd=Path()
        cwd.pushd(baseSetup.tmppath)
        repository=comoonics.cdsl.migration.migrate(None, ComoonicsCdslRepository.version, fromresource=fromsource, root=baseSetup.tmppath, mountpoint="repo8", ignoreerrors=True)
        oldelement=XmlTools.parseXMLFile(fromsource)
        wanttocdsls=oldelement.documentElement.getElementsByTagName("cdsl")
        for i in range(len(wanttocdsls)):
            wanttocdsl=wanttocdsls[i]
            src=stripleadingsep(wanttocdsl.getAttribute("src"))
            iscdsl=repository.getCdsl(src)
            self.assertTrue(wanttocdsl.getAttribute("timestamp") == iscdsl.getAttribute("timestamp") and \
                            wanttocdsl.getAttribute("type") == iscdsl.getAttribute("type"), \
                            "Cdsl %s has different timestamp or type after migration" %iscdsl)
        os.remove(os.path.join(repository.root, repository.getMountpoint(), repository.resource))
        cwd.popd()
            
if __name__ == "__main__":
    setupCluster=baseSetup.SetupCluster()        
    setupCDSLRepository=baseSetup.SetupCDSLRepository(setupCluster.clusterinfo)  
    #import sys;sys.argv = ['', 'Test.testName']
    module=baseSetup.MyTestProgram(module=test_CdslRepository(methodName='run'))
    setupCDSLRepository.cleanUpInfrastructure(baseSetup.tmppath)
    baseSetup.cleanup()
    sys.exit(module.result.wasSuccessful())
    
            ComoonicsCdslRepository.version,
            fromresource=fromsource,
            root=baseSetup.tmppath,
            mountpoint="repo8",
            ignoreerrors=True)
        oldelement = XmlTools.parseXMLFile(fromsource)
        wanttocdsls = oldelement.documentElement.getElementsByTagName("cdsl")
        for i in range(len(wanttocdsls)):
            wanttocdsl = wanttocdsls[i]
            src = stripleadingsep(wanttocdsl.getAttribute("src"))
            iscdsl = repository.getCdsl(src)
            self.assertTrue(wanttocdsl.getAttribute("timestamp") == iscdsl.getAttribute("timestamp") and \
                            wanttocdsl.getAttribute("type") == iscdsl.getAttribute("type"), \
                            "Cdsl %s has different timestamp or type after migration" %iscdsl)
        os.remove(
            os.path.join(repository.root, repository.getMountpoint(),
                         repository.resource))
        cwd.popd()


if __name__ == "__main__":
    setupCluster = baseSetup.SetupCluster()
    setupCDSLRepository = baseSetup.SetupCDSLRepository(
        setupCluster.clusterinfo)
    #import sys;sys.argv = ['', 'Test.testName']
    module = baseSetup.MyTestProgram(module=test_CdslRepository(
        methodName='run'))
    setupCDSLRepository.cleanUpInfrastructure(baseSetup.tmppath)
    baseSetup.cleanup()
    sys.exit(module.result.wasSuccessful())