def test_execute_status_failed(self, mock_run_playbook): my_hosts = [ node_collection.Host('0.0.0.0'), node_collection.Host('255.255.255.255') ] my_tasks = 'my_task' my_statuses = { executor.STATUS_OK, executor.STATUS_FAILED, executor.STATUS_SKIPPED, executor.STATUS_UNREACHABLE } r0 = executor.AnsibleExecutionRecord(host='0.0.0.0', status=executor.STATUS_OK, task={}, payload={}) r1 = executor.AnsibleExecutionRecord( host='255.255.255.255', status=executor.STATUS_UNREACHABLE, task={}, payload={}) mock_run_playbook.return_value = [r0, r1] ex = executor.AnsibleRunner() err = self.assertRaises(executor.AnsibleExecutionException, ex.execute, my_hosts, my_tasks, my_statuses) self.assertEqual(type(err), executor.AnsibleExecutionException)
def test_execute_status_unreachable(self, mock_run_playbook): my_hosts = ['0.0.0.0', '255.255.255.255'] my_tasks = 'my_task' my_statuses = {executor.STATUS_FAILED, executor.STATUS_SKIPPED, executor.STATUS_UNREACHABLE} r0 = executor.AnsibleExecutionRecord( host=my_hosts[0], status=executor.STATUS_OK, task={}, payload={}) r1 = executor.AnsibleExecutionRecord( host=my_hosts[1], status=executor.STATUS_UNREACHABLE, task={}, payload={}) mock_run_playbook.return_value = [r0, r1] ex = executor.AnsibleRunner() err = self.assertRaises(executor.AnsibleExecutionException, ex.execute, my_hosts, my_tasks, my_statuses) self.assertEqual(type(err), executor.AnsibleExecutionUnreachable)
def test__store(self,): ex = executor.MyCallback(mock.Mock()) my_host = 'my_host' my_task = 'my_task' my_result = 'my_result' r = mock.Mock() r._host.get_name.return_value = my_host r._task.get_name.return_value = my_task r._result = my_result stat = 'OK' ex._store(r, stat) ex.storage.append.assert_called_once_with( executor.AnsibleExecutionRecord(host=my_host, status=stat, task=my_task, payload=my_result))
def test_execute_payload_without_stdout(self, mock_run_playbook, mock_debug): task = {'task': 'foo'} host = '0.0.0.0' result = executor.AnsibleExecutionRecord( host=host, status=executor.STATUS_OK, task=task, payload={'foo': 'bar'}) mock_run_playbook.return_value = [result] ex = executor.AnsibleRunner() ex.execute([host], task) mock_debug.assert_has_calls(( mock.call('Executing task: %s on hosts: %s', task, [host]), mock.call('Execution completed with 1 result(s):'), mock.call(result), ))