diff options
Diffstat (limited to 'designate/tests/unit/test_central/test_basic.py')
-rw-r--r-- | designate/tests/unit/test_central/test_basic.py | 32 |
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): |