def test_fetch_configs_not_valid(self): @ndb.tasklet def get_self_config_mock(*_args, **_kwargs): raise ndb.Return(('imports_cfg_rev', 'bad config')) self.mock(config_component, 'get_self_config_async', get_self_config_mock) self.mock(config, '_get_configs_url', lambda: 'http://url') with self.assertRaises(config_component.CannotLoadConfigError): config._fetch_configs(['imports.cfg'])
def test_fetch_configs_ok(self): fetches = { 'imports.cfg': ('imports_cfg_rev', 'tarball{url:"a" systems:"b"}'), 'ip_whitelist.cfg': ('ip_whitelist_cfg_rev', config_pb2.IPWhitelistConfig()), 'oauth.cfg': ('oauth_cfg_rev', config_pb2.OAuthConfig(primary_client_id='a')), } @ndb.tasklet def get_self_config_mock(path, *_args, **_kwargs): self.assertIn(path, fetches) raise ndb.Return(fetches.pop(path)) self.mock(config_component, 'get_self_config_async', get_self_config_mock) self.mock(config, '_get_configs_url', lambda: 'http://url') result = config._fetch_configs(fetches.keys()) self.assertFalse(fetches) self.assertEqual( { 'imports.cfg': (config.Revision('imports_cfg_rev', 'http://url'), 'tarball{url:"a" systems:"b"}'), 'ip_whitelist.cfg': (config.Revision('ip_whitelist_cfg_rev', 'http://url'), config_pb2.IPWhitelistConfig()), 'oauth.cfg': (config.Revision('oauth_cfg_rev', 'http://url'), config_pb2.OAuthConfig(primary_client_id='a')), }, result)
def test_fetch_configs_ok(self): fetches = { 'imports.cfg': ('imports_cfg_rev', 'tarball{url:"a" systems:"b"}'), 'ip_whitelist.cfg': ( 'ip_whitelist_cfg_rev', config_pb2.IPWhitelistConfig()), 'oauth.cfg': ( 'oauth_cfg_rev', config_pb2.OAuthConfig(primary_client_id='a')), } @ndb.tasklet def get_self_config_mock(path, *_args, **_kwargs): self.assertIn(path, fetches) raise ndb.Return(fetches.pop(path)) self.mock(config_component, 'get_self_config_async', get_self_config_mock) self.mock(config, '_get_configs_url', lambda: 'http://url') result = config._fetch_configs(fetches.keys()) self.assertFalse(fetches) self.assertEqual({ 'imports.cfg': ( config.Revision('imports_cfg_rev', 'http://url'), 'tarball{url:"a" systems:"b"}'), 'ip_whitelist.cfg': ( config.Revision('ip_whitelist_cfg_rev', 'http://url'), config_pb2.IPWhitelistConfig()), 'oauth.cfg': ( config.Revision('oauth_cfg_rev', 'http://url'), config_pb2.OAuthConfig(primary_client_id='a')), }, result)