mirror of
https://github.com/ansible/awx.git
synced 2026-02-18 11:40:05 -03:30
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
from datetime import datetime
|
|
from datetime import timezone
|
|
import pytest
|
|
|
|
from awx.main.models import JobEvent, ProjectUpdateEvent, AdHocCommandEvent, InventoryUpdateEvent, SystemJobEvent
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
'job_identifier, cls',
|
|
[
|
|
['job_id', JobEvent],
|
|
['project_update_id', ProjectUpdateEvent],
|
|
['ad_hoc_command_id', AdHocCommandEvent],
|
|
['inventory_update_id', InventoryUpdateEvent],
|
|
['system_job_id', SystemJobEvent],
|
|
],
|
|
)
|
|
@pytest.mark.parametrize('created', [datetime(2018, 1, 1).isoformat(), datetime(2018, 1, 1)])
|
|
def test_event_parse_created(job_identifier, cls, created):
|
|
event = cls.create_from_data(**{job_identifier: 123, 'created': created})
|
|
assert event.created == datetime(2018, 1, 1).replace(tzinfo=timezone.utc)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
'job_identifier, cls',
|
|
[
|
|
['job_id', JobEvent],
|
|
['project_update_id', ProjectUpdateEvent],
|
|
['ad_hoc_command_id', AdHocCommandEvent],
|
|
['inventory_update_id', InventoryUpdateEvent],
|
|
['system_job_id', SystemJobEvent],
|
|
],
|
|
)
|
|
def test_playbook_event_strip_invalid_keys(job_identifier, cls):
|
|
event = cls.create_from_data(**{job_identifier: 123, 'extra_key': 'extra_value'})
|
|
assert getattr(event, job_identifier) == 123
|
|
assert not hasattr(event, 'extra_key')
|
|
|
|
|
|
@pytest.mark.parametrize('field', ['play', 'role', 'task', 'playbook'])
|
|
def test_really_long_event_fields(field):
|
|
event = JobEvent.create_from_data(**{'job_id': 123, 'event_data': {field: 'X' * 4096}})
|
|
assert event.event_data[field] == 'X' * 1023 + '…'
|