From a85b2d23c1f203b406cfcbfdb19b18c0b0938f82 Mon Sep 17 00:00:00 2001 From: Liam Young Date: Wed, 19 Dec 2018 11:26:14 +0000 Subject: [PATCH] Stop duplicates being added to delete_resources Stop duplicates being added to delete_resources. Change-Id: I31a2e5e97abda0106891bcc0d9040cda00629b96 --- common.py | 5 +++-- unit_tests/test_common.py | 8 ++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/common.py b/common.py index fc2ed5c..626f0da 100644 --- a/common.py +++ b/common.py @@ -338,8 +338,9 @@ class CRM(dict): -------- http://crmsh.github.io/man/#cmdhelp_configure_delete """ - self['delete_resources'] = (*self['delete_resources'], resource) - self.remove_deleted_resources() + if resource not in self['delete_resources']: + self['delete_resources'] = (*self['delete_resources'], resource) + self.remove_deleted_resources() def init_services(self, *resources): """Specifies that the service(s) is an init or upstart service. diff --git a/unit_tests/test_common.py b/unit_tests/test_common.py index 426ca8a..497bb34 100644 --- a/unit_tests/test_common.py +++ b/unit_tests/test_common.py @@ -213,6 +213,14 @@ class TestHAClusterCommonCRM(unittest.TestCase): crm['delete_resources'], ('grp_mysql', 'res_mysql_vip')) + def test_add_delete_resource_dupe(self): + crm = common.CRM() + crm.add_delete_resource('res_mysql_vip') + crm.add_delete_resource('res_mysql_vip') + self.assertEqual( + crm['delete_resources'], + ('res_mysql_vip',)) + def test_init_services(self): crm = common.CRM() crm.init_services('haproxy')