Improve unit test coverage for dcmanager/manager/system_peer__manager.py (2/2)

This commit includes new unit tests for system_peer_manager.py,
covering new test cases in sync subclouds, delete, update
operations.

Test plan:
1) PASS: Run tox py39, pylint and pep8 envs and
         verify that they are all passing.
2) PASS: Check 'tox -e cover' command output.
         Coverage increased from 69% to 91%

Depends-On: https://review.opendev.org/c/starlingx/distcloud/+/915055

Story: 2007082
Task: 49713

Change-Id: I0b5a7d024f7b3a5c5ef4adb4aa29dc9d0e7f9de4
Signed-off-by: Swapna Gorre <swapna.gorre@windriver.com>
This commit is contained in:
Swapna Gorre 2024-03-15 06:56:21 -04:00
parent 9b466fdd12
commit 652ed53876
1 changed files with 15 additions and 13 deletions

View File

@ -11,6 +11,7 @@ import mock
from dccommon import exceptions as dccommon_exceptions
from dcmanager.common import consts
from dcmanager.common import exceptions
from dcmanager.db.sqlalchemy import api as db_api
from dcmanager.manager import system_peer_manager
from dcmanager.tests import base
@ -40,12 +41,6 @@ FAKE_SITE0_PEER_GROUP_STATE = 'enabled'
# FAKE SUBCLOUD PEER GROUP DATA (SITE1)
FAKE_SITE1_PEER_GROUP_ID = 9
FAKE_SITE1_PEER_GROUP_NAME = 'PeerGroup2'
FAKE_SITE1_PEER_GROUP_MAX_SUBCLOUDS_REHOMING = 20
FAKE_SITE1_PEER_GROUP_STATE = 'enabled'
# FAKE SYSTEM PEER DATA (SITE1)
FAKE_SITE1_SYSTEM_PEER_ID = 10
FAKE_SITE1_SUBCLOUD1_REGION_NAME = str(uuid.uuid4())
FAKE_SITE1_SUBCLOUD2_REGION_NAME = str(uuid.uuid4())
@ -56,7 +51,7 @@ FAKE_ASSOCIATION_PEER_GROUP_ID = \
FAKE_ASSOCIATION_SYSTEM_PEER_ID = \
FAKE_SYSTEM_PEER_ID
FAKE_ASSOCIATION_PEER_GROUP_PRIORITY = 1
FAKE_ASSOCIATION_SYNC_STATUS = 'in-sync'
FAKE_ASSOCIATION_SYNC_STATUS = 'synced'
FAKE_ASSOCIATION_SYNC_MESSAGE = 'None'
FAKE_ASSOCIATION_TYPE = 'primary'
@ -144,6 +139,13 @@ class TestSystemPeerManager(base.DCManagerTestCase):
self.mock_keystone_client = mock_patch.start()
self.addCleanup(mock_patch.stop)
class TestSystemPeerManager(base.DCManagerTestCase):
"""Test class for testing system peer manager"""
def setUp(self):
super(TestSystemPeerManager, self).setUp()
@staticmethod
def create_subcloud_with_pg_static(ctxt, peer_group_id,
rehome_data=None, **kwargs):
@ -160,9 +162,7 @@ class TestSystemPeerManager(base.DCManagerTestCase):
'endpoint': FAKE_MANAGER_ENDPOINT,
'username': FAKE_MANAGER_USERNAME,
'password': FAKE_MANAGER_PASSWORD,
'gateway_ip': FAKE_PEER_CONTROLLER_GATEWAY_IP,
'availability_state':
consts.SYSTEM_PEER_AVAILABILITY_STATE_AVAILABLE
'gateway_ip': FAKE_PEER_CONTROLLER_GATEWAY_IP
}
values.update(kwargs)
return db_api.system_peer_create(ctxt, **values)
@ -314,12 +314,13 @@ class TestDeletePeerGroup(TestSystemPeerManager):
self.mock_get_local_system().get_local_system = mock.MagicMock()
# Create local dc subcloud1 mock data in database
subcloud1 = self.create_subcloud_with_pg_static(
data_install = json.dumps(fake_subcloud.FAKE_SUBCLOUD_INSTALL_VALUES)
self.create_subcloud_with_pg_static(
self.ctx,
peer_group_id=self.peer_group.id,
name='subcloud1')
# Create local dc subcloud2 mock data in database
subcloud2 = self.create_subcloud_with_pg_static(
self.create_subcloud_with_pg_static(
self.ctx,
peer_group_id=self.peer_group.id,
name='subcloud2')
@ -348,7 +349,8 @@ class TestDeletePeerGroup(TestSystemPeerManager):
self.mock_get_local_system.get_local_system = mock.MagicMock()
# Create local dc subcloud1 mock data in database
subcloud1 = self.create_subcloud_with_pg_static(
data_install = json.dumps(fake_subcloud.FAKE_SUBCLOUD_INSTALL_VALUES)
self.create_subcloud_with_pg_static(
self.ctx,
peer_group_id=self.peer_group.id,
name='subcloud1')