def test_format_timestamp_utc(self):
     input = '2015-08-24T01:16:22.327Z'
     args = MagicMock()
     args.date = False
     args.utc = True
     result = conduct_logging.format_timestamp(input, args)
     self.assertEqual('01:16:22Z', result)
 def test_format_timestamp(self):
     input = '2015-08-24T01:16:22.327Z'
     args = MagicMock()
     args.date = False
     args.utc = False
     result = conduct_logging.format_timestamp(input, args)
     expected_result = arrow.get(input).to('local').datetime.strftime('%X')
     self.assertEqual(expected_result, result)
示例#3
0
def logs(args):
    """`conduct logs` command"""

    request_url = conduct_url.url('bundles/{}/logs?count={}'.format(args.bundle, args.lines), args)
    response = requests.get(request_url)
    conduct_logging.raise_for_status_inc_3xx(response)

    data = [
        {
            'time': conduct_logging.format_timestamp(event['timestamp'], args),
            'host': event['host'],
            'log': event['message']
        } for event in json.loads(response.text)
    ]
    data.insert(0, {'time': 'TIME', 'host': 'HOST', 'log': 'LOG'})

    padding = 2
    column_widths = dict(conduct_info.calc_column_widths(data), **{'padding': ' ' * padding})

    for row in data:
        print('''\
{time: <{time_width}}{padding}\
{host: <{host_width}}{padding}\
{log: <{log_width}}{padding}'''.format(**dict(row, **column_widths)))
示例#4
0
def events(args):
    """`conduct events` command"""

    request_url = conduct_url.url('bundles/{}/events?count={}'.format(args.bundle, args.lines), args)
    response = requests.get(request_url)
    conduct_logging.raise_for_status_inc_3xx(response)

    data = [
        {
            'time': conduct_logging.format_timestamp(event['timestamp'], args),
            'event': event['event'],
            'description': event['description']
        } for event in json.loads(response.text)
    ]
    data.insert(0, {'time': 'TIME', 'event': 'EVENT', 'description': 'DESC'})

    padding = 2
    column_widths = dict(conduct_info.calc_column_widths(data), **{'padding': ' ' * padding})

    for row in data:
        print('''\
{time: <{time_width}}{padding}\
{event: <{event_width}}{padding}\
{description: <{description_width}}{padding}'''.format(**dict(row, **column_widths)))