def test_get_expanded_bots_cfg_non_empty(self): self.mock_config({'bots.cfg': ('rev1', TEST_CONFIG)}) cfg = bot_groups_config.refetch_from_config_service() self.assertIsNotNone(cfg) # Read from the cache. fetched, cfg = bot_groups_config._get_expanded_bots_cfg() self.assertTrue(fetched) self.assertEqual(TEST_CONFIG, cfg.bots) # Rereading, but providing known_digest. fetched, cfg = bot_groups_config._get_expanded_bots_cfg(cfg.digest) self.assertFalse(fetched)
def test_get_expanded_bots_cfg_changing(self): self.mock_config({'bots.cfg': ('rev1', TEST_CONFIG)}) bot_groups_config.refetch_from_config_service() # Read from the cache. fetched, cfg = bot_groups_config._get_expanded_bots_cfg() self.assertTrue(fetched) self.assertEqual('rev1', cfg.rev) # Now the cache is changing. self.mock_config({'bots.cfg': ('rev2', TEST_CONFIG)}) bot_groups_config.refetch_from_config_service() # Reading new value. fetched, cfg = bot_groups_config._get_expanded_bots_cfg(cfg.digest) self.assertTrue(fetched) self.assertEqual('rev2', cfg.rev)
def test_get_expanded_bots_cfg_empty(self): self.mock_config({}) cfg = bot_groups_config.refetch_from_config_service() self.assertIsNone(cfg) # Read from the cache. fetched, cfg = bot_groups_config._get_expanded_bots_cfg() self.assertTrue(fetched) self.assertIsNone(cfg)
def test_get_expanded_bots_cfg_bootstrap_empty(self): self.mock_config({}) # No cache. self.assertIsNone(self.cached_config_entity()) # Bootstraps empty cache value. fetched, cfg = bot_groups_config._get_expanded_bots_cfg() self.assertTrue(fetched) self.assertIsNone(cfg) cached = self.cached_config_entity() self.assertTrue(cached.empty)
def test_get_expanded_bots_cfg_bootstrap_non_empty(self): self.mock_config({'bots.cfg': ('rev1', TEST_CONFIG)}) # No cache. self.assertIsNone(self.cached_config_entity()) # Bootstraps cache value. fetched, cfg = bot_groups_config._get_expanded_bots_cfg() self.assertTrue(fetched) self.assertEqual(TEST_CONFIG, cfg.bots) cached = self.cached_config_entity() self.assertFalse(cached.empty) self.assertEqual('rev1', cached.bots_cfg_rev)