mirror of
https://github.com/ansible/awx.git
synced 2026-03-22 19:35:02 -02:30
More consistently provide fields in job_events logger
* Change scheme from using event dict to JobEvent object * Add processing to grok object fields * Allow override of provided formatter in case of future issues
This commit is contained in:
committed by
Matthew Jones
parent
7d12427497
commit
459c33d272
24
awx/main/tests/unit/utils/test_formatters.py
Normal file
24
awx/main/tests/unit/utils/test_formatters.py
Normal file
@@ -0,0 +1,24 @@
|
||||
from awx.main.models import Job, JobEvent
|
||||
|
||||
from awx.main.utils.formatters import LogstashFormatter
|
||||
|
||||
|
||||
def test_log_from_job_event_object():
|
||||
job = Job(id=4)
|
||||
event = JobEvent(job_id=job.id)
|
||||
formatter = LogstashFormatter()
|
||||
|
||||
data_for_log = formatter.reformat_data_for_log(
|
||||
dict(python_objects=dict(job_event=event)), kind='job_events')
|
||||
|
||||
# Check entire body of data for any exceptions from getattr on event object
|
||||
for fd in data_for_log:
|
||||
if not isinstance(data_for_log[fd], basestring):
|
||||
continue
|
||||
assert 'Exception' not in data_for_log[fd], 'Exception delivered in data: {}'.format(data_for_log[fd])
|
||||
|
||||
# Verify existence of certain high-importance fields
|
||||
for fd in ['changed', 'uuid', 'start_line', 'end_line', 'id', 'counter', 'host_name', 'stdout']:
|
||||
assert fd in data_for_log
|
||||
|
||||
assert data_for_log['job'] == 4
|
||||
Reference in New Issue
Block a user