def test_G_CdslValidate(self):
     from comoonics.cdsl.ComCdslValidate import CdslValidate
     import shutil
     import StringIO
     _cdsls=repository.getCdsls()
     shutil.move(os.path.join(repository.workingdir, repository.resource), os.path.join(repository.workingdir, repository.resource+".bak"))
     file(os.path.join(repository.workingdir, repository.resource), "w+") 
     validate=CdslValidate(repository, setupCluster.clusterinfo)
     _added, _removed=validate.validate(onfilesystem=True, update=True, root=setup.tmppath)
     identical=True
     buf1=StringIO.StringIO()
     buf2=StringIO.StringIO()
     for _cdsl in repository.getCdsls():
         buf2.write("%s, " %_cdsl)
         
     for _cdsl in _cdsls:
         buf1.write("%s, " %_cdsl)
         if not repository.hasCdsl(_cdsl.src):
             identical=False
     if len(_cdsls) != len(repository.cdsls):
         identical=False
     self.failUnless(identical, "The cdsls in the reconstructed repository and old cdsls are not the same. %s!=%s"%(buf1.getvalue(), buf2.getvalue()) )
     os.remove(os.path.join(repository.workingdir, repository.resource+".bak"))
     for backupfile in validate.backupfiles:
         os.remove(backupfile)
    def test_F_CdslsValidate(self):
        from comoonics.cdsl.ComCdslValidate import CdslValidate
        validate=CdslValidate(repository, setupCluster.clusterinfo)
        _added, _removed=validate.validate(onfilesystem=False, update=False, root=setup.tmppath)
#        print "Validate.."
        self.assertTrue(len(_added)==0 and len(_removed)==0, "Cdslsearch didn't succeed. Added %s, Removed %s" %(_added, _removed))
#        print "Ok\n"
        _cdsls=repository.getCdsls()
#        print "-%s" %_cdsls[-1]
        _removed_cdsl=repository.delete(_cdsls[-1])
        _added, _removed=validate.validate(onfilesystem=True, update=True, root=setup.tmppath)
        self.assertEquals(_added[0].src, _removed_cdsl.src, "The removed cdsl %s is different from the added one %s" %(_added[0].src, _removed_cdsl.src))
        for backupfile in validate.backupfiles:
            os.remove(backupfile)