Adopt sdk_fakes for compute.test_server_group

Change-Id: I1c97a7b2e28233a3b345a81b62c01e74a0aec914
This commit is contained in:
Artem Goncharov 2023-06-09 17:50:33 +02:00 committed by Stephen Finucane
parent 38029c6988
commit 4cef5f5549
3 changed files with 102 additions and 131 deletions
openstackclient/tests/unit/compute/v2

@ -28,7 +28,6 @@ from openstack.compute.v2 import limits as _limits
from openstack.compute.v2 import migration as _migration
from openstack.compute.v2 import server as _server
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 volume_attachment as _volume_attachment
@ -1019,32 +1018,6 @@ def create_volume_attachments(attrs=None, count=2):
return volume_attachments
def create_one_server_group(attrs=None):
"""Create a fake server group
:param dict attrs: A dictionary with all attributes
:return: A fake openstack.compute.v2.server_group.ServerGroup object
"""
if attrs is None:
attrs = {}
# Set default attributes.
server_group_info = {
'id': 'server-group-id-' + uuid.uuid4().hex,
'member_ids': '',
'metadata': {},
'name': 'server-group-name-' + uuid.uuid4().hex,
'project_id': 'server-group-project-id-' + uuid.uuid4().hex,
'user_id': 'server-group-user-id-' + uuid.uuid4().hex,
}
# Overwrite default attributes.
server_group_info.update(attrs)
server_group = _server_group.ServerGroup(**server_group_info)
return server_group
def create_one_server_interface(attrs=None):
"""Create a fake SDK ServerInterface.

@ -21,7 +21,9 @@ from unittest import mock
import uuid
import iso8601
from openstack.compute.v2 import server_group as _server_group
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 import exceptions
from osc_lib import utils as common_utils
@ -1375,7 +1377,9 @@ class TestServerCreate(TestServer):
self.assertEqual(self.datalist(), data)
def test_server_create_with_options(self):
server_group = compute_fakes.create_one_server_group()
server_group = sdk_fakes.generate_fake_resource(
_server_group.ServerGroup
)
self.compute_sdk_client.find_server_group.return_value = server_group
security_group = network_fakes.create_one_security_group()

@ -13,6 +13,8 @@
# under the License.
#
from openstack.compute.v2 import server_group as _server_group
from openstack.test import fakes as sdk_fakes
from osc_lib.cli import format_columns
from osc_lib import exceptions
@ -22,27 +24,31 @@ from openstackclient.tests.unit import utils as tests_utils
class TestServerGroup(compute_fakes.TestComputev2):
fake_server_group = compute_fakes.create_one_server_group()
def setUp(self):
super().setUp()
columns = (
'id',
'members',
'name',
'policy',
'project_id',
'rules',
'user_id',
)
self.fake_server_group = sdk_fakes.generate_fake_resource(
_server_group.ServerGroup
)
data = (
fake_server_group.id,
format_columns.ListColumn(fake_server_group.member_ids),
fake_server_group.name,
fake_server_group.policy,
fake_server_group.project_id,
format_columns.DictColumn(fake_server_group.rules),
fake_server_group.user_id,
)
self.columns = (
'id',
'members',
'name',
'policy',
'project_id',
'rules',
'user_id',
)
self.data = (
self.fake_server_group.id,
format_columns.ListColumn(self.fake_server_group.member_ids),
self.fake_server_group.name,
self.fake_server_group.policy,
self.fake_server_group.project_id,
format_columns.DictColumn(self.fake_server_group.rules),
self.fake_server_group.user_id,
)
class TestServerGroupCreate(TestServerGroup):
@ -262,82 +268,6 @@ class TestServerGroupDelete(TestServerGroup):
class TestServerGroupList(TestServerGroup):
list_columns = (
'ID',
'Name',
'Policies',
)
list_columns_long = (
'ID',
'Name',
'Policies',
'Members',
'Project Id',
'User Id',
)
list_columns_v264 = (
'ID',
'Name',
'Policy',
)
list_columns_v264_long = (
'ID',
'Name',
'Policy',
'Members',
'Project Id',
'User Id',
)
list_data = (
(
TestServerGroup.fake_server_group.id,
TestServerGroup.fake_server_group.name,
format_columns.ListColumn(
TestServerGroup.fake_server_group.policies
),
),
)
list_data_long = (
(
TestServerGroup.fake_server_group.id,
TestServerGroup.fake_server_group.name,
format_columns.ListColumn(
TestServerGroup.fake_server_group.policies
),
format_columns.ListColumn(
TestServerGroup.fake_server_group.member_ids
),
TestServerGroup.fake_server_group.project_id,
TestServerGroup.fake_server_group.user_id,
),
)
list_data_v264 = (
(
TestServerGroup.fake_server_group.id,
TestServerGroup.fake_server_group.name,
TestServerGroup.fake_server_group.policy,
),
)
list_data_v264_long = (
(
TestServerGroup.fake_server_group.id,
TestServerGroup.fake_server_group.name,
TestServerGroup.fake_server_group.policy,
format_columns.ListColumn(
TestServerGroup.fake_server_group.member_ids
),
TestServerGroup.fake_server_group.project_id,
TestServerGroup.fake_server_group.user_id,
),
)
def setUp(self):
super().setUp()
@ -359,8 +289,21 @@ class TestServerGroupList(TestServerGroup):
self.compute_sdk_client.server_groups.assert_called_once_with()
self.assertCountEqual(self.list_columns, columns)
self.assertCountEqual(self.list_data, tuple(data))
expected_columns = (
'ID',
'Name',
'Policies',
)
expected_data = (
(
self.fake_server_group.id,
self.fake_server_group.name,
format_columns.ListColumn(self.fake_server_group.policies),
),
)
self.assertCountEqual(expected_columns, columns)
self.assertCountEqual(expected_data, tuple(data))
def test_server_group_list_with_all_projects_and_long(self):
arglist = [
@ -379,8 +322,27 @@ class TestServerGroupList(TestServerGroup):
all_projects=True
)
self.assertCountEqual(self.list_columns_long, columns)
self.assertCountEqual(self.list_data_long, tuple(data))
expected_columns = (
'ID',
'Name',
'Policies',
'Members',
'Project Id',
'User Id',
)
expected_data = (
(
self.fake_server_group.id,
self.fake_server_group.name,
format_columns.ListColumn(self.fake_server_group.policies),
format_columns.ListColumn(self.fake_server_group.member_ids),
self.fake_server_group.project_id,
self.fake_server_group.user_id,
),
)
self.assertCountEqual(expected_columns, columns)
self.assertCountEqual(expected_data, tuple(data))
def test_server_group_list_with_limit(self):
arglist = [
@ -428,8 +390,21 @@ class TestServerGroupList(TestServerGroup):
columns, data = self.cmd.take_action(parsed_args)
self.compute_sdk_client.server_groups.assert_called_once_with()
self.assertCountEqual(self.list_columns_v264, columns)
self.assertCountEqual(self.list_data_v264, tuple(data))
expected_columns = (
'ID',
'Name',
'Policy',
)
expected_data = (
(
self.fake_server_group.id,
self.fake_server_group.name,
self.fake_server_group.policy,
),
)
self.assertCountEqual(expected_columns, columns)
self.assertCountEqual(expected_data, tuple(data))
def test_server_group_list_with_all_projects_and_long_v264(self):
self.set_compute_api_version('2.64')
@ -448,8 +423,27 @@ class TestServerGroupList(TestServerGroup):
all_projects=True
)
self.assertCountEqual(self.list_columns_v264_long, columns)
self.assertCountEqual(self.list_data_v264_long, tuple(data))
expected_columns = (
'ID',
'Name',
'Policy',
'Members',
'Project Id',
'User Id',
)
expected_data = (
(
self.fake_server_group.id,
self.fake_server_group.name,
self.fake_server_group.policy,
format_columns.ListColumn(self.fake_server_group.member_ids),
self.fake_server_group.project_id,
self.fake_server_group.user_id,
),
)
self.assertCountEqual(expected_columns, columns)
self.assertCountEqual(expected_data, tuple(data))
class TestServerGroupShow(TestServerGroup):