Adopt sdk_fakes for compute.test_service
Change-Id: I331283f42914b91bd80dfca354635214fb7ba8a7
This commit is contained in:
@@ -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_group as _server_group
|
||||||
from openstack.compute.v2 import server_interface as _server_interface
|
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 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 usage as _usage
|
||||||
from openstack.compute.v2 import volume_attachment as _volume_attachment
|
from openstack.compute.v2 import volume_attachment as _volume_attachment
|
||||||
|
|
||||||
@@ -485,51 +484,6 @@ def create_one_server_action(attrs=None):
|
|||||||
return server_action
|
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):
|
def create_one_flavor(attrs=None):
|
||||||
"""Create a fake flavor.
|
"""Create a fake flavor.
|
||||||
|
|
||||||
|
@@ -14,6 +14,8 @@
|
|||||||
|
|
||||||
from unittest import mock
|
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 osc_lib import exceptions
|
||||||
|
|
||||||
from openstackclient.compute.v2 import service
|
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):
|
class TestServiceDelete(compute_fakes.TestComputev2):
|
||||||
services = compute_fakes.create_services(count=2)
|
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super().setUp()
|
super().setUp()
|
||||||
|
|
||||||
|
self.services = list(
|
||||||
|
sdk_fakes.generate_fake_resources(_service.Service, count=2)
|
||||||
|
)
|
||||||
|
|
||||||
self.compute_sdk_client.delete_service.return_value = None
|
self.compute_sdk_client.delete_service.return_value = None
|
||||||
|
|
||||||
# Get the command object to test
|
# Get the command object to test
|
||||||
@@ -94,35 +98,11 @@ class TestServiceDelete(compute_fakes.TestComputev2):
|
|||||||
|
|
||||||
|
|
||||||
class TestServiceList(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):
|
def setUp(self):
|
||||||
super().setUp()
|
super().setUp()
|
||||||
|
|
||||||
|
self.service = sdk_fakes.generate_fake_resource(_service.Service)
|
||||||
|
|
||||||
self.compute_sdk_client.services.return_value = [self.service]
|
self.compute_sdk_client.services.return_value = [self.service]
|
||||||
|
|
||||||
# Get the command object to test
|
# Get the command object to test
|
||||||
@@ -151,8 +131,29 @@ class TestServiceList(compute_fakes.TestComputev2):
|
|||||||
binary=self.service.binary,
|
binary=self.service.binary,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(self.columns, columns)
|
expected_columns = (
|
||||||
self.assertEqual(self.data, list(data))
|
'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):
|
def test_service_list_with_long_option(self):
|
||||||
arglist = [
|
arglist = [
|
||||||
@@ -179,8 +180,31 @@ class TestServiceList(compute_fakes.TestComputev2):
|
|||||||
binary=self.service.binary,
|
binary=self.service.binary,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.assertEqual(self.columns_long, columns)
|
expected_columns = (
|
||||||
self.assertEqual(self.data_long, list(data))
|
'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):
|
def test_service_list_with_long_option_2_11(self):
|
||||||
self.set_compute_api_version('2.11')
|
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.
|
# In 2.11 there is also a forced_down column.
|
||||||
columns_long = self.columns_long + ('Forced Down',)
|
expected_columns = (
|
||||||
data_long = [self.data_long[0] + (self.service.is_forced_down,)]
|
'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(expected_columns, columns)
|
||||||
self.assertEqual(data_long, list(data))
|
self.assertEqual(expected_data, list(data))
|
||||||
|
|
||||||
|
|
||||||
class TestServiceSet(compute_fakes.TestComputev2):
|
class TestServiceSet(compute_fakes.TestComputev2):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super().setUp()
|
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.enable_service.return_value = self.service
|
||||||
self.compute_sdk_client.disable_service.return_value = self.service
|
self.compute_sdk_client.disable_service.return_value = self.service
|
||||||
|
Reference in New Issue
Block a user