def test_env_vars(self): config = Config(config_file=None) self.assertEqual(config.options['config_file'], '~/.alerta.conf') with mod_env(ALERTA_CONF_FILE='~/.alerta.test.conf', ALERTA_DEFAULT_PROFILE='test-profile', ALERTA_ENDPOINT='http://foo/bar/baz', ALERTA_API_KEY='test-key', REQUESTS_CA_BUNDLE='', CLICOLOR='', DEBUG='1'): # conf file config = Config(config_file=None) self.assertEqual(config.options['config_file'], '~/.alerta.test.conf', os.environ) config = Config(config_file='/dev/null') self.assertEqual(config.options['config_file'], '/dev/null') # profile config = Config(config_file=None) config.get_config_for_profle() self.assertEqual(config.options['profile'], 'test-profile', os.environ) # endpoint self.client = Client() self.assertEqual(self.client.endpoint, 'http://foo/bar/baz') # api key self.assertEqual(config.options['key'], 'test-key')
def cli(ctx, config_file, profile, endpoint_url, output, color, debug): """ Alerta client unified command-line tool. """ config = Config(config_file) config.get_config_for_profle(profile) config.get_remote_config(endpoint_url) ctx.obj = config.options # override current options with command-line options or environment variables ctx.obj['output'] = output or config.options['output'] ctx.obj['color'] = color or os.environ.get('CLICOLOR', None) or config.options['color'] endpoint = endpoint_url or config.options['endpoint'] ctx.obj['client'] = Client(endpoint=endpoint, key=config.options['key'], token=get_token(endpoint), username=config.options.get('username', None), password=config.options.get('password', None), timeout=float(config.options['timeout']), ssl_verify=config.options['sslverify'], debug=debug or os.environ.get('DEBUG', None) or config.options['debug'])
def setUp(self): self.client = Client() alarm_model = { 'name': 'Alerta 8.0.1', 'severity': { 'security': 0, 'critical': 1, 'major': 2, 'minor': 3, 'warning': 4, 'indeterminate': 5, 'informational': 6, 'normal': 7, 'ok': 7, 'cleared': 7, 'debug': 8, 'trace': 9, 'unknown': 10 }, 'defaults': { 'normal_severity': 'normal' } } config = Config(config_file=None, config_override={'alarm_model': alarm_model}) self.obj = config.options self.obj['client'] = self.client self.runner = CliRunner(echo_stdin=True)
def cli(ctx, config_file, profile, endpoint_url, output, color, debug): """ Alerta client unified command-line tool. """ config = Config(config_file) config.get_config_for_profle(profile) ctx.obj = dict() ctx.obj['timezone'] = config.options['timezone'] ctx.obj['output'] = output or config.options['output'] ctx.obj['color'] = color or os.environ.get('CLICOLOR', None) or config.options['color'] endpoint = endpoint_url or config.options['endpoint'] ctx.obj['provider'] = config.options['provider'] ctx.obj['client_id'] = config.options['client_id'] ctx.obj['github_url'] = config.options['github_url'] ctx.obj['gitlab_url'] = config.options['gitlab_url'] ctx.obj['client'] = Client( endpoint=endpoint, key=config.options['key'], token=get_token(endpoint), timeout=float(config.options['timeout']), ssl_verify=config.options['sslverify'], debug=debug or os.environ.get('DEBUG', None) or config.options['debug'] )
def setUp(self): self.client = Client() config = Config(config_file=None) self.obj = config.options self.obj['client'] = self.client self.runner = CliRunner(echo_stdin=True)