Merge "Add parent_id to create_project"
This commit is contained in:
commit
236954be0c
@ -13,10 +13,15 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
|
import testtools
|
||||||
|
|
||||||
from tempest.api.identity import base
|
from tempest.api.identity import base
|
||||||
from tempest.common.utils import data_utils
|
from tempest.common.utils import data_utils
|
||||||
|
from tempest import config
|
||||||
from tempest import test
|
from tempest import test
|
||||||
|
|
||||||
|
CONF = config.CONF
|
||||||
|
|
||||||
|
|
||||||
class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
|
class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
|
||||||
|
|
||||||
@ -52,6 +57,37 @@ class ProjectsTestJSON(base.BaseIdentityV3AdminTest):
|
|||||||
self.assertEqual(project_name, body['name'])
|
self.assertEqual(project_name, body['name'])
|
||||||
self.assertEqual(self.data.domain['id'], body['domain_id'])
|
self.assertEqual(self.data.domain['id'], body['domain_id'])
|
||||||
|
|
||||||
|
@testtools.skipUnless(CONF.identity_feature_enabled.reseller,
|
||||||
|
'Reseller not available.')
|
||||||
|
@test.idempotent_id('1854f9c0-70bc-4d11-a08a-1c789d339e3d')
|
||||||
|
def test_project_create_with_parent(self):
|
||||||
|
# Create root project without providing a parent_id
|
||||||
|
self.data.setup_test_domain()
|
||||||
|
domain_id = self.data.domain['id']
|
||||||
|
|
||||||
|
root_project_name = data_utils.rand_name('root_project')
|
||||||
|
root_project = self.projects_client.create_project(
|
||||||
|
root_project_name, domain_id=domain_id)['project']
|
||||||
|
self.addCleanup(
|
||||||
|
self.projects_client.delete_project, root_project['id'])
|
||||||
|
|
||||||
|
root_project_id = root_project['id']
|
||||||
|
parent_id = root_project['parent_id']
|
||||||
|
self.assertEqual(root_project_name, root_project['name'])
|
||||||
|
# If not provided, the parent_id must point to the top level
|
||||||
|
# project in the hierarchy, i.e. its domain
|
||||||
|
self.assertEqual(domain_id, parent_id)
|
||||||
|
|
||||||
|
# Create a project using root_project_id as parent_id
|
||||||
|
project_name = data_utils.rand_name('project')
|
||||||
|
project = self.projects_client.create_project(
|
||||||
|
project_name, domain_id=domain_id,
|
||||||
|
parent_id=root_project_id)['project']
|
||||||
|
self.data.projects.append(project)
|
||||||
|
parent_id = project['parent_id']
|
||||||
|
self.assertEqual(project_name, project['name'])
|
||||||
|
self.assertEqual(root_project_id, parent_id)
|
||||||
|
|
||||||
@test.idempotent_id('1f66dc76-50cc-4741-a200-af984509e480')
|
@test.idempotent_id('1f66dc76-50cc-4741-a200-af984509e480')
|
||||||
def test_project_create_enabled(self):
|
def test_project_create_enabled(self):
|
||||||
# Create a project that is enabled
|
# Create a project that is enabled
|
||||||
|
@ -191,7 +191,12 @@ IdentityFeatureGroup = [
|
|||||||
help="A list of enabled identity extensions with a special "
|
help="A list of enabled identity extensions with a special "
|
||||||
"entry all which indicates every extension is enabled. "
|
"entry all which indicates every extension is enabled. "
|
||||||
"Empty list indicates all extensions are disabled. "
|
"Empty list indicates all extensions are disabled. "
|
||||||
"To get the list of extensions run: 'keystone discover'")
|
"To get the list of extensions run: 'keystone discover'"),
|
||||||
|
# TODO(rodrigods): Remove the reseller flag when Kilo and Liberty is end
|
||||||
|
# of life.
|
||||||
|
cfg.BoolOpt('reseller',
|
||||||
|
default=False,
|
||||||
|
help='Does the environment support reseller?')
|
||||||
]
|
]
|
||||||
|
|
||||||
compute_group = cfg.OptGroup(name='compute',
|
compute_group = cfg.OptGroup(name='compute',
|
||||||
|
Loading…
Reference in New Issue
Block a user