summaryrefslogtreecommitdiff
path: root/designate/tests/unit/test_central/test_basic.py
diff options
context:
space:
mode:
Diffstat (limited to 'designate/tests/unit/test_central/test_basic.py')
-rw-r--r--designate/tests/unit/test_central/test_basic.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/designate/tests/unit/test_central/test_basic.py b/designate/tests/unit/test_central/test_basic.py
index e9e7a6b9..c371082c 100644
--- a/designate/tests/unit/test_central/test_basic.py
+++ b/designate/tests/unit/test_central/test_basic.py
@@ -264,6 +264,7 @@ class CentralBasic(TestCase):
'sudo',
'abandon',
'all_tenants',
+ 'hard_delete'
])
self.service = Service()
@@ -922,6 +923,7 @@ class CentralZoneTestCase(CentralBasic):
def test_delete_zone_has_subzone(self):
self.context.abandon = False
+ self.context.hard_delete = False
self.service.storage.get_zone.return_value = RoObject(
name='foo',
tenant_id='2',
@@ -961,6 +963,7 @@ class CentralZoneTestCase(CentralBasic):
def test_delete_zone(self):
self.context.abandon = False
+ self.context.hard_delete = False
self.service.storage.get_zone.return_value = RoObject(
name='foo',
tenant_id='2',
@@ -983,6 +986,35 @@ class CentralZoneTestCase(CentralBasic):
self.assertEqual('foo', out.name)
pcheck, ctx, target = \
designate.central.service.policy.check.call_args[0]
+
+ self.assertEqual('delete_zone', pcheck)
+
+ def test_delete_zone_hard_delete(self):
+ self.context.abandon = False
+ self.context.hard_delete = True
+ self.service.storage.get_zone.return_value = RoObject(
+ name='foo',
+ tenant_id='2',
+ )
+ self.service._delete_zone_in_storage = mock.Mock(
+ return_value=RoObject(
+ name='foo'
+ )
+ )
+ self.service.storage.count_zones.return_value = 0
+ out = self.service.delete_zone(self.context,
+ CentralZoneTestCase.zone__id)
+ self.assertFalse(self.service.storage.delete_zone.called)
+ self.assertTrue(self.service.worker_api.delete_zone.called)
+ self.assertTrue(designate.central.service.policy.check.called)
+ ctx, deleted_dom = \
+ self.service.worker_api.delete_zone.call_args[0]
+
+ self.assertEqual('foo', deleted_dom.name)
+ self.assertEqual('foo', out.name)
+ pcheck, ctx, target = \
+ designate.central.service.policy.check.call_args[0]
+
self.assertEqual('delete_zone', pcheck)
def test_delete_zone_in_storage(self):