Esempio n. 1
0
    def testExists(self):
        """
        Tests whether a given cache already exists
        """
        mc = MemoryCacheStruct(1, lambda x: int(time.time()), kwargs={'x': 1})
        self.assertFalse(GenericDataCache.cacheExists("tCache"))

        GenericDataCache.registerCache("tCache", mc)
        self.assertTrue(GenericDataCache.cacheExists("tCache"))
        self.assertFalse(GenericDataCache.cacheExists("tCache2"))
Esempio n. 2
0
def _validateDatatier(datatier, dbsUrl, expiration=3600):
    """
    _validateDatatier_

    Provided a list of datatiers extracted from the outputDatasets, checks
    whether they all exist in DBS.
    """
    cacheName = "dataTierList_" + md5(dbsUrl).hexdigest()
    if not GenericDataCache.cacheExists(cacheName):
        mc = MemoryCacheStruct(expiration,
                               getDataTiers,
                               kwargs={'dbsUrl': dbsUrl})
        GenericDataCache.registerCache(cacheName, mc)

    cacheData = GenericDataCache.getCacheData(cacheName)
    dbsTiers = cacheData.getData()
    badTiers = list(set(datatier) - set(dbsTiers))
    if badTiers:
        raise InvalidSpecParameterValue(
            "Bad datatier(s): %s not available in DBS." % badTiers)
Esempio n. 3
0
    def testBasic(self):
        """
        _testBasic_

        Basic stuff.
        """
        mc = MemoryCacheStruct(1, lambda x: int(time.time()), {'x':1})
        self.assertEqual(mc.lastUpdated, -1)
        
        GenericDataCache.registerCache("test", mc)
        with self.assertRaises(CacheExistException):
            GenericDataCache.registerCache("test", mc)
        with self.assertRaises(CacheWithWrongStructException):
            GenericDataCache.registerCache("test2", {'a': 1})
        mc2 = GenericDataCache.getCacheData('test')
        before = mc2.getData()
        time.sleep(2)
        after = mc2.getData()
        self.assertFalse(before == after)
        self.assertFalse(mc2.lastUpdate == -1)
        
        return