From 75ac70f3b8e2e33ebf0881431d540095148fc5ff Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 5 May 2022 09:50:36 -0700 Subject: [PATCH 1/4] move exceptions to exceptions --- sdk/core/azure-core/azure/core/exceptions.py | 10 ++++++++ .../azure-core/azure/core/serialization.py | 10 +------- sdk/core/azure-core/tests/test_exceptions.py | 24 ++++++++++++++++++- .../azure-core/tests/test_serialization.py | 24 +------------------ 4 files changed, 35 insertions(+), 33 deletions(-) diff --git a/sdk/core/azure-core/azure/core/exceptions.py b/sdk/core/azure-core/azure/core/exceptions.py index 454135222174..00cf08abca8c 100644 --- a/sdk/core/azure-core/azure/core/exceptions.py +++ b/sdk/core/azure-core/azure/core/exceptions.py @@ -53,6 +53,8 @@ "StreamConsumedError", "StreamClosedError", "ResponseNotReadError", + "SerializationError", + "DeserializationError", ] @@ -494,3 +496,11 @@ def __init__(self, response): ) ) super(ResponseNotReadError, self).__init__(message) + +class SerializationError(ValueError): + """Raised if an error is encountered during serialization.""" + ... + +class DeserializationError(ValueError): + """Raised if an error is encountered during deserialization.""" + ... diff --git a/sdk/core/azure-core/azure/core/serialization.py b/sdk/core/azure-core/azure/core/serialization.py index 43be7e442835..4cb06d6437dc 100644 --- a/sdk/core/azure-core/azure/core/serialization.py +++ b/sdk/core/azure-core/azure/core/serialization.py @@ -11,7 +11,7 @@ from .utils._utils import _FixedOffset -__all__ = ["NULL", "AzureJSONEncoder", "SerializationError", "DeserializationError"] +__all__ = ["NULL", "AzureJSONEncoder"] class _Null(object): @@ -123,11 +123,3 @@ def default(self, o): # pylint: disable=too-many-return-statements except AttributeError: pass return super(AzureJSONEncoder, self).default(o) - -class SerializationError(ValueError): - """Raised if an error is encountered during serialization.""" - ... - -class DeserializationError(ValueError): - """Raised if an error is encountered during deserialization.""" - ... diff --git a/sdk/core/azure-core/tests/test_exceptions.py b/sdk/core/azure-core/tests/test_exceptions.py index 612225abb05b..970a7565b633 100644 --- a/sdk/core/azure-core/tests/test_exceptions.py +++ b/sdk/core/azure-core/tests/test_exceptions.py @@ -33,7 +33,7 @@ from mock import Mock # module under test -from azure.core.exceptions import HttpResponseError, ODataV4Error, ODataV4Format +from azure.core.exceptions import HttpResponseError, ODataV4Error, ODataV4Format, SerializationError, DeserializationError from azure.core.pipeline.transport import RequestsTransportResponse from azure.core.pipeline.transport._base import _HttpResponseBase as PipelineTransportHttpResponseBase from azure.core.rest._http_response_impl import _HttpResponseBaseImpl as RestHttpResponseBase @@ -320,3 +320,25 @@ def test_datav4_error(self, client, http_request): with pytest.raises(HttpResponseError) as ex: response.raise_for_status() assert "Content: {\"" not in str(ex.value) + +def test_serialization_error(): + message = "Oopsy bad input passed for serialization" + error = SerializationError(message) + with pytest.raises(SerializationError) as ex: + raise error + assert str(ex.value) == message + + with pytest.raises(ValueError) as ex: + raise error + assert str(ex.value) == message + +def test_deserialization_error(): + message = "Oopsy bad input passed for serialization" + error = DeserializationError(message) + with pytest.raises(DeserializationError) as ex: + raise error + assert str(ex.value) == message + + with pytest.raises(ValueError) as ex: + raise error + assert str(ex.value) == message diff --git a/sdk/core/azure-core/tests/test_serialization.py b/sdk/core/azure-core/tests/test_serialization.py index 0b5758fa6dcc..41f2914cf343 100644 --- a/sdk/core/azure-core/tests/test_serialization.py +++ b/sdk/core/azure-core/tests/test_serialization.py @@ -8,7 +8,7 @@ import json import sys -from azure.core.serialization import AzureJSONEncoder, NULL, SerializationError, DeserializationError +from azure.core.serialization import AzureJSONEncoder, NULL import pytest @@ -442,25 +442,3 @@ def __init__(self): ] } assert json.loads(json_dumps_with_encoder(expected.to_dict())) == expected_dict - -def test_serialization_error(): - message = "Oopsy bad input passed for serialization" - error = SerializationError(message) - with pytest.raises(SerializationError) as ex: - raise error - assert str(ex.value) == message - - with pytest.raises(ValueError) as ex: - raise error - assert str(ex.value) == message - -def test_deserialization_error(): - message = "Oopsy bad input passed for serialization" - error = DeserializationError(message) - with pytest.raises(DeserializationError) as ex: - raise error - assert str(ex.value) == message - - with pytest.raises(ValueError) as ex: - raise error - assert str(ex.value) == message From 404ce1ee1ff67492a0232ac8fe25665a8b2ce989 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 5 May 2022 09:52:09 -0700 Subject: [PATCH 2/4] update changelog --- sdk/core/azure-core/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/core/azure-core/CHANGELOG.md b/sdk/core/azure-core/CHANGELOG.md index 6833621705b0..cdb5a8c08741 100644 --- a/sdk/core/azure-core/CHANGELOG.md +++ b/sdk/core/azure-core/CHANGELOG.md @@ -4,7 +4,7 @@ ### Features Added -- Add `SerializationError` and `DeserializationError` in `azure.core.serialization` for errors raised during serialization / deserialization #24113 +- Add `SerializationError` and `DeserializationError` in `azure.core.serialization` for errors raised during serialization / deserialization #24312 ## 1.23.1 (2022-03-31) From 00d1b8b218d8d46070741b8ec981c9d907cd9a57 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Thu, 5 May 2022 09:58:10 -0700 Subject: [PATCH 3/4] fix changelog --- sdk/core/azure-core/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/core/azure-core/CHANGELOG.md b/sdk/core/azure-core/CHANGELOG.md index cdb5a8c08741..a7f2060222f0 100644 --- a/sdk/core/azure-core/CHANGELOG.md +++ b/sdk/core/azure-core/CHANGELOG.md @@ -4,7 +4,7 @@ ### Features Added -- Add `SerializationError` and `DeserializationError` in `azure.core.serialization` for errors raised during serialization / deserialization #24312 +- Add `SerializationError` and `DeserializationError` in `azure.core.exceptions` for errors raised during serialization / deserialization #24312 ## 1.23.1 (2022-03-31) From e1350f69cc72cf665ba66337f7e897604e1f8d1b Mon Sep 17 00:00:00 2001 From: Xiang Yan Date: Thu, 5 May 2022 12:00:45 -0700 Subject: [PATCH 4/4] Update CHANGELOG.md --- sdk/core/azure-core/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/core/azure-core/CHANGELOG.md b/sdk/core/azure-core/CHANGELOG.md index a7f2060222f0..04cba3b0bc98 100644 --- a/sdk/core/azure-core/CHANGELOG.md +++ b/sdk/core/azure-core/CHANGELOG.md @@ -1,6 +1,6 @@ # Release History -## 1.24.0 (2022-05-05) +## 1.24.0 (2022-05-06) ### Features Added