summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-08-26 06:35:23 +0000
committerGerrit Code Review <review@openstack.org>2015-08-26 06:35:23 +0000
commitb810b3ad2d5465980b695c0f0f79e60fcadff975 (patch)
treef73b512f95bd1bd49714651fda529e9c2aed1f94
parentce7aea4dd074e32d1dde164a40c64b0bd8e1dbc6 (diff)
parent4bdbb834d4900dc30be147ad1fc8606b7e04b30d (diff)
downloadpython-keystoneclient-b810b3ad2d5465980b695c0f0f79e60fcadff975.tar.gz
Merge "Proper deprecation for UserManager project argument"
-rw-r--r--keystoneclient/tests/unit/v3/test_users.py7
-rw-r--r--keystoneclient/v3/users.py28
2 files changed, 22 insertions, 13 deletions
diff --git a/keystoneclient/tests/unit/v3/test_users.py b/keystoneclient/tests/unit/v3/test_users.py
index e0b28b8..ddc0aec 100644
--- a/keystoneclient/tests/unit/v3/test_users.py
+++ b/keystoneclient/tests/unit/v3/test_users.py
@@ -111,6 +111,7 @@ class UserTests(utils.TestCase, utils.CrudTests):
def test_create_with_project(self):
# Can create a user with the deprecated project option rather than
# default_project_id.
+ self.deprecations.expect_deprecations()
ref = self.new_ref()
self.stub_entity('POST', [self.collection_key],
@@ -135,6 +136,8 @@ class UserTests(utils.TestCase, utils.CrudTests):
def test_create_with_project_and_default_project(self):
# Can create a user with the deprecated project and default_project_id.
# The backend call should only pass the default_project_id.
+ self.deprecations.expect_deprecations()
+
ref = self.new_ref()
self.stub_entity('POST',
@@ -180,6 +183,8 @@ class UserTests(utils.TestCase, utils.CrudTests):
def test_update_with_project(self):
# Can update a user with the deprecated project option rather than
# default_project_id.
+ self.deprecations.expect_deprecations()
+
ref = self.new_ref()
req_ref = ref.copy()
req_ref.pop('id')
@@ -203,6 +208,8 @@ class UserTests(utils.TestCase, utils.CrudTests):
self.assertEntityRequestBodyIs(req_ref)
def test_update_with_project_and_default_project(self, ref=None):
+ self.deprecations.expect_deprecations()
+
ref = self.new_ref()
req_ref = ref.copy()
req_ref.pop('id')
diff --git a/keystoneclient/v3/users.py b/keystoneclient/v3/users.py
index 35c42cc..6eeddb5 100644
--- a/keystoneclient/v3/users.py
+++ b/keystoneclient/v3/users.py
@@ -16,9 +16,11 @@
import logging
+from debtcollector import renames
+
from keystoneclient import base
from keystoneclient import exceptions
-from keystoneclient.i18n import _, _LW
+from keystoneclient.i18n import _
from keystoneclient import utils
LOG = logging.getLogger(__name__)
@@ -45,6 +47,8 @@ class UserManager(base.CrudManager):
msg = _('Specify both a user and a group')
raise exceptions.ValidationError(msg)
+ @renames.renamed_kwarg('project', 'default_project', version='1.7.0',
+ removal_version='2.0.0')
@utils.positional(1, enforcement=utils.positional.WARN)
def create(self, name, domain=None, project=None, password=None,
email=None, description=None, enabled=True,
@@ -53,14 +57,12 @@ class UserManager(base.CrudManager):
.. warning::
- The project argument is deprecated, use default_project instead.
+ The project argument is deprecated as of the 1.7.0 release in favor
+ of default_project and may be removed in the 2.0.0 release.
If both default_project and project is provided, the default_project
will be used.
"""
- if project:
- LOG.warning(_LW("The project argument is deprecated, "
- "use default_project instead."))
default_project_id = base.getid(default_project) or base.getid(project)
user_data = base.filter_none(name=name,
domain_id=base.getid(domain),
@@ -74,6 +76,8 @@ class UserManager(base.CrudManager):
return self._create('/users', {'user': user_data}, 'user',
log=not bool(password))
+ @renames.renamed_kwarg('project', 'default_project', version='1.7.0',
+ removal_version='2.0.0')
@utils.positional(enforcement=utils.positional.WARN)
def list(self, project=None, domain=None, group=None, default_project=None,
**kwargs):
@@ -87,14 +91,12 @@ class UserManager(base.CrudManager):
.. warning::
- The project argument is deprecated, use default_project instead.
+ The project argument is deprecated as of the 1.7.0 release in favor
+ of default_project and may be removed in the 2.0.0 release.
If both default_project and project is provided, the default_project
will be used.
"""
- if project:
- LOG.warning(_LW("The project argument is deprecated, "
- "use default_project instead."))
default_project_id = base.getid(default_project) or base.getid(project)
if group:
base_url = '/groups/%s' % base.getid(group)
@@ -111,6 +113,8 @@ class UserManager(base.CrudManager):
return super(UserManager, self).get(
user_id=base.getid(user))
+ @renames.renamed_kwarg('project', 'default_project', version='1.7.0',
+ removal_version='2.0.0')
@utils.positional(enforcement=utils.positional.WARN)
def update(self, user, name=None, domain=None, project=None, password=None,
email=None, description=None, enabled=None,
@@ -119,14 +123,12 @@ class UserManager(base.CrudManager):
.. warning::
- The project argument is deprecated, use default_project instead.
+ The project argument is deprecated as of the 1.7.0 release in favor
+ of default_project and may be removed in the 2.0.0 release.
If both default_project and project is provided, the default_project
will be used.
"""
- if project:
- LOG.warning(_LW("The project argument is deprecated, "
- "use default_project instead."))
default_project_id = base.getid(default_project) or base.getid(project)
user_data = base.filter_none(name=name,
domain_id=base.getid(domain),