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

View File

@ -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 availability_zone as _availability_zone
from openstack.compute.v2 import extension as _extension from openstack.compute.v2 import extension as _extension
from openstack.compute.v2 import flavor as _flavor 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 limits as _limits
from openstack.compute.v2 import migration as _migration from openstack.compute.v2 import migration as _migration
from openstack.compute.v2 import server as _server from openstack.compute.v2 import server as _server
@ -1020,65 +1019,6 @@ def create_volume_attachments(attrs=None, count=2):
return volume_attachments 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): def create_one_server_group(attrs=None):
"""Create a fake server group """Create a fake server group

View File

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