From 497ddfea1d28aaad22bd3a61c7000632e222bedc Mon Sep 17 00:00:00 2001 From: Xiang Yan Date: Thu, 24 Jun 2021 09:51:19 -0700 Subject: [PATCH 1/2] handle details "null" --- sdk/core/azure-core/azure/core/exceptions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/core/azure-core/azure/core/exceptions.py b/sdk/core/azure-core/azure/core/exceptions.py index 4af83e9b3683..814b9ed18f39 100644 --- a/sdk/core/azure-core/azure/core/exceptions.py +++ b/sdk/core/azure-core/azure/core/exceptions.py @@ -163,7 +163,7 @@ def __init__(self, json_object): # details is recursive of this very format self.details = [] # type: List[ODataV4Format] - for detail_node in json_object.get(cls.DETAILS_LABEL, []): + for detail_node in json_object.get(cls.DETAILS_LABEL) or []: try: self.details.append(self.__class__(detail_node)) except Exception: # pylint: disable=broad-except From 02b68aecff75f79acf6709493a430e198a61981b Mon Sep 17 00:00:00 2001 From: Xiang Yan Date: Thu, 8 Jul 2021 14:44:01 -0700 Subject: [PATCH 2/2] update --- sdk/core/azure-core/tests/test_exceptions.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sdk/core/azure-core/tests/test_exceptions.py b/sdk/core/azure-core/tests/test_exceptions.py index 85b414a16b93..399c559cf944 100644 --- a/sdk/core/azure-core/tests/test_exceptions.py +++ b/sdk/core/azure-core/tests/test_exceptions.py @@ -250,3 +250,16 @@ def test_broken_odata_details(self): } exp = HttpResponseError(response=_build_response(json.dumps(message).encode("utf-8"))) assert exp.error.code == "Conflict" + + def test_null_odata_details(self): + message = { + "error": { + "code": "501", + "message": "message", + "target": None, + "details": None, + "innererror": None, + } + } + exp = HttpResponseError(response=_build_response(json.dumps(message).encode("utf-8"))) + assert exp.error.code == "501" \ No newline at end of file