Adopt sdk_fakes for compute.test_service

Change-Id: I331283f42914b91bd80dfca354635214fb7ba8a7
This commit is contained in:
Stephen Finucane 2024-12-12 11:01:30 +00:00
parent 42b1698e5c
commit afc0d3c252
2 changed files with 83 additions and 83 deletions
openstackclient/tests/unit/compute/v2

@ -32,7 +32,6 @@ from openstack.compute.v2 import server_action as _server_action
from openstack.compute.v2 import server_group as _server_group
from openstack.compute.v2 import server_interface as _server_interface
from openstack.compute.v2 import server_migration as _server_migration
from openstack.compute.v2 import service as _service
from openstack.compute.v2 import usage as _usage
from openstack.compute.v2 import volume_attachment as _volume_attachment
@ -485,51 +484,6 @@ def create_one_server_action(attrs=None):
return server_action
def create_one_service(attrs=None):
"""Create a fake service.
:param dict attrs: A dictionary with all attributes
:return: A fake openstack.compute.v2.service.Service object
"""
attrs = attrs or {}
# Set default attributes.
service_info = {
'id': 'id-' + uuid.uuid4().hex,
'host': 'host-' + uuid.uuid4().hex,
'binary': 'binary-' + uuid.uuid4().hex,
'status': 'enabled',
'availability_zone': 'zone-' + uuid.uuid4().hex,
'state': 'state-' + uuid.uuid4().hex,
'updated_at': 'time-' + uuid.uuid4().hex,
'disabled_reason': 'earthquake',
# Introduced in API microversion 2.11
'is_forced_down': False,
}
# Overwrite default attributes.
service_info.update(attrs)
return _service.Service(**service_info)
def create_services(attrs=None, count=2):
"""Create multiple fake services.
:param dict attrs:
A dictionary with all attributes
:param int count:
The number of services to fake
:return:
A list of FakeResource objects faking the services
"""
services = []
for i in range(0, count):
services.append(create_one_service(attrs))
return services
def create_one_flavor(attrs=None):
"""Create a fake flavor.

@ -14,6 +14,8 @@
from unittest import mock
from openstack.compute.v2 import service as _service
from openstack.test import fakes as sdk_fakes
from osc_lib import exceptions
from openstackclient.compute.v2 import service
@ -21,11 +23,13 @@ from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
class TestServiceDelete(compute_fakes.TestComputev2):
services = compute_fakes.create_services(count=2)
def setUp(self):
super().setUp()
self.services = list(
sdk_fakes.generate_fake_resources(_service.Service, count=2)
)
self.compute_sdk_client.delete_service.return_value = None
# Get the command object to test
@ -94,35 +98,11 @@ class TestServiceDelete(compute_fakes.TestComputev2):
class TestServiceList(compute_fakes.TestComputev2):
service = compute_fakes.create_one_service()
columns = (
'ID',
'Binary',
'Host',
'Zone',
'Status',
'State',
'Updated At',
)
columns_long = columns + ('Disabled Reason',)
data = [
(
service.id,
service.binary,
service.host,
service.availability_zone,
service.status,
service.state,
service.updated_at,
)
]
data_long = [data[0] + (service.disabled_reason,)]
def setUp(self):
super().setUp()
self.service = sdk_fakes.generate_fake_resource(_service.Service)
self.compute_sdk_client.services.return_value = [self.service]
# Get the command object to test
@ -151,8 +131,29 @@ class TestServiceList(compute_fakes.TestComputev2):
binary=self.service.binary,
)
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, list(data))
expected_columns = (
'ID',
'Binary',
'Host',
'Zone',
'Status',
'State',
'Updated At',
)
expected_data = [
(
self.service.id,
self.service.binary,
self.service.host,
self.service.availability_zone,
self.service.status,
self.service.state,
self.service.updated_at,
)
]
self.assertEqual(expected_columns, columns)
self.assertEqual(expected_data, list(data))
def test_service_list_with_long_option(self):
arglist = [
@ -179,8 +180,31 @@ class TestServiceList(compute_fakes.TestComputev2):
binary=self.service.binary,
)
self.assertEqual(self.columns_long, columns)
self.assertEqual(self.data_long, list(data))
expected_columns = (
'ID',
'Binary',
'Host',
'Zone',
'Status',
'State',
'Updated At',
'Disabled Reason',
)
expected_data = [
(
self.service.id,
self.service.binary,
self.service.host,
self.service.availability_zone,
self.service.status,
self.service.state,
self.service.updated_at,
self.service.disabled_reason,
)
]
self.assertEqual(expected_columns, columns)
self.assertEqual(expected_data, list(data))
def test_service_list_with_long_option_2_11(self):
self.set_compute_api_version('2.11')
@ -210,18 +234,40 @@ class TestServiceList(compute_fakes.TestComputev2):
)
# In 2.11 there is also a forced_down column.
columns_long = self.columns_long + ('Forced Down',)
data_long = [self.data_long[0] + (self.service.is_forced_down,)]
expected_columns = (
'ID',
'Binary',
'Host',
'Zone',
'Status',
'State',
'Updated At',
'Disabled Reason',
'Forced Down',
)
expected_data = [
(
self.service.id,
self.service.binary,
self.service.host,
self.service.availability_zone,
self.service.status,
self.service.state,
self.service.updated_at,
self.service.disabled_reason,
self.service.is_forced_down,
)
]
self.assertEqual(columns_long, columns)
self.assertEqual(data_long, list(data))
self.assertEqual(expected_columns, columns)
self.assertEqual(expected_data, list(data))
class TestServiceSet(compute_fakes.TestComputev2):
def setUp(self):
super().setUp()
self.service = compute_fakes.create_one_service()
self.service = sdk_fakes.generate_fake_resource(_service.Service)
self.compute_sdk_client.enable_service.return_value = self.service
self.compute_sdk_client.disable_service.return_value = self.service