
Create a Zuul job to check Black Formatter in the code. This commit also applies the Black formatter to the entire project. Test Plan Pass - Success on stx-distcloud-client-tox-black Pass - Success on tox command Story: 2011149 Task: 50393 Change-Id: I5d7b537e83931304ffd5f67ce51e8ebb44f7e65b Signed-off-by: Hugo Brito <hugo.brito@windriver.com>
130 lines
4.2 KiB
Python
130 lines
4.2 KiB
Python
# Copyright (c) 2023-2024 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
import mock
|
|
from oslo_utils import timeutils
|
|
|
|
from dcmanagerclient.api.v1.subcloud_peer_group_manager import (
|
|
SubcloudPeerGroup as Peergroup,
|
|
)
|
|
from dcmanagerclient.commands.v1 import (
|
|
subcloud_peer_group_manager as subcloud_peer_group_cmd,
|
|
)
|
|
from dcmanagerclient.exceptions import DCManagerClientException
|
|
from dcmanagerclient.tests import base
|
|
|
|
FAKE_MANAGER = None
|
|
PG_ID = "1"
|
|
PG_NAME = "test-pg-name"
|
|
PG_GROUP_PRIORITY = "0"
|
|
PG_GROUP_STATE = "disabled"
|
|
PG_MAX_SUBCLOUD_REHOMING = "10"
|
|
PG_SYSTEM_LEADER_ID = "d9dea83f-f271-470d-9cce-44b0162a800b"
|
|
PG_SYSTEM_LEADER_NAME = "dc-1"
|
|
TIME_NOW = timeutils.utcnow().isoformat()
|
|
PG_CREATED_AT = TIME_NOW
|
|
PG_UPDATED_AT = TIME_NOW
|
|
SubcloudPeerGroup = Peergroup(
|
|
mock,
|
|
PG_ID,
|
|
PG_NAME,
|
|
PG_GROUP_PRIORITY,
|
|
PG_GROUP_STATE,
|
|
PG_SYSTEM_LEADER_ID,
|
|
PG_SYSTEM_LEADER_NAME,
|
|
PG_MAX_SUBCLOUD_REHOMING,
|
|
PG_CREATED_AT,
|
|
PG_UPDATED_AT,
|
|
)
|
|
|
|
PG_TUPLE = (
|
|
PG_ID,
|
|
PG_NAME,
|
|
PG_GROUP_PRIORITY,
|
|
PG_GROUP_STATE,
|
|
PG_SYSTEM_LEADER_ID,
|
|
PG_SYSTEM_LEADER_NAME,
|
|
PG_MAX_SUBCLOUD_REHOMING,
|
|
)
|
|
PG_TUPLE_WITH_DATE = PG_TUPLE + (PG_CREATED_AT, PG_UPDATED_AT)
|
|
|
|
|
|
class TestCLISubcloudPeerGroupManager(base.BaseCommandTest):
|
|
def setUp(self):
|
|
super().setUp()
|
|
# The client is the subcloud_peer_group_manager
|
|
self.client = self.app.client_manager.subcloud_peer_group_manager
|
|
|
|
def test_list_subcloud_peer_groups(self):
|
|
self.client.list_subcloud_peer_groups.return_value = [SubcloudPeerGroup]
|
|
actual_call = self.call(subcloud_peer_group_cmd.ListSubcloudPeerGroup)
|
|
self.assertEqual([PG_TUPLE_WITH_DATE], actual_call[1])
|
|
|
|
def test_show_subcloud_peer_group(self):
|
|
self.client.subcloud_peer_group_detail.return_value = [SubcloudPeerGroup]
|
|
actual_call = self.call(
|
|
subcloud_peer_group_cmd.ShowSubcloudPeerGroup, app_args=[PG_ID]
|
|
)
|
|
self.assertEqual(PG_TUPLE_WITH_DATE, actual_call[1])
|
|
|
|
def test_list_subcloud_peer_group_subclouds(self):
|
|
self.client.subcloud_peer_group_list_subclouds.return_value = [
|
|
base.SUBCLOUD_RESOURCE_WITH_PEERID
|
|
]
|
|
actual_call = self.call(
|
|
subcloud_peer_group_cmd.ListSubcloudPeerGroupSubclouds,
|
|
app_args=[base.ID],
|
|
)
|
|
self.assertEqual([base.SUBCLOUD_FIELD_RESULT_LIST_WITH_PEERID], actual_call[1])
|
|
|
|
def test_add_subcloud_peer_group(self):
|
|
self.client.add_subcloud_peer_group.return_value = [SubcloudPeerGroup]
|
|
actual_call1 = self.call(
|
|
subcloud_peer_group_cmd.AddSubcloudPeerGroup,
|
|
app_args=["--peer-group-name", PG_NAME],
|
|
)
|
|
|
|
actual_call2 = self.call(
|
|
subcloud_peer_group_cmd.AddSubcloudPeerGroup,
|
|
app_args=[
|
|
"--peer-group-name",
|
|
PG_NAME,
|
|
"--group-state",
|
|
PG_GROUP_STATE,
|
|
"--max-subcloud-rehoming",
|
|
PG_MAX_SUBCLOUD_REHOMING,
|
|
],
|
|
)
|
|
self.assertEqual(PG_TUPLE_WITH_DATE, actual_call1[1])
|
|
self.assertEqual(PG_TUPLE_WITH_DATE, actual_call2[1])
|
|
|
|
def test_delete_subcloud_peer_group(self):
|
|
self.call(subcloud_peer_group_cmd.DeleteSubcloudPeerGroup, app_args=[PG_ID])
|
|
self.client.delete_subcloud_peer_group.assert_called_once_with(PG_ID)
|
|
|
|
def test_update_subcloud_peer_group(self):
|
|
self.client.update_subcloud_peer_group.return_value = [SubcloudPeerGroup]
|
|
actual_call = self.call(
|
|
subcloud_peer_group_cmd.UpdateSubcloudPeerGroup,
|
|
app_args=[
|
|
base.ID,
|
|
"--peer-group-name",
|
|
PG_NAME,
|
|
"--group-state",
|
|
PG_GROUP_STATE,
|
|
"--max-subcloud-rehoming",
|
|
PG_MAX_SUBCLOUD_REHOMING,
|
|
],
|
|
)
|
|
self.assertEqual((PG_TUPLE_WITH_DATE), actual_call[1])
|
|
|
|
e = self.assertRaises(
|
|
DCManagerClientException,
|
|
self.call,
|
|
subcloud_peer_group_cmd.UpdateSubcloudPeerGroup,
|
|
app_args=[base.ID],
|
|
)
|
|
self.assertTrue("Nothing to update" in str(e))
|