better cleanup on task results display (#27175)

* better cleanup on task results display

callbacks get 'clean' copy of result objects
moved cleanup into result object itself
removed now redundant callback cleanup
moved no_log tests

* moved import as per feedback
This commit is contained in:
Brian Coca 2017-10-16 09:44:11 -04:00 committed by GitHub
commit 01b6c7c9c6
6 changed files with 64 additions and 19 deletions

View file

@ -138,3 +138,12 @@ class TestTaskResult(unittest.TestCase):
# test with failed_when in result
tr = TaskResult(mock_host, mock_task, dict(failed_when_result=True))
self.assertTrue(tr.is_failed())
def test_task_result_no_log(self):
mock_host = MagicMock()
mock_task = MagicMock()
# no_log should remove secrets
tr = TaskResult(mock_host, mock_task, dict(_ansible_no_log=True, secret='DONTSHOWME'))
clean = tr.clean_copy()
self.assertTrue('secret' not in clean._result)

View file

@ -93,16 +93,6 @@ class TestCallbackDumpResults(unittest.TestCase):
self.assertFalse('SENTINEL' in json_out)
self.assertTrue('LEFTIN' in json_out)
def test_no_log(self):
cb = CallbackBase()
result = {'item': 'some_item',
'_ansible_no_log': True,
'some_secrets': 'SENTINEL'}
json_out = cb._dump_results(result)
self.assertFalse('SENTINEL' in json_out)
self.assertTrue('no_log' in json_out)
self.assertTrue('output has been hidden' in json_out)
def test_exception(self):
cb = CallbackBase()
result = {'item': 'some_item LEFTIN',