Example #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)

    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']
    )
Example #2
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')
    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)
Example #4
0
    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)
Example #5
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'])
Example #6
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')