cleanup(inventory): Mark methods as private

Mark all methods of the inventory which should be private with a underscore
prefix in their name.

Signed-off-by: Felix Matouschek <fmatouschek@redhat.com>
This commit is contained in:
Felix Matouschek
2024-07-11 16:03:27 +02:00
parent 54bbdb4d73
commit 9029574f7c
16 changed files with 179 additions and 170 deletions

View File

@@ -69,7 +69,7 @@ WINDOWS_VMI_4 = merge_dicts(
],
)
def test_ansible_connection_winrm(inventory, hosts, vmi, expected):
inventory.populate_inventory(
inventory._populate_inventory(
{
"default_hostname": "test",
"cluster_domain": "test.com",

View File

@@ -45,7 +45,7 @@ def test_set_composable_vars(
"keyed_groups": [{"prefix": "fedora", "key": "vmi_guest_os_info.versionId"}],
"strict": True,
}
inventory.populate_inventory(
inventory._populate_inventory(
{
"default_hostname": "test",
"cluster_domain": "test.com",

View File

@@ -44,7 +44,7 @@ VMI1 = {
def test_stopped_vm(inventory, hosts):
inventory.populate_inventory(
inventory._populate_inventory(
{
"default_hostname": "test",
"cluster_domain": "test.com",

View File

@@ -29,7 +29,7 @@ from ansible_collections.kubevirt.core.tests.unit.plugins.inventory.constants im
],
)
def test_get_default_hostname(host, expected):
assert InventoryModule.get_default_hostname(host) == expected
assert InventoryModule._get_default_hostname(host) == expected
@pytest.mark.parametrize(
@@ -44,7 +44,7 @@ def test_get_default_hostname(host, expected):
],
)
def test_format_var_name(name, expected):
assert InventoryModule.format_var_name(name) == expected
assert InventoryModule._format_var_name(name) == expected
@pytest.mark.parametrize(
@@ -93,7 +93,7 @@ def test_format_var_name(name, expected):
],
)
def test_obj_is_valid(obj, expected):
assert InventoryModule.obj_is_valid(obj) == expected
assert InventoryModule._obj_is_valid(obj) == expected
@pytest.mark.parametrize(
@@ -151,7 +151,7 @@ def test_obj_is_valid(obj, expected):
],
)
def test_get_host_from_service(service, node_name, expected):
assert InventoryModule.get_host_from_service(service, node_name) == expected
assert InventoryModule._get_host_from_service(service, node_name) == expected
@pytest.mark.parametrize(
@@ -199,7 +199,7 @@ def test_get_host_from_service(service, node_name, expected):
],
)
def test_port_from_service(service, expected):
assert InventoryModule.get_port_from_service(service) == expected
assert InventoryModule._get_port_from_service(service) == expected
@pytest.mark.parametrize(
@@ -251,11 +251,11 @@ def test_port_from_service(service, expected):
],
)
def test_is_windows(guest_os_info, annotations, expected):
assert InventoryModule.is_windows(guest_os_info, annotations) == expected
assert InventoryModule._is_windows(guest_os_info, annotations) == expected
def test_get_cluster_domain(inventory, client):
assert inventory.get_cluster_domain(client) == DEFAULT_BASE_DOMAIN
assert inventory._get_cluster_domain(client) == DEFAULT_BASE_DOMAIN
@pytest.mark.parametrize(
@@ -292,10 +292,10 @@ def test_get_cluster_domain(inventory, client):
)
def test_populate_inventory(mocker, inventory, results, expected):
populate_inventory_from_namespace = mocker.patch.object(
inventory, "populate_inventory_from_namespace"
inventory, "_populate_inventory_from_namespace"
)
inventory.populate_inventory(results, InventoryOptions())
inventory._populate_inventory(results, InventoryOptions())
opts = InventoryOptions(
base_domain=results["cluster_domain"], name=results["default_hostname"]
@@ -321,7 +321,7 @@ def test_populate_inventory(mocker, inventory, results, expected):
)
def test_set_groups_from_labels(inventory, groups, labels, expected):
hostname = "default-testvm"
inventory.set_groups_from_labels(hostname, labels)
inventory._set_groups_from_labels(hostname, labels)
for group in expected:
assert group in groups
assert hostname in groups[group]["children"]

View File

@@ -62,7 +62,7 @@ def test_add_host(inventory, groups, hosts, host_format, expected):
namespace_group = "namespace_default"
inventory.inventory.add_group(namespace_group)
inventory.add_host(
inventory._add_host(
{
"name": "testvm",
"namespace": DEFAULT_NAMESPACE,

View File

@@ -23,7 +23,7 @@ def test_config_data_without_connections_ignored(inventory):
"label_selector": "app=test",
}
inventory.connections_compatibility(config_data)
inventory._connections_compatibility(config_data)
assert config_data["name"] == "connection-1"
assert config_data["namespaces"] == ["default"]
@@ -46,7 +46,7 @@ def test_single_connection_supported(inventory):
"label_selector": "app=something",
}
inventory.connections_compatibility(config_data)
inventory._connections_compatibility(config_data)
assert config_data["name"] == "connection-1"
assert config_data["namespaces"] == ["default"]
@@ -58,7 +58,7 @@ def test_multiple_connections_not_supported(inventory):
with pytest.raises(
AnsibleError, match="Split your connections into multiple configuration files."
):
inventory.connections_compatibility(
inventory._connections_compatibility(
{
"connections": [
{
@@ -84,4 +84,4 @@ def test_multiple_connections_not_supported(inventory):
)
def test_connections_exceptions(inventory, config_data, expected):
with pytest.raises(KubeVirtInventoryException, match=expected):
inventory.connections_compatibility(config_data)
inventory._connections_compatibility(config_data)

View File

@@ -37,25 +37,25 @@ from ansible_collections.kubevirt.core.tests.unit.plugins.inventory.constants im
)
def test_fetch_objects(mocker, inventory, opts, namespaces):
get_available_namespaces = mocker.patch.object(
inventory, "get_available_namespaces", return_value=[DEFAULT_NAMESPACE]
inventory, "_get_available_namespaces", return_value=[DEFAULT_NAMESPACE]
)
get_vms_for_namespace = mocker.patch.object(
inventory, "get_vms_for_namespace", return_value=[{}]
inventory, "_get_vms_for_namespace", return_value=[{}]
)
get_vmis_for_namespace = mocker.patch.object(
inventory, "get_vmis_for_namespace", return_value=[{}]
inventory, "_get_vmis_for_namespace", return_value=[{}]
)
get_ssh_services_for_namespace = mocker.patch.object(
inventory, "get_ssh_services_for_namespace", return_value=[]
inventory, "_get_ssh_services_for_namespace", return_value=[]
)
get_default_hostname = mocker.patch.object(
inventory, "get_default_hostname", return_value="default-hostname"
inventory, "_get_default_hostname", return_value="default-hostname"
)
get_cluster_domain = mocker.patch.object(
inventory, "get_cluster_domain", return_value="test.com"
inventory, "_get_cluster_domain", return_value="test.com"
)
inventory.fetch_objects(mocker.Mock(), opts)
inventory._fetch_objects(mocker.Mock(), opts)
if opts.namespaces:
get_available_namespaces.assert_not_called()
@@ -77,25 +77,25 @@ def test_fetch_objects(mocker, inventory, opts, namespaces):
def test_fetch_objects_early_return(mocker, inventory):
get_available_namespaces = mocker.patch.object(
inventory, "get_available_namespaces", return_value=[DEFAULT_NAMESPACE]
inventory, "_get_available_namespaces", return_value=[DEFAULT_NAMESPACE]
)
get_vms_for_namespace = mocker.patch.object(
inventory, "get_vms_for_namespace", return_value=[]
inventory, "_get_vms_for_namespace", return_value=[]
)
get_vmis_for_namespace = mocker.patch.object(
inventory, "get_vmis_for_namespace", return_value=[]
inventory, "_get_vmis_for_namespace", return_value=[]
)
get_ssh_services_for_namespace = mocker.patch.object(
inventory, "get_ssh_services_for_namespace"
inventory, "_get_ssh_services_for_namespace"
)
get_default_hostname = mocker.patch.object(
inventory, "get_default_hostname", return_value="default-hostname"
inventory, "_get_default_hostname", return_value="default-hostname"
)
get_cluster_domain = mocker.patch.object(
inventory, "get_cluster_domain", return_value="test.com"
inventory, "_get_cluster_domain", return_value="test.com"
)
inventory.fetch_objects(mocker.Mock(), InventoryOptions())
inventory._fetch_objects(mocker.Mock(), InventoryOptions())
get_available_namespaces.assert_called_once()
get_vms_for_namespace.assert_called_once_with(

View File

@@ -52,5 +52,6 @@ def status_reason_error(mocker):
)
def test_format_dynamic_api_exc(request, exc, expected):
assert (
InventoryModule.format_dynamic_api_exc(request.getfixturevalue(exc)) == expected
InventoryModule._format_dynamic_api_exc(request.getfixturevalue(exc))
== expected
)

View File

@@ -30,19 +30,19 @@ from ansible_collections.kubevirt.core.tests.unit.plugins.inventory.constants im
indirect=["client"],
)
def test_get_resources(inventory, client):
assert inventory.get_resources(client, "v1", "Namespace") == [
assert inventory._get_resources(client, "v1", "Namespace") == [
{"metadata": {"name": DEFAULT_NAMESPACE}}
]
assert inventory.get_resources(client, "v1", "Service") == [
assert inventory._get_resources(client, "v1", "Service") == [
{"metadata": {"name": "testsvc"}}
]
assert inventory.get_resources(client, "config.openshift.io/v1", "DNS") == [
assert inventory._get_resources(client, "config.openshift.io/v1", "DNS") == [
{"spec": {"baseDomain": DEFAULT_BASE_DOMAIN}}
]
assert inventory.get_resources(client, "kubevirt.io/v1", "VirtualMachine") == [
assert inventory._get_resources(client, "kubevirt.io/v1", "VirtualMachine") == [
{"metadata": {"name": "testvm"}}
]
assert inventory.get_resources(
assert inventory._get_resources(
client, "kubevirt.io/v1", "VirtualMachineInstance"
) == [{"metadata": {"name": "testvmi"}}]
@@ -67,7 +67,7 @@ def test_get_resources(inventory, client):
indirect=["client"],
)
def test_get_available_namespaces(inventory, client, expected):
assert inventory.get_available_namespaces(client) == expected
assert inventory._get_available_namespaces(client) == expected
@pytest.mark.parametrize(
@@ -83,7 +83,7 @@ def test_get_available_namespaces(inventory, client, expected):
indirect=["client"],
)
def test_get_vms_for_namespace(inventory, client):
assert inventory.get_vms_for_namespace(
assert inventory._get_vms_for_namespace(
client, DEFAULT_NAMESPACE, InventoryOptions()
) == [{"metadata": {"name": "testvm1"}}, {"metadata": {"name": "testvm2"}}]
@@ -101,6 +101,6 @@ def test_get_vms_for_namespace(inventory, client):
indirect=["client"],
)
def test_get_vmis_for_namespace(inventory, client):
assert inventory.get_vmis_for_namespace(
assert inventory._get_vmis_for_namespace(
client, DEFAULT_NAMESPACE, InventoryOptions()
) == [{"metadata": {"name": "testvmi1"}}, {"metadata": {"name": "testvmi2"}}]

View File

@@ -57,7 +57,7 @@ SVC_NP_SSH = {
indirect=["client"],
)
def test_get_ssh_services_for_namespace(inventory, client):
assert inventory.get_ssh_services_for_namespace(client, DEFAULT_NAMESPACE) == {
assert inventory._get_ssh_services_for_namespace(client, DEFAULT_NAMESPACE) == {
"test-lb-ssh": SVC_LB_SSH,
"test-np-ssh": SVC_NP_SSH,
}
@@ -165,4 +165,4 @@ SVC_NO_SELECTOR = {
indirect=["client"],
)
def test_ignore_unwanted_services(inventory, client):
assert not inventory.get_ssh_services_for_namespace(client, DEFAULT_NAMESPACE)
assert not inventory._get_ssh_services_for_namespace(client, DEFAULT_NAMESPACE)

View File

@@ -102,8 +102,8 @@ def test_config_data_to_opts(mocker, inventory, config_data, expected):
mocker.patch.object(inventory, "get_cache_key")
mocker.patch.object(inventory, "get_option")
mocker.patch.object(kubevirt, "get_api_client")
mocker.patch.object(inventory, "fetch_objects")
populate_inventory = mocker.patch.object(inventory, "populate_inventory")
mocker.patch.object(inventory, "_fetch_objects")
populate_inventory = mocker.patch.object(inventory, "_populate_inventory")
inventory.parse(None, None, "", False)
@@ -139,8 +139,8 @@ def test_use_of_cache(
)
get_option = mocker.patch.object(inventory, "get_option", return_value=cache_option)
get_api_client = mocker.patch.object(kubevirt, "get_api_client")
fetch_objects = mocker.patch.object(inventory, "fetch_objects")
populate_inventory = mocker.patch.object(inventory, "populate_inventory")
fetch_objects = mocker.patch.object(inventory, "_fetch_objects")
populate_inventory = mocker.patch.object(inventory, "_populate_inventory")
if cache_parse is None:
inventory.parse(None, None, path)
@@ -173,7 +173,7 @@ def test_k8s_client_missing(mocker, inventory, present):
mocker.patch.object(inventory, "_read_config_data", return_value={})
mocker.patch.object(inventory, "get_cache_key")
mocker.patch.object(inventory, "get_option")
fetch_objects = mocker.patch.object(inventory, "fetch_objects")
fetch_objects = mocker.patch.object(inventory, "_fetch_objects")
if present:
inventory.parse(None, None, "", False)

View File

@@ -129,15 +129,15 @@ def test_populate_inventory_from_namespace(
set_vars_from_vmi_calls.append(mocker.call(hostname, vmi, {}, opts))
set_composable_vars_calls.append(mocker.call(hostname))
obj_is_valid = mocker.patch.object(inventory, "obj_is_valid", return_value=True)
obj_is_valid = mocker.patch.object(inventory, "_obj_is_valid", return_value=True)
add_host = mocker.patch.object(
inventory, "add_host", side_effect=add_host_side_effects
inventory, "_add_host", side_effect=add_host_side_effects
)
set_vars_from_vm = mocker.patch.object(inventory, "set_vars_from_vm")
set_vars_from_vmi = mocker.patch.object(inventory, "set_vars_from_vmi")
set_composable_vars = mocker.patch.object(inventory, "set_composable_vars")
set_vars_from_vm = mocker.patch.object(inventory, "_set_vars_from_vm")
set_vars_from_vmi = mocker.patch.object(inventory, "_set_vars_from_vmi")
set_composable_vars = mocker.patch.object(inventory, "_set_composable_vars")
inventory.populate_inventory_from_namespace(
inventory._populate_inventory_from_namespace(
DEFAULT_NAMESPACE, {"vms": vms, "vmis": vmis, "services": {}}, opts
)

View File

@@ -27,7 +27,7 @@ def test_use_ip_address_by_default(mocker, inventory, opts):
hostname = "default-testvm"
ip_address = "1.1.1.1"
inventory.set_ansible_host_and_port({}, hostname, ip_address, None, opts)
inventory._set_ansible_host_and_port({}, hostname, ip_address, None, opts)
set_variable.assert_has_calls(
[
@@ -53,7 +53,7 @@ def test_kube_secondary_dns(mocker, inventory, base_domain):
"status": {"interfaces": [{"name": "awesome"}]},
}
inventory.set_ansible_host_and_port(
inventory._set_ansible_host_and_port(
vmi,
hostname,
"1.1.1.1",
@@ -86,7 +86,7 @@ def test_kube_secondary_dns_precedence_over_service(mocker, inventory):
"status": {"interfaces": [{"name": "awesome"}]},
}
inventory.set_ansible_host_and_port(
inventory._set_ansible_host_and_port(
vmi,
hostname,
"1.1.1.1",
@@ -170,7 +170,7 @@ def test_service(mocker, inventory, service, expected_host, expected_port):
},
}
inventory.set_ansible_host_and_port(
inventory._set_ansible_host_and_port(
vmi,
hostname,
"1.1.1.1",
@@ -201,7 +201,7 @@ def test_service_append_base_domain(mocker, inventory):
"ports": [{"nodePort": 25}],
},
}
inventory.set_ansible_host_and_port(
inventory._set_ansible_host_and_port(
vmi,
hostname,
"1.1.1.1",
@@ -229,8 +229,8 @@ def test_service_append_base_domain(mocker, inventory):
)
def test_service_fallback(mocker, inventory, host, port):
set_variable = mocker.patch.object(inventory.inventory, "set_variable")
mocker.patch.object(inventory, "get_host_from_service", return_value=host)
mocker.patch.object(inventory, "get_port_from_service", return_value=port)
mocker.patch.object(inventory, "_get_host_from_service", return_value=host)
mocker.patch.object(inventory, "_get_port_from_service", return_value=port)
hostname = "default-testvm"
vmi = {
@@ -238,7 +238,7 @@ def test_service_fallback(mocker, inventory, host, port):
"nodeName": "testnode",
},
}
inventory.set_ansible_host_and_port(
inventory._set_ansible_host_and_port(
vmi,
hostname,
"1.1.1.1",
@@ -258,7 +258,7 @@ def test_no_service_if_network_name(mocker, inventory):
set_variable = mocker.patch.object(inventory.inventory, "set_variable")
hostname = "default-testvm"
inventory.set_ansible_host_and_port(
inventory._set_ansible_host_and_port(
{},
hostname,
"1.2.3.4",

View File

@@ -85,7 +85,7 @@ def test_set_common_vars(inventory, hosts, obj, expected):
hostname = "default-testvm"
prefix = "".join(choice(ascii_lowercase) for i in range(5))
inventory.inventory.add_host(hostname)
inventory.set_common_vars(hostname, prefix, obj, InventoryOptions())
inventory._set_common_vars(hostname, prefix, obj, InventoryOptions())
for key, value in expected.items():
prefixed_key = f"{prefix}_{key}"
@@ -102,13 +102,13 @@ def test_set_common_vars(inventory, hosts, obj, expected):
)
def test_set_common_vars_create_groups(mocker, inventory, create_groups):
mocker.patch.object(inventory.inventory, "set_variable")
set_groups_from_labels = mocker.patch.object(inventory, "set_groups_from_labels")
set_groups_from_labels = mocker.patch.object(inventory, "_set_groups_from_labels")
hostname = "default-testvm"
labels = {"testkey": "testval"}
opts = InventoryOptions(create_groups=create_groups)
inventory.set_common_vars(
inventory._set_common_vars(
hostname, "prefix", {"metadata": {"labels": labels}, "status": {}}, opts
)
@@ -123,10 +123,10 @@ def test_called_by_set_vars_from(mocker, inventory):
opts = InventoryOptions()
obj = {"status": {}}
set_common_vars = mocker.patch.object(inventory, "set_common_vars")
set_common_vars = mocker.patch.object(inventory, "_set_common_vars")
inventory.set_vars_from_vm(hostname, obj, opts)
inventory.set_vars_from_vmi(hostname, obj, {}, opts)
inventory._set_vars_from_vm(hostname, obj, opts)
inventory._set_vars_from_vmi(hostname, obj, {}, opts)
set_common_vars.assert_has_calls(
[

View File

@@ -13,21 +13,21 @@ from ansible_collections.kubevirt.core.plugins.inventory.kubevirt import (
def test_ignore_vmi_without_interface(mocker, inventory):
mocker.patch.object(inventory, "set_common_vars")
mocker.patch.object(inventory, "_set_common_vars")
set_ansible_host_and_port = mocker.patch.object(
inventory, "set_ansible_host_and_port"
inventory, "_set_ansible_host_and_port"
)
vmi = {"status": {}}
inventory.set_vars_from_vmi("default-testvm", vmi, {}, InventoryOptions())
inventory._set_vars_from_vmi("default-testvm", vmi, {}, InventoryOptions())
set_ansible_host_and_port.assert_not_called()
def test_use_first_interface_by_default(mocker, inventory):
mocker.patch.object(inventory, "set_common_vars")
mocker.patch.object(inventory, "_set_common_vars")
set_ansible_host_and_port = mocker.patch.object(
inventory, "set_ansible_host_and_port"
inventory, "_set_ansible_host_and_port"
)
hostname = "default-testvm"
@@ -36,7 +36,7 @@ def test_use_first_interface_by_default(mocker, inventory):
"status": {"interfaces": [{"ipAddress": "1.1.1.1"}, {"ipAddress": "2.2.2.2"}]},
}
opts = InventoryOptions()
inventory.set_vars_from_vmi(hostname, vmi, {}, opts)
inventory._set_vars_from_vmi(hostname, vmi, {}, opts)
set_ansible_host_and_port.assert_called_once_with(
vmi, hostname, "1.1.1.1", None, opts
@@ -44,9 +44,9 @@ def test_use_first_interface_by_default(mocker, inventory):
def test_use_named_interface(mocker, inventory):
mocker.patch.object(inventory, "set_common_vars")
mocker.patch.object(inventory, "_set_common_vars")
set_ansible_host_and_port = mocker.patch.object(
inventory, "set_ansible_host_and_port"
inventory, "_set_ansible_host_and_port"
)
hostname = "default-testvm"
@@ -60,7 +60,7 @@ def test_use_named_interface(mocker, inventory):
},
}
opts = InventoryOptions(network_name="second")
inventory.set_vars_from_vmi(hostname, vmi, {}, opts)
inventory._set_vars_from_vmi(hostname, vmi, {}, opts)
set_ansible_host_and_port.assert_called_once_with(
vmi, hostname, "2.2.2.2", None, opts
@@ -68,16 +68,16 @@ def test_use_named_interface(mocker, inventory):
def test_ignore_vmi_without_named_interface(mocker, inventory):
mocker.patch.object(inventory, "set_common_vars")
mocker.patch.object(inventory, "_set_common_vars")
set_ansible_host_and_port = mocker.patch.object(
inventory, "set_ansible_host_and_port"
inventory, "_set_ansible_host_and_port"
)
vmi = {
"metadata": {},
"status": {"interfaces": [{"name": "somename", "ipAddress": "1.1.1.1"}]},
}
inventory.set_vars_from_vmi(
inventory._set_vars_from_vmi(
"default-testvm", vmi, {}, InventoryOptions(network_name="awesome")
)
@@ -85,22 +85,22 @@ def test_ignore_vmi_without_named_interface(mocker, inventory):
def test_set_winrm_if_windows(mocker, inventory):
mocker.patch.object(inventory, "set_common_vars")
mocker.patch.object(inventory, "is_windows", return_value=True)
mocker.patch.object(inventory, "set_ansible_host_and_port")
mocker.patch.object(inventory, "_set_common_vars")
mocker.patch.object(inventory, "_is_windows", return_value=True)
mocker.patch.object(inventory, "_set_ansible_host_and_port")
set_variable = mocker.patch.object(inventory.inventory, "set_variable")
hostname = "default-testvm"
vmi = {"metadata": {}, "status": {"interfaces": [{"ipAddress": "1.1.1.1"}]}}
inventory.set_vars_from_vmi(hostname, vmi, {}, InventoryOptions())
inventory._set_vars_from_vmi(hostname, vmi, {}, InventoryOptions())
set_variable.assert_called_once_with(hostname, "ansible_connection", "winrm")
def test_service_lookup(mocker, inventory):
mocker.patch.object(inventory, "set_common_vars")
mocker.patch.object(inventory, "_set_common_vars")
set_ansible_host_and_port = mocker.patch.object(
inventory, "set_ansible_host_and_port"
inventory, "_set_ansible_host_and_port"
)
hostname = "default-testvm"
@@ -110,7 +110,7 @@ def test_service_lookup(mocker, inventory):
}
opts = InventoryOptions()
service = {"metadata": {"name": "testsvc"}}
inventory.set_vars_from_vmi(hostname, vmi, {"testdomain": service}, opts)
inventory._set_vars_from_vmi(hostname, vmi, {"testdomain": service}, opts)
set_ansible_host_and_port.assert_called_once_with(
vmi, hostname, "1.1.1.1", service, opts