Skip to content

Commit 38029c6

Browse files
committed
Adopt sdk_fakes for compute.test_hypervisor
Change-Id: Ibed4390be61c98f8c9e348835493bc714f8b9e87
1 parent 776b7d0 commit 38029c6

2 files changed

Lines changed: 60 additions & 113 deletions

File tree

openstackclient/tests/unit/compute/v2/fakes.py

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
from openstack.compute.v2 import availability_zone as _availability_zone
2525
from openstack.compute.v2 import extension as _extension
2626
from openstack.compute.v2 import flavor as _flavor
27-
from openstack.compute.v2 import hypervisor as _hypervisor
2827
from openstack.compute.v2 import limits as _limits
2928
from openstack.compute.v2 import migration as _migration
3029
from openstack.compute.v2 import server as _server
@@ -1020,65 +1019,6 @@ def create_volume_attachments(attrs=None, count=2):
10201019
return volume_attachments
10211020

10221021

1023-
def create_one_hypervisor(attrs=None):
1024-
"""Create a fake hypervisor.
1025-
1026-
:param dict attrs: A dictionary with all attributes
1027-
:return: A fake openstack.compute.v2.hypervisor.Hypervisor object
1028-
"""
1029-
attrs = attrs or {}
1030-
1031-
# Set default attributes.
1032-
hypervisor_info = {
1033-
'id': 'hypervisor-id-' + uuid.uuid4().hex,
1034-
'hypervisor_hostname': 'hypervisor-hostname-' + uuid.uuid4().hex,
1035-
'status': 'enabled',
1036-
'host_ip': '192.168.0.10',
1037-
'cpu_info': {
1038-
'aaa': 'aaa',
1039-
},
1040-
'free_disk_gb': 50,
1041-
'hypervisor_version': 2004001,
1042-
'disk_available_least': 50,
1043-
'local_gb': 50,
1044-
'free_ram_mb': 1024,
1045-
'service': {
1046-
'host': 'aaa',
1047-
'disabled_reason': None,
1048-
'id': 1,
1049-
},
1050-
'vcpus_used': 0,
1051-
'hypervisor_type': 'QEMU',
1052-
'local_gb_used': 0,
1053-
'vcpus': 4,
1054-
'memory_mb_used': 512,
1055-
'memory_mb': 1024,
1056-
'current_workload': 0,
1057-
'state': 'up',
1058-
'running_vms': 0,
1059-
}
1060-
1061-
# Overwrite default attributes.
1062-
hypervisor_info.update(attrs)
1063-
1064-
hypervisor = _hypervisor.Hypervisor(**hypervisor_info, loaded=True)
1065-
return hypervisor
1066-
1067-
1068-
def create_hypervisors(attrs=None, count=2):
1069-
"""Create multiple fake hypervisors.
1070-
1071-
:param dict attrs: A dictionary with all attributes
1072-
:param int count: The number of hypervisors to fake
1073-
:return: A list of fake openstack.compute.v2.hypervisor.Hypervisor objects
1074-
"""
1075-
hypervisors = []
1076-
for i in range(0, count):
1077-
hypervisors.append(create_one_hypervisor(attrs))
1078-
1079-
return hypervisors
1080-
1081-
10821022
def create_one_server_group(attrs=None):
10831023
"""Create a fake server group
10841024

openstackclient/tests/unit/compute/v2/test_hypervisor.py

Lines changed: 60 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414

1515
import json
1616

17+
from openstack.compute.v2 import hypervisor as _hypervisor
1718
from openstack import exceptions as sdk_exceptions
19+
from openstack.test import fakes as sdk_fakes
1820
from osc_lib.cli import format_columns
1921
from osc_lib import exceptions
2022

@@ -27,8 +29,12 @@ def setUp(self):
2729
super().setUp()
2830

2931
# Fake hypervisors to be listed up
30-
self.hypervisors = compute_fakes.create_hypervisors()
31-
self.compute_sdk_client.hypervisors.return_value = self.hypervisors
32+
self.hypervisors = list(
33+
sdk_fakes.generate_fake_resources(_hypervisor.Hypervisor, count=2)
34+
)
35+
self.compute_sdk_client.hypervisors.return_value = iter(
36+
self.hypervisors
37+
)
3238

3339
self.columns = (
3440
"ID",
@@ -125,9 +131,9 @@ def test_hypervisor_list_matching_option_found(self):
125131
(
126132
self.hypervisors[0].id,
127133
self.hypervisors[0].name,
128-
self.hypervisors[1].hypervisor_type,
129-
self.hypervisors[1].host_ip,
130-
self.hypervisors[1].state,
134+
self.hypervisors[0].hypervisor_type,
135+
self.hypervisors[0].host_ip,
136+
self.hypervisors[0].state,
131137
),
132138
)
133139

@@ -290,10 +296,11 @@ def setUp(self):
290296
)
291297

292298
# Fake hypervisors to be listed up
293-
self.hypervisor = compute_fakes.create_one_hypervisor(
294-
attrs={
295-
'uptime': uptime_string,
296-
}
299+
self.hypervisor = sdk_fakes.generate_fake_resource(
300+
_hypervisor.Hypervisor,
301+
uptime=uptime_string,
302+
service={"id": 1, "host": "aaa"},
303+
cpu_info={"aaa": "aaa"},
297304
)
298305

299306
self.compute_sdk_client.find_hypervisor.return_value = self.hypervisor
@@ -332,18 +339,18 @@ def setUp(self):
332339

333340
self.data_v288 = (
334341
[],
335-
format_columns.DictColumn({'aaa': 'aaa'}),
336-
'192.168.0.10',
342+
format_columns.DictColumn(self.hypervisor.cpu_info),
343+
self.hypervisor.host_ip,
337344
'01:28:24',
338345
self.hypervisor.name,
339-
'QEMU',
340-
2004001,
346+
self.hypervisor.hypervisor_type,
347+
self.hypervisor.hypervisor_version,
341348
self.hypervisor.id,
342349
'0.94, 0.62, 0.50',
343-
'aaa',
344-
1,
345-
'up',
346-
'enabled',
350+
self.hypervisor.service_details["host"],
351+
self.hypervisor.service_details["id"],
352+
self.hypervisor.state,
353+
self.hypervisor.status,
347354
'3 days, 11:15',
348355
'1',
349356
)
@@ -378,31 +385,31 @@ def setUp(self):
378385
)
379386
self.data = (
380387
[],
381-
format_columns.DictColumn({'aaa': 'aaa'}),
382-
0,
383-
50,
384-
50,
385-
1024,
386-
'192.168.0.10',
388+
format_columns.DictColumn(self.hypervisor.cpu_info),
389+
self.hypervisor.current_workload,
390+
self.hypervisor.disk_available,
391+
self.hypervisor.local_disk_free,
392+
self.hypervisor.memory_free,
393+
self.hypervisor.host_ip,
387394
'01:28:24',
388395
self.hypervisor.name,
389-
'QEMU',
390-
2004001,
396+
self.hypervisor.hypervisor_type,
397+
self.hypervisor.hypervisor_version,
391398
self.hypervisor.id,
392399
'0.94, 0.62, 0.50',
393-
50,
394-
0,
395-
1024,
396-
512,
397-
0,
398-
'aaa',
400+
self.hypervisor.local_disk_size,
401+
self.hypervisor.local_disk_used,
402+
self.hypervisor.memory_size,
403+
self.hypervisor.memory_used,
404+
self.hypervisor.running_vms,
405+
self.hypervisor.service_details["host"],
399406
1,
400-
'up',
401-
'enabled',
407+
self.hypervisor.state,
408+
self.hypervisor.status,
402409
'3 days, 11:15',
403410
'1',
404-
4,
405-
0,
411+
self.hypervisor.vcpus,
412+
self.hypervisor.vcpus_used,
406413
)
407414

408415
# Get the command object to test
@@ -537,27 +544,27 @@ def test_hypervisor_show_uptime_not_implemented(self):
537544
)
538545
expected_data = (
539546
[],
540-
format_columns.DictColumn({'aaa': 'aaa'}),
541-
0,
542-
50,
543-
50,
544-
1024,
545-
'192.168.0.10',
547+
format_columns.DictColumn(self.hypervisor.cpu_info),
548+
self.hypervisor.current_workload,
549+
self.hypervisor.disk_available,
550+
self.hypervisor.local_disk_free,
551+
self.hypervisor.memory_free,
552+
self.hypervisor.host_ip,
546553
self.hypervisor.name,
547-
'QEMU',
548-
2004001,
554+
self.hypervisor.hypervisor_type,
555+
self.hypervisor.hypervisor_version,
549556
self.hypervisor.id,
550-
50,
551-
0,
552-
1024,
553-
512,
554-
0,
555-
'aaa',
557+
self.hypervisor.local_disk_size,
558+
self.hypervisor.local_disk_used,
559+
self.hypervisor.memory_size,
560+
self.hypervisor.memory_used,
561+
self.hypervisor.running_vms,
562+
self.hypervisor.service_details["host"],
556563
1,
557-
'up',
558-
'enabled',
559-
4,
560-
0,
564+
self.hypervisor.state,
565+
self.hypervisor.status,
566+
self.hypervisor.vcpus,
567+
self.hypervisor.vcpus_used,
561568
)
562569

563570
self.assertEqual(expected_columns, columns)

0 commit comments

Comments
 (0)