diff options
author | Brant Knudson <bknudson@us.ibm.com> | 2015-07-26 09:06:32 -0500 |
---|---|---|
committer | Brant Knudson <bknudson@us.ibm.com> | 2015-08-13 19:01:42 -0500 |
commit | a50f8a1070b108d2281170e4e25eaaaa9775b27c (patch) | |
tree | 49583d5ac6c0c4443dbec030589223bc3027e0eb | |
parent | 4e4dedec6ea8fd71354772552166255ddf39abed (diff) | |
download | python-keystoneclient-a50f8a1070b108d2281170e4e25eaaaa9775b27c.tar.gz |
Proper deprecation for CredentialManager data argument
CredentialManager's data argument wasn't properly deprecated since
the deprecation was only mentioned in the docstring. Proper
deprecation requires use of warnings/debtcollector and
documentation.
bp deprecations
Change-Id: Ibdb4bda622119eec963ce5b57673dc01ff279b0e
-rw-r--r-- | keystoneclient/tests/unit/v3/test_credentials.py | 1 | ||||
-rw-r--r-- | keystoneclient/v3/credentials.py | 14 |
2 files changed, 11 insertions, 4 deletions
diff --git a/keystoneclient/tests/unit/v3/test_credentials.py b/keystoneclient/tests/unit/v3/test_credentials.py index 752f25a..69c6068 100644 --- a/keystoneclient/tests/unit/v3/test_credentials.py +++ b/keystoneclient/tests/unit/v3/test_credentials.py @@ -42,6 +42,7 @@ class CredentialTests(utils.TestCase, utils.CrudTests): def test_create_data_not_blob(self): # Test create operation with previous, deprecated "data" argument, # which should be translated into "blob" at the API call level + self.deprecations.expect_deprecations() req_ref = self.new_ref() api_ref = self._ref_data_not_blob(req_ref) req_ref.pop('id') diff --git a/keystoneclient/v3/credentials.py b/keystoneclient/v3/credentials.py index 8ef7ce4..e3cca14 100644 --- a/keystoneclient/v3/credentials.py +++ b/keystoneclient/v3/credentials.py @@ -14,6 +14,8 @@ # License for the specific language governing permissions and limitations # under the License. +from debtcollector import renames + from keystoneclient import base from keystoneclient.i18n import _ from keystoneclient import utils @@ -46,13 +48,13 @@ class CredentialManager(base.CrudManager): if blob is not None: return blob elif data is not None: - # FIXME(shardy): Passing data is deprecated. Provide an - # appropriate warning. return data else: raise ValueError( _("Credential requires blob to be specified")) + @renames.renamed_kwarg('data', 'blob', version='1.7.0', + removal_version='2.0.0') @utils.positional(1, enforcement=utils.positional.WARN) def create(self, user, type, blob=None, data=None, project=None, **kwargs): """Create a credential @@ -61,7 +63,8 @@ class CredentialManager(base.CrudManager): :type user: :class:`keystoneclient.v3.users.User` or str :param str type: credential type, should be either ``ec2`` or ``cert`` :param JSON blob: Credential data - :param JSON data: Deprecated, use blob instead. + :param JSON data: Deprecated as of the 1.7.0 release in favor of blob + and may by removed in the 2.0.0 release. :param project: Project, optional :type project: :class:`keystoneclient.v3.projects.Project` or str :param kwargs: Extra attributes passed to create. @@ -94,6 +97,8 @@ class CredentialManager(base.CrudManager): """ return super(CredentialManager, self).list(**kwargs) + @renames.renamed_kwarg('data', 'blob', version='1.7.0', + removal_version='2.0.0') @utils.positional(2, enforcement=utils.positional.WARN) def update(self, credential, user, type=None, blob=None, data=None, project=None, **kwargs): @@ -105,7 +110,8 @@ class CredentialManager(base.CrudManager): :type user: :class:`keystoneclient.v3.users.User` or str :param str type: credential type, should be either ``ec2`` or ``cert`` :param JSON blob: Credential data - :param JSON data: Deprecated, use blob instead. + :param JSON data: Deprecated as of the 1.7.0 release in favor of blob + and may be removed in the 2.0.0 release. :param project: Project :type project: :class:`keystoneclient.v3.projects.Project` or str :param kwargs: Extra attributes passed to create. |