def test_reading_pool_type_from_json_cache(self): pool_status = [self._build_ent_json('poolid', 'some type')] self.pool_cache.load_status = Mock() self.pool_cache.server_status = pool_status pooltype_cache = PoolTypeCache() pooltype_cache._do_update() result = pooltype_cache.get("poolid") self.assertEqual('some type', result)
def test_get_pooltype(self): self.cp.getEntitlementList.return_value = [ self._build_ent_json('poolid', 'some type') ] pooltype_cache = PoolTypeCache() pooltype_cache._do_update() result = pooltype_cache.get("poolid") self.assertEqual('some type', result)
def test_requires_update_ents_with_no_pool(self): pooltype_cache = PoolTypeCache() pooltype_cache.ent_dir = self.ent_dir for ent in self.ent_dir.certs: ent.pool = None # No ents have pools so there is nothing we can update self.assertFalse(pooltype_cache.requires_update())
def test_update_from_pools(self): # Input is a map of pool ids to pool json pools_map = {} for i in range(5): pool_id = 'poolid' + str(i) pools_map[pool_id] = self._build_pool_json(pool_id, 'some type') pooltype_cache = PoolTypeCache() pooltype_cache.update_from_pools(pools_map) self.assertEqual(5, len(pooltype_cache.pooltype_map)) for i in range(5): expected_id = 'poolid' + str(i) self.assertEqual('some type', pooltype_cache.get(expected_id))
def test_update(self): pooltype_cache = PoolTypeCache() pooltype_cache.ent_dir = self.ent_dir self.cp.getEntitlementList.return_value = [ self._build_ent_json('poolid', 'some type'), self._build_ent_json('poolid2', 'some other type')] # requires_update should be true, and should allow this method # to generate a correct mapping pooltype_cache.update() self.assertEqual(2, len(pooltype_cache.pooltype_map)) self.assertEqual('some type', pooltype_cache.get('poolid')) self.assertEqual('some other type', pooltype_cache.get('poolid2'))
def test_requires_update(self): pooltype_cache = PoolTypeCache() pooltype_cache.ent_dir = self.ent_dir # Doesn't have data for pool with id 'someid' self.assertTrue(pooltype_cache.requires_update()) pooltype_cache.pooltype_map['someid'] = 'some type' # After adding data for that entitlements pool, it shouldn't need an update self.assertFalse(pooltype_cache.requires_update())
def test_get_pooltype(self): self.cp.getEntitlementList.return_value = [self._build_ent_json('poolid', 'some type')] pooltype_cache = PoolTypeCache() pooltype_cache._do_update() result = pooltype_cache.get("poolid") self.assertEqual('some type', result)
def test_empty_cache(self): pooltype_cache = PoolTypeCache() result = pooltype_cache.get("some id") self.assertEqual('', result)