Beispiel #1
0
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'])
Beispiel #2
0
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']
    )
Beispiel #3
0
    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')
Beispiel #4
0
    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')