diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-08-26 06:35:23 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-08-26 06:35:23 +0000 |
commit | b810b3ad2d5465980b695c0f0f79e60fcadff975 (patch) | |
tree | f73b512f95bd1bd49714651fda529e9c2aed1f94 | |
parent | ce7aea4dd074e32d1dde164a40c64b0bd8e1dbc6 (diff) | |
parent | 4bdbb834d4900dc30be147ad1fc8606b7e04b30d (diff) | |
download | python-keystoneclient-b810b3ad2d5465980b695c0f0f79e60fcadff975.tar.gz |
Merge "Proper deprecation for UserManager project argument"
-rw-r--r-- | keystoneclient/tests/unit/v3/test_users.py | 7 | ||||
-rw-r--r-- | keystoneclient/v3/users.py | 28 |
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), |