From 5c4ec68a7d464b6e2717f6da84fdfe91a42593b0 Mon Sep 17 00:00:00 2001 From: 824750130 Date: Fri, 11 Dec 2020 10:26:50 +0800 Subject: [PATCH 1/2] fix AttributeError --- alibabacloud_credentials/client.py | 18 ++++++++++++------ tests/test_client.py | 18 ++++++++++++++++++ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/alibabacloud_credentials/client.py b/alibabacloud_credentials/client.py index 01dfc83..1901c0c 100644 --- a/alibabacloud_credentials/client.py +++ b/alibabacloud_credentials/client.py @@ -65,14 +65,20 @@ def get_type(self): def get_bearer_token(self): return self.cloud_credential.bearer_token - @attribute_error_return_none async def get_access_key_id_async(self): - return self.cloud_credential.get_access_key_id() + if hasattr(self.cloud_credential, 'get_access_key_id'): + return self.cloud_credential.get_access_key_id() + else: + return - @attribute_error_return_none async def get_access_key_secret_async(self): - return self.cloud_credential.get_access_key_secret() + if hasattr(self.cloud_credential, 'get_access_key_secret'): + return self.cloud_credential.get_access_key_secret() + else: + return - @attribute_error_return_none async def get_security_token_async(self): - return self.cloud_credential.get_security_token() + if hasattr(self.cloud_credential, 'get_security_token'): + return self.cloud_credential.get_security_token() + else: + return diff --git a/tests/test_client.py b/tests/test_client.py index 6ece01c..7a72ccd 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -1,3 +1,4 @@ +import asyncio import unittest from alibabacloud_credentials.models import Config @@ -43,3 +44,20 @@ def test_ak_client(self): conf = Config(type='test') self.assertIsInstance(Client.get_provider(conf), providers.DefaultCredentialsProvider) + + conf = Config( + access_key_id='ak1', + access_key_secret='sk1', + type='access_key' + ) + client = Client(conf) + loop = asyncio.get_event_loop() + task = asyncio.ensure_future(client.get_security_token_async()) + loop.run_until_complete(task) + self.assertIsNone(task.result()) + task = asyncio.ensure_future(client.get_access_key_id_async()) + loop.run_until_complete(task) + self.assertEqual('ak1', task.result()) + task = asyncio.ensure_future(client.get_access_key_secret_async()) + loop.run_until_complete(task) + self.assertEqual('sk1', task.result()) From 195486bc2b132140d86d7532dd90d5f82716c940 Mon Sep 17 00:00:00 2001 From: 824750130 Date: Fri, 11 Dec 2020 10:30:41 +0800 Subject: [PATCH 2/2] release v0.1.2 --- ChangeLog.md | 3 +++ alibabacloud_credentials/__init__.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index ecf56e5..c2119ad 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -1,3 +1,6 @@ +### 2020-12-11 Version 0.1.2 +* Fix AttributeError. + ### 2020-12-09 Version 0.1.1 * Change overwrite to a method with `_async` suffix diff --git a/alibabacloud_credentials/__init__.py b/alibabacloud_credentials/__init__.py index 93fc4ed..a73e18e 100644 --- a/alibabacloud_credentials/__init__.py +++ b/alibabacloud_credentials/__init__.py @@ -1 +1 @@ -__version__ = "0.1.1" +__version__ = "0.1.2"