Delete checks for default domain delete

Currently defualt can not be deleted through update API.
There are checks in update_domain to prevent this.

This change deletes all checks and related tests for deleting
the default domain, including new default domain and old
default domain tests.

Change-Id: I31a9cd7ac8c394b38038343f85f405080ca5f915
Closes-Bug: 1522616
This commit is contained in:
Navid Pustchi 2016-01-06 20:31:28 +00:00
parent d446a4e297
commit 0354fe00db
2 changed files with 3 additions and 60 deletions

View File

@ -556,13 +556,6 @@ class Manager(manager.Manager):
return ret
def delete_domain(self, domain_id, initiator=None):
# explicitly forbid deleting the default domain (this should be a
# carefully orchestrated manual process involving configuration
# changes, etc)
if domain_id == CONF.identity.default_domain_id:
raise exception.ForbiddenAction(action=_('delete the default '
'domain'))
# Use the driver directly to prevent using old cached value.
domain = self.driver.get_domain(domain_id)

View File

@ -313,65 +313,15 @@ class ResourceTestCase(test_v3.RestfulTestCase,
r = self.credential_api.get_credential(credential['id'])
self.assertDictEqual(credential, r)
def test_delete_default_domain_fails(self):
# Attempting to delete the default domain results in 403 Forbidden.
def test_delete_default_domain(self):
# Need to disable it first.
self.patch('/domains/%(domain_id)s' % {
'domain_id': CONF.identity.default_domain_id},
body={'domain': {'enabled': False}})
self.delete('/domains/%(domain_id)s' % {
'domain_id': CONF.identity.default_domain_id},
expected_status=exception.ForbiddenAction.code)
def test_delete_new_default_domain_fails(self):
# If change the default domain ID, deleting the new default domain
# results in a 403 Forbidden.
# Create a new domain that's not the default
new_domain = unit.new_domain_ref()
new_domain_id = new_domain['id']
self.resource_api.create_domain(new_domain_id, new_domain)
# Disable the new domain so can delete it later.
self.patch('/domains/%(domain_id)s' % {
'domain_id': new_domain_id},
body={'domain': {'enabled': False}})
# Change the default domain
self.config_fixture.config(group='identity',
default_domain_id=new_domain_id)
# Attempt to delete the new domain
self.delete('/domains/%(domain_id)s' % {'domain_id': new_domain_id},
expected_status=exception.ForbiddenAction.code)
def test_delete_old_default_domain(self):
# If change the default domain ID, deleting the old default domain
# works.
# Create a new domain that's not the default
new_domain = unit.new_domain_ref()
new_domain_id = new_domain['id']
self.resource_api.create_domain(new_domain_id, new_domain)
old_default_domain_id = CONF.identity.default_domain_id
# Disable the default domain so we can delete it later.
self.patch('/domains/%(domain_id)s' % {
'domain_id': old_default_domain_id},
body={'domain': {'enabled': False}})
# Change the default domain
self.config_fixture.config(group='identity',
default_domain_id=new_domain_id)
# Delete the old default domain
self.delete(
'/domains/%(domain_id)s' % {'domain_id': old_default_domain_id})
'/domains/%(domain_id)s' % {
'domain_id': CONF.identity.default_domain_id})
def test_token_revoked_once_domain_disabled(self):
"""Test token from a disabled domain has been invalidated.