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']
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.'