Adopt sdk_fakes for compute.test_service
Change-Id: I331283f42914b91bd80dfca354635214fb7ba8a7
This commit is contained in:
parent
42b1698e5c
commit
afc0d3c252
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user