Exemple #1
0
    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)
Exemple #2
0
    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)
Exemple #3
0
    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))
Exemple #4
0
    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),
        ))