Adopt sdk_fakes for compute.test_hypervisor

Change-Id: Ibed4390be61c98f8c9e348835493bc714f8b9e87
This commit is contained in:
Stephen Finucane 2024-12-12 11:06:33 +00:00
parent 776b7d0c66
commit 38029c6988
2 changed files with 60 additions and 113 deletions
openstackclient/tests/unit/compute/v2

@ -24,7 +24,6 @@ from openstack.compute.v2 import _proxy
from openstack.compute.v2 import availability_zone as _availability_zone
from openstack.compute.v2 import extension as _extension
from openstack.compute.v2 import flavor as _flavor
from openstack.compute.v2 import hypervisor as _hypervisor
from openstack.compute.v2 import limits as _limits
from openstack.compute.v2 import migration as _migration
from openstack.compute.v2 import server as _server
@ -1020,65 +1019,6 @@ def create_volume_attachments(attrs=None, count=2):
return volume_attachments
def create_one_hypervisor(attrs=None):
"""Create a fake hypervisor.
:param dict attrs: A dictionary with all attributes
:return: A fake openstack.compute.v2.hypervisor.Hypervisor object
"""
attrs = attrs or {}
# Set default attributes.
hypervisor_info = {
'id': 'hypervisor-id-' + uuid.uuid4().hex,
'hypervisor_hostname': 'hypervisor-hostname-' + uuid.uuid4().hex,
'status': 'enabled',
'host_ip': '192.168.0.10',
'cpu_info': {
'aaa': 'aaa',
},
'free_disk_gb': 50,
'hypervisor_version': 2004001,
'disk_available_least': 50,
'local_gb': 50,
'free_ram_mb': 1024,
'service': {
'host': 'aaa',
'disabled_reason': None,
'id': 1,
},
'vcpus_used': 0,
'hypervisor_type': 'QEMU',
'local_gb_used': 0,
'vcpus': 4,
'memory_mb_used': 512,
'memory_mb': 1024,
'current_workload': 0,
'state': 'up',
'running_vms': 0,
}
# Overwrite default attributes.
hypervisor_info.update(attrs)
hypervisor = _hypervisor.Hypervisor(**hypervisor_info, loaded=True)
return hypervisor
def create_hypervisors(attrs=None, count=2):
"""Create multiple fake hypervisors.
:param dict attrs: A dictionary with all attributes
:param int count: The number of hypervisors to fake
:return: A list of fake openstack.compute.v2.hypervisor.Hypervisor objects
"""
hypervisors = []
for i in range(0, count):
hypervisors.append(create_one_hypervisor(attrs))
return hypervisors
def create_one_server_group(attrs=None):
"""Create a fake server group

@ -14,7 +14,9 @@
import json
from openstack.compute.v2 import hypervisor as _hypervisor
from openstack import exceptions as sdk_exceptions
from openstack.test import fakes as sdk_fakes
from osc_lib.cli import format_columns
from osc_lib import exceptions
@ -27,8 +29,12 @@ class TestHypervisorList(compute_fakes.TestComputev2):
super().setUp()
# Fake hypervisors to be listed up
self.hypervisors = compute_fakes.create_hypervisors()
self.compute_sdk_client.hypervisors.return_value = self.hypervisors
self.hypervisors = list(
sdk_fakes.generate_fake_resources(_hypervisor.Hypervisor, count=2)
)
self.compute_sdk_client.hypervisors.return_value = iter(
self.hypervisors
)
self.columns = (
"ID",
@ -125,9 +131,9 @@ class TestHypervisorList(compute_fakes.TestComputev2):
(
self.hypervisors[0].id,
self.hypervisors[0].name,
self.hypervisors[1].hypervisor_type,
self.hypervisors[1].host_ip,
self.hypervisors[1].state,
self.hypervisors[0].hypervisor_type,
self.hypervisors[0].host_ip,
self.hypervisors[0].state,
),
)
@ -290,10 +296,11 @@ class TestHypervisorShow(compute_fakes.TestComputev2):
)
# Fake hypervisors to be listed up
self.hypervisor = compute_fakes.create_one_hypervisor(
attrs={
'uptime': uptime_string,
}
self.hypervisor = sdk_fakes.generate_fake_resource(
_hypervisor.Hypervisor,
uptime=uptime_string,
service={"id": 1, "host": "aaa"},
cpu_info={"aaa": "aaa"},
)
self.compute_sdk_client.find_hypervisor.return_value = self.hypervisor
@ -332,18 +339,18 @@ class TestHypervisorShow(compute_fakes.TestComputev2):
self.data_v288 = (
[],
format_columns.DictColumn({'aaa': 'aaa'}),
'192.168.0.10',
format_columns.DictColumn(self.hypervisor.cpu_info),
self.hypervisor.host_ip,
'01:28:24',
self.hypervisor.name,
'QEMU',
2004001,
self.hypervisor.hypervisor_type,
self.hypervisor.hypervisor_version,
self.hypervisor.id,
'0.94, 0.62, 0.50',
'aaa',
1,
'up',
'enabled',
self.hypervisor.service_details["host"],
self.hypervisor.service_details["id"],
self.hypervisor.state,
self.hypervisor.status,
'3 days, 11:15',
'1',
)
@ -378,31 +385,31 @@ class TestHypervisorShow(compute_fakes.TestComputev2):
)
self.data = (
[],
format_columns.DictColumn({'aaa': 'aaa'}),
0,
50,
50,
1024,
'192.168.0.10',
format_columns.DictColumn(self.hypervisor.cpu_info),
self.hypervisor.current_workload,
self.hypervisor.disk_available,
self.hypervisor.local_disk_free,
self.hypervisor.memory_free,
self.hypervisor.host_ip,
'01:28:24',
self.hypervisor.name,
'QEMU',
2004001,
self.hypervisor.hypervisor_type,
self.hypervisor.hypervisor_version,
self.hypervisor.id,
'0.94, 0.62, 0.50',
50,
0,
1024,
512,
0,
'aaa',
self.hypervisor.local_disk_size,
self.hypervisor.local_disk_used,
self.hypervisor.memory_size,
self.hypervisor.memory_used,
self.hypervisor.running_vms,
self.hypervisor.service_details["host"],
1,
'up',
'enabled',
self.hypervisor.state,
self.hypervisor.status,
'3 days, 11:15',
'1',
4,
0,
self.hypervisor.vcpus,
self.hypervisor.vcpus_used,
)
# Get the command object to test
@ -537,27 +544,27 @@ class TestHypervisorShow(compute_fakes.TestComputev2):
)
expected_data = (
[],
format_columns.DictColumn({'aaa': 'aaa'}),
0,
50,
50,
1024,
'192.168.0.10',
format_columns.DictColumn(self.hypervisor.cpu_info),
self.hypervisor.current_workload,
self.hypervisor.disk_available,
self.hypervisor.local_disk_free,
self.hypervisor.memory_free,
self.hypervisor.host_ip,
self.hypervisor.name,
'QEMU',
2004001,
self.hypervisor.hypervisor_type,
self.hypervisor.hypervisor_version,
self.hypervisor.id,
50,
0,
1024,
512,
0,
'aaa',
self.hypervisor.local_disk_size,
self.hypervisor.local_disk_used,
self.hypervisor.memory_size,
self.hypervisor.memory_used,
self.hypervisor.running_vms,
self.hypervisor.service_details["host"],
1,
'up',
'enabled',
4,
0,
self.hypervisor.state,
self.hypervisor.status,
self.hypervisor.vcpus,
self.hypervisor.vcpus_used,
)
self.assertEqual(expected_columns, columns)