Ejemplo n.º 1
0
def test_get_non_existent_task(connect_mock, capfd, mocker):
    set_module_args({
        'api_host': 'proxmoxhost',
        'api_user': '******',
        'api_password': '******',
        'node': NODE,
        'task': 'UPID:nonexistent'
    })

    def f():
        m = mocker.MagicMock()
        g = mocker.MagicMock()
        m.nodes = mocker.MagicMock(return_value=g)
        g.tasks.get = mocker.MagicMock(return_value=TASKS)
        return m

    connect_mock.side_effect = f
    proxmox_tasks_info.HAS_PROXMOXER = True

    with pytest.raises(SystemExit):
        proxmox_tasks_info.main()
    out, err = capfd.readouterr()
    assert not err
    assert json.loads(out)['failed']
    assert 'proxmox_tasks' not in json.loads(out)
    assert not json.loads(out)['changed']
    assert json.loads(
        out)['msg'] == 'Task: UPID:nonexistent does not exist on node: node01.'
def test_without_required_parameters(connect_mock, capfd, mocker):
    set_module_args({})
    with pytest.raises(SystemExit):
        proxmox_tasks_info.main()
    out, err = capfd.readouterr()
    assert not err
    assert json.loads(out)['failed']
Ejemplo n.º 3
0
def test_get_single_task(connect_mock, capfd, mocker):
    set_module_args({
        'api_host': 'proxmoxhost',
        'api_user': '******',
        'api_password': '******',
        'node': NODE,
        'task': TASK_UPID
    })

    def f():
        m = mocker.MagicMock()
        g = mocker.MagicMock()
        m.nodes = mocker.MagicMock(return_value=g)
        g.tasks.get = mocker.MagicMock(return_value=TASKS)
        return m

    connect_mock.side_effect = f
    proxmox_tasks_info.HAS_PROXMOXER = True

    with pytest.raises(SystemExit):
        proxmox_tasks_info.main()
    out, err = capfd.readouterr()
    assert not err
    assert len(json.loads(out)['proxmox_tasks']) == 1
    assert json.loads(out)
    assert not json.loads(out)['changed']
def test_get_tasks(connect_mock, capfd, mocker):
    set_module_args({
        'api_host': 'proxmoxhost',
        'api_user': '******',
        'api_password': '******',
        'node': NODE
    })

    connect_mock.side_effect = lambda: mock_api_tasks_response(mocker)
    proxmox_utils.HAS_PROXMOXER = True

    with pytest.raises(SystemExit):
        proxmox_tasks_info.main()
    out, err = capfd.readouterr()
    assert not err
    assert len(json.loads(out)['proxmox_tasks']) != 0
    assert not json.loads(out)['changed']
def test_get_non_existent_task(connect_mock, capfd, mocker):
    set_module_args({
        'api_host': 'proxmoxhost',
        'api_user': '******',
        'api_password': '******',
        'node': NODE,
        'task': 'UPID:nonexistent'
    })

    connect_mock.side_effect = lambda: mock_api_tasks_response(mocker)
    proxmox_utils.HAS_PROXMOXER = True

    with pytest.raises(SystemExit):
        proxmox_tasks_info.main()
    out, err = capfd.readouterr()
    assert not err
    assert json.loads(out)['failed']
    assert 'proxmox_tasks' not in json.loads(out)
    assert not json.loads(out)['changed']
    assert json.loads(
        out)['msg'] == 'Task: UPID:nonexistent does not exist on node: node01.'