Coverage for virtual/hpux.py

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
pull/84362/head
Abhijeet Kasurde 4 days ago
parent 3e82ed307b
commit 44c894f531

@ -0,0 +1,82 @@
# -*- coding: utf-8 -*-
# Copyright: Contributors to the Ansible project
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import annotations
import pytest
from ansible.module_utils.facts.virtual.hpux import HPUXVirtual
class MockVirtualSysctl(HPUXVirtual):
def __init__(self, module):
self.module = module
def mock_path_exists_vecheck(filename):
return filename in ("/usr/sbin/vecheck",)
def mock_path_exists_hpvminfo(filename):
return filename in ("/opt/hpvm/bin/hpvminfo",)
def mock_path_exists_parstatus(filename):
return filename in ("/usr/sbin/parstatus",)
@pytest.mark.parametrize(
("mock_method", "expected_type", "mock_output", "expected_guest"),
[
pytest.param(
mock_path_exists_vecheck,
"guest",
"",
"HP vPar",
id="HP vPar",
),
pytest.param(
mock_path_exists_hpvminfo,
"guest",
"Running HPVM vPar",
"HPVM vPar",
id="HPVM vPar",
),
pytest.param(
mock_path_exists_hpvminfo,
"guest",
"Running HPVM guest",
"HPVM IVM",
id="HPVM IVM",
),
pytest.param(
mock_path_exists_hpvminfo,
"host",
"Running HPVM host",
"HPVM",
id="HPVM",
),
pytest.param(
mock_path_exists_parstatus,
"guest",
"",
"HP nPar",
id="HP nPar",
),
],
)
def test_get_virtual_facts_hpvpar(mocker, mock_method, expected_type, mock_output, expected_guest):
mocker.patch("os.path.exists", side_effect=mock_method)
module = mocker.Mock()
module.run_command.return_value = (0, mock_output, "")
mixin = MockVirtualSysctl(module=module)
guest_facts = mixin.get_virtual_facts()
expected = {
"virtualization_role": expected_guest,
"virtualization_tech_guest": set([expected_guest]),
"virtualization_tech_host": set(),
"virtualization_type": expected_type,
}
assert guest_facts == expected
Loading…
Cancel
Save