diff --git a/ChangeLog.md b/ChangeLog.md index 5ad1f8c8b45..26ea83eef55 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -12,12 +12,15 @@ **Breaking Changes** +- Default to generating DPG SDKs with `--version-tolerant` now defaulting to `true`. For a list of flag default changes, please +see [here](https://github.com/Azure/autorest.python/issues/1186) #1304 - Only generate Python3 SDKs #1297 - Don't reformat initial query parameters into the next link #1297 +- Don't generate operations with more than two body types. SDK authors need to implement this operation themselves #1300 -**Breaking Changes in Version Tolerant** +**New Features** -- Don't generate operations with more than two body types. SDK authors need to implement this operation themselves #1300 +- Automatically format generated code with `black`. To not format, pass in `--black=false` #1304 ### 2022-06-13 - 5.19.0 diff --git a/README.md b/README.md index a7a0f68b228..81d8943aa2e 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,15 @@ contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additio #### Python code gen +```yaml !$(multiapiscript) +# default values for version tolerant and black +black: true +``` + +```yaml !$(low-level-client) +version-tolerant: true +``` + ```yaml !$(low-level-client) && !$(version-tolerant) modelerfour: group-parameters: true diff --git a/autorest/codegen/__init__.py b/autorest/codegen/__init__.py index 0cc134371bd..1b88835fa6b 100644 --- a/autorest/codegen/__init__.py +++ b/autorest/codegen/__init__.py @@ -176,7 +176,7 @@ def _build_code_model_options(self) -> Dict[str, Any]: bool, self._autorestapi.get_boolean_value("low-level-client", False) ) version_tolerant = cast( - bool, self._autorestapi.get_boolean_value("version-tolerant", False) + bool, self._autorestapi.get_boolean_value("version-tolerant") ) show_operations = self._autorestapi.get_boolean_value( "show-operations", not low_level_client diff --git a/autorest/m4reformatter/__init__.py b/autorest/m4reformatter/__init__.py index 19e28e35b88..f9e373741d2 100644 --- a/autorest/m4reformatter/__init__.py +++ b/autorest/m4reformatter/__init__.py @@ -1080,9 +1080,7 @@ def update_credential( "skipUrlEncoding": True, "inOverload": False, } - if self._autorestapi.get_boolean_value( - "version-tolerant" - ) or self._autorestapi.get_boolean_value("low-level-client"): + if self.version_tolerant or self.low_level_client: parameters.append(credential) else: parameters.insert(0, credential) diff --git a/docs/samples/specification/azure_key_credential/generated/azure/__init__.py b/docs/samples/specification/azure_key_credential/generated/azure/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/__init__.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/__init__.py b/docs/samples/specification/azure_key_credential/generated/azure/key/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/__init__.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/__init__.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/__init__.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/__init__.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/__init__.py index 9a25cb14bdd..4e88b33e40b 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/__init__.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._auto_rest_head_test_service import AutoRestHeadTestService +from ._client import AutoRestHeadTestService from ._version import VERSION __version__ = VERSION @@ -17,7 +17,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['AutoRestHeadTestService'] + +__all__ = ["AutoRestHeadTestService"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_auto_rest_head_test_service.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_client.py similarity index 79% rename from docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_auto_rest_head_test_service.py rename to docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_client.py index e196e49d827..3b4367a4624 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_auto_rest_head_test_service.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from typing import Dict + class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-keyword """Test Infrastructure for AutoRest. @@ -28,39 +29,28 @@ class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-key :vartype http_success: azure.key.credential.sample.operations.HttpSuccessOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.AzureKeyCredential - :param base_url: Service URL. Default value is "http://localhost:3000". - :type base_url: str + :keyword endpoint: Service URL. Default value is "http://localhost:3000". + :paramtype endpoint: str """ def __init__( - self, - credential: AzureKeyCredential, - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: AzureKeyCredential, *, endpoint: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = AutoRestHeadTestServiceConfiguration(credential=credential, **kwargs) - self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client = PipelineClient(base_url=endpoint, config=self._config, **kwargs) - client_models = {} # type: Dict[str, Any] - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) + self._serialize = Serializer() + self._deserialize = Deserializer() self._serialize.client_side_validation = False - self.http_success = HttpSuccessOperations( - self._client, self._config, self._serialize, self._deserialize - ) - + self.http_success = HttpSuccessOperations(self._client, self._config, self._serialize, self._deserialize) - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = client._send_request(request) + >>> response = client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_configuration.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_configuration.py index a66c19ef90f..8ee6f78c9bf 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_configuration.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_configuration.py @@ -25,32 +25,29 @@ class AutoRestHeadTestServiceConfiguration(Configuration): # pylint: disable=to :type credential: ~azure.core.credentials.AzureKeyCredential """ - def __init__( - self, - credential: AzureKeyCredential, - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, **kwargs: Any) -> None: super(AutoRestHeadTestServiceConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential - kwargs.setdefault('sdk_moniker', 'key-credential-sample/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "key-credential-sample/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, "Ocp-Apim-Subscription-Key", **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy( + self.credential, "Ocp-Apim-Subscription-Key", **kwargs + ) diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_patch.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_patch.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_serialization.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_serialization.py index a8b19965491..7daa7a447db 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_serialization.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_serialization.py @@ -37,6 +37,7 @@ import re import sys import codecs + try: from urllib import quote # type: ignore except ImportError: @@ -49,15 +50,16 @@ from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback -_BOM = codecs.BOM_UTF8.decode(encoding='utf-8') +_BOM = codecs.BOM_UTF8.decode(encoding="utf-8") if TYPE_CHECKING: from typing import Optional, Union, AnyStr, IO, Mapping + class RawDeserializer: # Accept "text" because we're open minded people... - JSON_REGEXP = re.compile(r'^(application|text)/([a-z+.]+\+)?json$') + JSON_REGEXP = re.compile(r"^(application|text)/([a-z+.]+\+)?json$") # Name used in context CONTEXT_NAME = "deserialized_data" @@ -75,12 +77,12 @@ def deserialize_from_text(cls, data, content_type=None): :type data: str or bytes or IO :param str content_type: The content type. """ - if hasattr(data, 'read'): + if hasattr(data, "read"): # Assume a stream data = cast(IO, data).read() if isinstance(data, bytes): - data_as_str = data.decode(encoding='utf-8-sig') + data_as_str = data.decode(encoding="utf-8-sig") else: # Explain to mypy the correct type. data_as_str = cast(str, data) @@ -116,7 +118,8 @@ def _json_attemp(data): try: return True, json.loads(data) except ValueError: - return False, None # Don't care about this one + return False, None # Don't care about this one + success, json_result = _json_attemp(data) if success: return json_result @@ -139,8 +142,8 @@ def deserialize_from_http_generics(cls, body_bytes, headers): """ # Try to use content-type from headers if available content_type = None - if 'content-type' in headers: - content_type = headers['content-type'].split(";")[0].strip().lower() + if "content-type" in headers: + content_type = headers["content-type"].split(";")[0].strip().lower() # Ouch, this server did not declare what it sent... # Let's guess it's JSON... # Also, since Autorest was considering that an empty body was a valid JSON, @@ -152,6 +155,7 @@ def deserialize_from_http_generics(cls, body_bytes, headers): return cls.deserialize_from_text(body_bytes, content_type) return None + try: basestring # type: ignore unicode_str = unicode # type: ignore @@ -162,10 +166,11 @@ def deserialize_from_http_generics(cls, body_bytes, headers): _LOGGER = logging.getLogger(__name__) try: - _long_type = long # type: ignore + _long_type = long # type: ignore except NameError: _long_type = int + class UTC(datetime.tzinfo): """Time Zone info for handling UTC""" @@ -181,9 +186,11 @@ def dst(self, dt): """No daylight saving for UTC.""" return datetime.timedelta(hours=1) + try: from datetime import timezone as _FixedOffset except ImportError: # Python 2.7 + class _FixedOffset(datetime.tzinfo): # type: ignore """Fixed offset in minutes east from UTC. Copy/pasted from Python doc @@ -197,7 +204,7 @@ def utcoffset(self, dt): return self.__offset def tzname(self, dt): - return str(self.__offset.total_seconds()/3600) + return str(self.__offset.total_seconds() / 3600) def __repr__(self): return "".format(self.tzname(None)) @@ -208,14 +215,17 @@ def dst(self, dt): def __getinitargs__(self): return (self.__offset,) + try: from datetime import timezone + TZ_UTC = timezone.utc # type: ignore except ImportError: TZ_UTC = UTC() # type: ignore _FLATTEN = re.compile(r"(? y, @@ -502,25 +518,25 @@ class Serializer(object): "max_items": lambda x, y: len(x) > y, "pattern": lambda x, y: not re.match(y, x, re.UNICODE), "unique": lambda x, y: len(x) != len(set(x)), - "multiple": lambda x, y: x % y != 0 - } + "multiple": lambda x, y: x % y != 0, + } def __init__(self, classes=None): self.serialize_type = { - 'iso-8601': Serializer.serialize_iso, - 'rfc-1123': Serializer.serialize_rfc, - 'unix-time': Serializer.serialize_unix, - 'duration': Serializer.serialize_duration, - 'date': Serializer.serialize_date, - 'time': Serializer.serialize_time, - 'decimal': Serializer.serialize_decimal, - 'long': Serializer.serialize_long, - 'bytearray': Serializer.serialize_bytearray, - 'base64': Serializer.serialize_base64, - 'object': self.serialize_object, - '[]': self.serialize_iter, - '{}': self.serialize_dict - } + "iso-8601": Serializer.serialize_iso, + "rfc-1123": Serializer.serialize_rfc, + "unix-time": Serializer.serialize_unix, + "duration": Serializer.serialize_duration, + "date": Serializer.serialize_date, + "time": Serializer.serialize_time, + "decimal": Serializer.serialize_decimal, + "long": Serializer.serialize_long, + "bytearray": Serializer.serialize_bytearray, + "base64": Serializer.serialize_base64, + "object": self.serialize_object, + "[]": self.serialize_iter, + "{}": self.serialize_dict, + } self.dependencies = dict(classes) if classes else {} self.key_transformer = full_restapi_key_transformer self.client_side_validation = True @@ -542,14 +558,12 @@ def _serialize(self, target_obj, data_type=None, **kwargs): class_name = target_obj.__class__.__name__ if data_type: - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) if not hasattr(target_obj, "_attribute_map"): data_type = type(target_obj).__name__ if data_type in self.basic_types.values(): - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) # Force "is_xml" kwargs if we detect a XML model try: @@ -564,10 +578,10 @@ def _serialize(self, target_obj, data_type=None, **kwargs): attributes = target_obj._attribute_map for attr, attr_desc in attributes.items(): attr_name = attr - if not keep_readonly and target_obj._validation.get(attr_name, {}).get('readonly', False): + if not keep_readonly and target_obj._validation.get(attr_name, {}).get("readonly", False): continue - if attr_name == "additional_properties" and attr_desc["key"] == '': + if attr_name == "additional_properties" and attr_desc["key"] == "": if target_obj.additional_properties is not None: serialized.update(target_obj.additional_properties) continue @@ -575,21 +589,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): orig_attr = getattr(target_obj, attr) if is_xml_model_serialization: - pass # Don't provide "transformer" for XML for now. Keep "orig_attr" - else: # JSON + pass # Don't provide "transformer" for XML for now. Keep "orig_attr" + else: # JSON keys, orig_attr = key_transformer(attr, attr_desc.copy(), orig_attr) keys = keys if isinstance(keys, list) else [keys] - kwargs["serialization_ctxt"] = attr_desc - new_attr = self.serialize_data(orig_attr, attr_desc['type'], **kwargs) - + new_attr = self.serialize_data(orig_attr, attr_desc["type"], **kwargs) if is_xml_model_serialization: - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) - xml_prefix = xml_desc.get('prefix', None) - xml_ns = xml_desc.get('ns', None) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) + xml_prefix = xml_desc.get("prefix", None) + xml_ns = xml_desc.get("ns", None) if xml_desc.get("attr", False): if xml_ns: ET.register_namespace(xml_prefix, xml_ns) @@ -603,23 +615,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): serialized.extend(new_attr) elif isinstance(new_attr, ET.Element): # If the down XML has no XML/Name, we MUST replace the tag with the local tag. But keeping the namespaces. - if 'name' not in getattr(orig_attr, '_xml_map', {}): + if "name" not in getattr(orig_attr, "_xml_map", {}): splitted_tag = new_attr.tag.split("}") - if len(splitted_tag) == 2: # Namespace + if len(splitted_tag) == 2: # Namespace new_attr.tag = "}".join([splitted_tag[0], xml_name]) else: new_attr.tag = xml_name serialized.append(new_attr) else: # That's a basic type # Integrate namespace if necessary - local_node = _create_xml_node( - xml_name, - xml_prefix, - xml_ns - ) + local_node = _create_xml_node(xml_name, xml_prefix, xml_ns) local_node.text = unicode_str(new_attr) serialized.append(local_node) - else: # JSON + else: # JSON for k in reversed(keys): unflattened = {k: new_attr} new_attr = unflattened @@ -635,8 +643,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs): continue except (AttributeError, KeyError, TypeError) as err: - msg = "Attribute {} in object {} cannot be serialized.\n{}".format( - attr_name, class_name, str(target_obj)) + msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) raise_with_traceback(SerializationError, msg, err) else: return serialized @@ -652,7 +659,7 @@ def body(self, data, data_type, **kwargs): """ # Just in case this is a dict - internal_data_type = data_type.strip('[]{}') + internal_data_type = data_type.strip("[]{}") internal_data_type = self.dependencies.get(internal_data_type, None) try: is_xml_model_serialization = kwargs["is_xml"] @@ -675,12 +682,11 @@ def body(self, data, data_type, **kwargs): deserializer.key_extractors = [ rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor, - last_rest_key_case_insensitive_extractor + last_rest_key_case_insensitive_extractor, ] data = deserializer._deserialize(data_type, data) except DeserializationError as err: - raise_with_traceback( - SerializationError, "Unable to build a model: "+str(err), err) + raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err) return self._serialize(data, data_type, **kwargs) @@ -695,13 +701,13 @@ def url(self, name, data, data_type, **kwargs): """ try: output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -720,27 +726,19 @@ def query(self, name, data, data_type, **kwargs): # Treat the list aside, since we don't want to encode the div separator if data_type.startswith("["): internal_data_type = data_type[1:-1] - data = [ - self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" - for d - in data - ] - if not kwargs.get('skip_quote', False): - data = [ - quote(str(d), safe='') - for d - in data - ] + data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] + if not kwargs.get("skip_quote", False): + data = [quote(str(d), safe="") for d in data] return str(self.serialize_iter(data, internal_data_type, **kwargs)) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -756,11 +754,11 @@ def header(self, name, data, data_type, **kwargs): :raises: ValueError if data is None """ try: - if data_type in ['[str]']: + if data_type in ["[str]"]: data = ["" if d is None else d for d in data] output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) @@ -796,13 +794,11 @@ def serialize_data(self, data, data_type, **kwargs): iter_type = data_type[0] + data_type[-1] if iter_type in self.serialize_type: - return self.serialize_type[iter_type]( - data, data_type[1:-1], **kwargs) + return self.serialize_type[iter_type](data, data_type[1:-1], **kwargs) except (ValueError, TypeError) as err: msg = "Unable to serialize value: {!r} as type: {!r}." - raise_with_traceback( - SerializationError, msg.format(data, data_type), err) + raise_with_traceback(SerializationError, msg.format(data, data_type), err) else: return self._serialize(data, **kwargs) @@ -829,7 +825,7 @@ def serialize_basic(cls, data, data_type, **kwargs): custom_serializer = cls._get_custom_serializers(data_type, **kwargs) if custom_serializer: return custom_serializer(data) - if data_type == 'str': + if data_type == "str": return cls.serialize_unicode(data) return eval(data_type)(data) @@ -886,25 +882,21 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): serialized.append(None) if div: - serialized = ['' if s is None else str(s) for s in serialized] + serialized = ["" if s is None else str(s) for s in serialized] serialized = div.join(serialized) - if 'xml' in serialization_ctxt or is_xml: + if "xml" in serialization_ctxt or is_xml: # XML serialization is more complicated - xml_desc = serialization_ctxt.get('xml', {}) - xml_name = xml_desc.get('name') + xml_desc = serialization_ctxt.get("xml", {}) + xml_name = xml_desc.get("name") if not xml_name: - xml_name = serialization_ctxt['key'] + xml_name = serialization_ctxt["key"] # Create a wrap node if necessary (use the fact that Element and list have "append") is_wrapped = xml_desc.get("wrapped", False) node_name = xml_desc.get("itemsName", xml_name) if is_wrapped: - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) else: final_result = [] # All list elements to "local_node" @@ -912,11 +904,7 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): if isinstance(el, ET.Element): el_node = el else: - el_node = _create_xml_node( - node_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + el_node = _create_xml_node(node_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) if el is not None: # Otherwise it writes "None" :-p el_node.text = str(el) final_result.append(el_node) @@ -936,21 +924,16 @@ def serialize_dict(self, attr, dict_type, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_data( - value, dict_type, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None - if 'xml' in serialization_ctxt: + if "xml" in serialization_ctxt: # XML serialization is more complicated - xml_desc = serialization_ctxt['xml'] - xml_name = xml_desc['name'] + xml_desc = serialization_ctxt["xml"] + xml_name = xml_desc["name"] - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) for key, value in serialized.items(): ET.SubElement(final_result, key).text = value return final_result @@ -996,8 +979,7 @@ def serialize_object(self, attr, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_object( - value, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_object(value, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None return serialized @@ -1006,8 +988,7 @@ def serialize_object(self, attr, **kwargs): serialized = [] for obj in attr: try: - serialized.append(self.serialize_object( - obj, **kwargs)) + serialized.append(self.serialize_object(obj, **kwargs)) except ValueError: pass return serialized @@ -1045,8 +1026,8 @@ def serialize_base64(attr, **kwargs): :param attr: Object to be serialized. :rtype: str """ - encoded = b64encode(attr).decode('ascii') - return encoded.strip('=').replace('+', '-').replace('/', '_') + encoded = b64encode(attr).decode("ascii") + return encoded.strip("=").replace("+", "-").replace("/", "_") @staticmethod def serialize_decimal(attr, **kwargs): @@ -1113,16 +1094,20 @@ def serialize_rfc(attr, **kwargs): """ try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() except AttributeError: raise TypeError("RFC1123 object must be valid Datetime object.") return "{}, {:02} {} {:04} {:02}:{:02}:{:02} GMT".format( - Serializer.days[utc.tm_wday], utc.tm_mday, - Serializer.months[utc.tm_mon], utc.tm_year, - utc.tm_hour, utc.tm_min, utc.tm_sec) + Serializer.days[utc.tm_wday], + utc.tm_mday, + Serializer.months[utc.tm_mon], + utc.tm_year, + utc.tm_hour, + utc.tm_min, + utc.tm_sec, + ) @staticmethod def serialize_iso(attr, **kwargs): @@ -1136,19 +1121,18 @@ def serialize_iso(attr, **kwargs): attr = isodate.parse_datetime(attr) try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() if utc.tm_year > 9999 or utc.tm_year < 1: raise OverflowError("Hit max or min date") - microseconds = str(attr.microsecond).rjust(6,'0').rstrip('0').ljust(3, '0') + microseconds = str(attr.microsecond).rjust(6, "0").rstrip("0").ljust(3, "0") if microseconds: - microseconds = '.'+microseconds + microseconds = "." + microseconds date = "{:04}-{:02}-{:02}T{:02}:{:02}:{:02}".format( - utc.tm_year, utc.tm_mon, utc.tm_mday, - utc.tm_hour, utc.tm_min, utc.tm_sec) - return date + microseconds + 'Z' + utc.tm_year, utc.tm_mon, utc.tm_mday, utc.tm_hour, utc.tm_min, utc.tm_sec + ) + return date + microseconds + "Z" except (ValueError, OverflowError) as err: msg = "Unable to serialize datetime object." raise_with_traceback(SerializationError, msg, err) @@ -1169,17 +1153,17 @@ def serialize_unix(attr, **kwargs): return attr try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") return int(calendar.timegm(attr.utctimetuple())) except AttributeError: raise TypeError("Unix time object must be valid Datetime object.") + def rest_key_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1191,15 +1175,16 @@ def rest_key_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) return working_data.get(key) + def rest_key_case_insensitive_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1211,30 +1196,33 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) if working_data: return attribute_key_case_insensitive_extractor(key, None, working_data) + def last_rest_key_extractor(attr, attr_desc, data): - """Extract the attribute in "data" based on the last part of the JSON path key. - """ - key = attr_desc['key'] + """Extract the attribute in "data" based on the last part of the JSON path key.""" + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_extractor(dict_keys[-1], None, data) + def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): """Extract the attribute in "data" based on the last part of the JSON path key. This is the case insensitive version of "last_rest_key_extractor" """ - key = attr_desc['key'] + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_case_insensitive_extractor(dict_keys[-1], None, data) + def attribute_key_extractor(attr, _, data): return data.get(attr) + def attribute_key_case_insensitive_extractor(attr, _, data): found_key = None lower_attr = attr.lower() @@ -1245,6 +1233,7 @@ def attribute_key_case_insensitive_extractor(attr, _, data): return data.get(found_key) + def _extract_name_from_internal_type(internal_type): """Given an internal type XML description, extract correct XML name with namespace. @@ -1253,7 +1242,7 @@ def _extract_name_from_internal_type(internal_type): :returns: A tuple XML name + namespace dict """ internal_type_xml_map = getattr(internal_type, "_xml_map", {}) - xml_name = internal_type_xml_map.get('name', internal_type.__name__) + xml_name = internal_type_xml_map.get("name", internal_type.__name__) xml_ns = internal_type_xml_map.get("ns", None) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1268,17 +1257,17 @@ def xml_key_extractor(attr, attr_desc, data): if not isinstance(data, ET.Element): return None - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) # Look for a children - is_iter_type = attr_desc['type'].startswith("[") + is_iter_type = attr_desc["type"].startswith("[") is_wrapped = xml_desc.get("wrapped", False) internal_type = attr_desc.get("internalType", None) internal_type_xml_map = getattr(internal_type, "_xml_map", {}) # Integrate namespace if necessary - xml_ns = xml_desc.get('ns', internal_type_xml_map.get("ns", None)) + xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None)) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1294,15 +1283,15 @@ def xml_key_extractor(attr, attr_desc, data): # - Wrapped node # - Internal type is an enum (considered basic types) # - Internal type has no XML/Name node - if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or 'name' not in internal_type_xml_map)): + if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or "name" not in internal_type_xml_map)): children = data.findall(xml_name) # If internal type has a local name and it's not a list, I use that name - elif not is_iter_type and internal_type and 'name' in internal_type_xml_map: + elif not is_iter_type and internal_type and "name" in internal_type_xml_map: xml_name = _extract_name_from_internal_type(internal_type) children = data.findall(xml_name) # That's an array else: - if internal_type: # Complex type, ignore itemsName and use the complex type name + if internal_type: # Complex type, ignore itemsName and use the complex type name items_name = _extract_name_from_internal_type(internal_type) else: items_name = xml_desc.get("itemsName", xml_name) @@ -1311,21 +1300,22 @@ def xml_key_extractor(attr, attr_desc, data): if len(children) == 0: if is_iter_type: if is_wrapped: - return None # is_wrapped no node, we want None + return None # is_wrapped no node, we want None else: - return [] # not wrapped, assume empty list + return [] # not wrapped, assume empty list return None # Assume it's not there, maybe an optional node. # If is_iter_type and not wrapped, return all found children if is_iter_type: if not is_wrapped: return children - else: # Iter and wrapped, should have found one node only (the wrap one) + else: # Iter and wrapped, should have found one node only (the wrap one) if len(children) != 1: raise DeserializationError( "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( xml_name - )) + ) + ) return list(children[0]) # Might be empty list and that's ok. # Here it's not a itertype, we should have found one element only or empty @@ -1333,6 +1323,7 @@ def xml_key_extractor(attr, attr_desc, data): raise DeserializationError("Find several XML '{}' where it was not expected".format(xml_name)) return children[0] + class Deserializer(object): """Response object model deserializer. @@ -1340,37 +1331,32 @@ class Deserializer(object): :ivar list key_extractors: Ordered list of extractors to be used by this deserializer. """ - basic_types = {str: 'str', int: 'int', bool: 'bool', float: 'float'} + basic_types = {str: "str", int: "int", bool: "bool", float: "float"} - valid_date = re.compile( - r'\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}' - r'\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?') + valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") def __init__(self, classes=None): self.deserialize_type = { - 'iso-8601': Deserializer.deserialize_iso, - 'rfc-1123': Deserializer.deserialize_rfc, - 'unix-time': Deserializer.deserialize_unix, - 'duration': Deserializer.deserialize_duration, - 'date': Deserializer.deserialize_date, - 'time': Deserializer.deserialize_time, - 'decimal': Deserializer.deserialize_decimal, - 'long': Deserializer.deserialize_long, - 'bytearray': Deserializer.deserialize_bytearray, - 'base64': Deserializer.deserialize_base64, - 'object': self.deserialize_object, - '[]': self.deserialize_iter, - '{}': self.deserialize_dict - } + "iso-8601": Deserializer.deserialize_iso, + "rfc-1123": Deserializer.deserialize_rfc, + "unix-time": Deserializer.deserialize_unix, + "duration": Deserializer.deserialize_duration, + "date": Deserializer.deserialize_date, + "time": Deserializer.deserialize_time, + "decimal": Deserializer.deserialize_decimal, + "long": Deserializer.deserialize_long, + "bytearray": Deserializer.deserialize_bytearray, + "base64": Deserializer.deserialize_base64, + "object": self.deserialize_object, + "[]": self.deserialize_iter, + "{}": self.deserialize_dict, + } self.deserialize_expected_types = { - 'duration': (isodate.Duration, datetime.timedelta), - 'iso-8601': (datetime.datetime) + "duration": (isodate.Duration, datetime.timedelta), + "iso-8601": (datetime.datetime), } self.dependencies = dict(classes) if classes else {} - self.key_extractors = [ - rest_key_extractor, - xml_key_extractor - ] + self.key_extractors = [rest_key_extractor, xml_key_extractor] # Additional properties only works if the "rest_key_extractor" is used to # extract the keys. Making it to work whatever the key extractor is too much # complicated, with no real scenario for now. @@ -1403,8 +1389,7 @@ def _deserialize(self, target_obj, data): """ # This is already a model, go recursive just in case if hasattr(data, "_attribute_map"): - constants = [name for name, config in getattr(data, '_validation', {}).items() - if config.get('constant')] + constants = [name for name, config in getattr(data, "_validation", {}).items() if config.get("constant")] try: for attr, mapconfig in data._attribute_map.items(): if attr in constants: @@ -1412,15 +1397,11 @@ def _deserialize(self, target_obj, data): value = getattr(data, attr) if value is None: continue - local_type = mapconfig['type'] - internal_data_type = local_type.strip('[]{}') + local_type = mapconfig["type"] + internal_data_type = local_type.strip("[]{}") if internal_data_type not in self.dependencies or isinstance(internal_data_type, Enum): continue - setattr( - data, - attr, - self._deserialize(local_type, value) - ) + setattr(data, attr, self._deserialize(local_type, value)) return data except AttributeError: return @@ -1439,12 +1420,12 @@ def _deserialize(self, target_obj, data): d_attrs = {} for attr, attr_desc in attributes.items(): # Check empty string. If it's not empty, someone has a real "additionalProperties"... - if attr == "additional_properties" and attr_desc["key"] == '': + if attr == "additional_properties" and attr_desc["key"] == "": continue raw_value = None # Enhance attr_desc with some dynamic data - attr_desc = attr_desc.copy() # Do a copy, do not change the real one - internal_data_type = attr_desc["type"].strip('[]{}') + attr_desc = attr_desc.copy() # Do a copy, do not change the real one + internal_data_type = attr_desc["type"].strip("[]{}") if internal_data_type in self.dependencies: attr_desc["internalType"] = self.dependencies[internal_data_type] @@ -1452,18 +1433,15 @@ def _deserialize(self, target_obj, data): found_value = key_extractor(attr, attr_desc, data) if found_value is not None: if raw_value is not None and raw_value != found_value: - msg = ("Ignoring extracted value '%s' from %s for key '%s'" - " (duplicate extraction, follow extractors order)" ) - _LOGGER.warning( - msg, - found_value, - key_extractor, - attr + msg = ( + "Ignoring extracted value '%s' from %s for key '%s'" + " (duplicate extraction, follow extractors order)" ) + _LOGGER.warning(msg, found_value, key_extractor, attr) continue raw_value = found_value - value = self.deserialize_data(raw_value, attr_desc['type']) + value = self.deserialize_data(raw_value, attr_desc["type"]) d_attrs[attr] = value except (AttributeError, TypeError, KeyError) as err: msg = "Unable to deserialize to object: " + class_name @@ -1475,14 +1453,17 @@ def _deserialize(self, target_obj, data): def _build_additional_properties(self, attribute_map, data): if not self.additional_properties_detection: return None - if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != '': + if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != "": # Check empty string. If it's not empty, someone has a real "additionalProperties" return None if isinstance(data, ET.Element): data = {el.tag: el.text for el in data} - known_keys = {_decode_attribute_map_key(_FLATTEN.split(desc['key'])[0]) - for desc in attribute_map.values() if desc['key'] != ''} + known_keys = { + _decode_attribute_map_key(_FLATTEN.split(desc["key"])[0]) + for desc in attribute_map.values() + if desc["key"] != "" + } present_keys = set(data.keys()) missing_keys = present_keys - known_keys return {key: data[key] for key in missing_keys} @@ -1525,8 +1506,7 @@ def failsafe_deserialize(self, target_obj, data, content_type=None): return self(target_obj, data, content_type=content_type) except: _LOGGER.warning( - "Ran into a deserialization error. Ignoring since this is failsafe deserialization", - exc_info=True + "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True ) return None @@ -1554,21 +1534,15 @@ def _unpack_content(raw_data, content_type=None): return context[RawDeserializer.CONTEXT_NAME] raise ValueError("This pipeline didn't have the RawDeserializer policy; can't deserialize") - #Assume this is enough to recognize universal_http.ClientResponse without importing it + # Assume this is enough to recognize universal_http.ClientResponse without importing it if hasattr(raw_data, "body"): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text(), - raw_data.headers - ) + return RawDeserializer.deserialize_from_http_generics(raw_data.text(), raw_data.headers) # Assume this enough to recognize requests.Response without importing it. - if hasattr(raw_data, '_content_consumed'): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text, - raw_data.headers - ) + if hasattr(raw_data, "_content_consumed"): + return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers) - if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, 'read'): + if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"): return RawDeserializer.deserialize_from_text(raw_data, content_type) return raw_data @@ -1579,14 +1553,11 @@ def _instantiate_model(self, response, attrs, additional_properties=None): :param d_attrs: The deserialized response attributes. """ if callable(response): - subtype = getattr(response, '_subtype_map', {}) + subtype = getattr(response, "_subtype_map", {}) try: - readonly = [k for k, v in response._validation.items() - if v.get('readonly')] - const = [k for k, v in response._validation.items() - if v.get('constant')] - kwargs = {k: v for k, v in attrs.items() - if k not in subtype and k not in readonly + const} + readonly = [k for k, v in response._validation.items() if v.get("readonly")] + const = [k for k, v in response._validation.items() if v.get("constant")] + kwargs = {k: v for k, v in attrs.items() if k not in subtype and k not in readonly + const} response_obj = response(**kwargs) for attr in readonly: setattr(response_obj, attr, attrs.get(attr)) @@ -1594,8 +1565,7 @@ def _instantiate_model(self, response, attrs, additional_properties=None): response_obj.additional_properties = additional_properties return response_obj except TypeError as err: - msg = "Unable to deserialize {} into model {}. ".format( - kwargs, response) + msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) raise DeserializationError(msg + str(err)) else: try: @@ -1659,13 +1629,10 @@ def deserialize_iter(self, attr, iter_type): """ if attr is None: return None - if isinstance(attr, ET.Element): # If I receive an element here, get the children + if isinstance(attr, ET.Element): # If I receive an element here, get the children attr = list(attr) if not isinstance(attr, (list, set)): - raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format( - iter_type, - type(attr) - )) + raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format(iter_type, type(attr))) return [self.deserialize_data(a, iter_type) for a in attr] def deserialize_dict(self, attr, dict_type): @@ -1677,7 +1644,7 @@ def deserialize_dict(self, attr, dict_type): :rtype: dict """ if isinstance(attr, list): - return {x['key']: self.deserialize_data(x['value'], dict_type) for x in attr} + return {x["key"]: self.deserialize_data(x["value"], dict_type) for x in attr} if isinstance(attr, ET.Element): # Transform value into {"Key": "value"} @@ -1698,7 +1665,7 @@ def deserialize_object(self, attr, **kwargs): # Do no recurse on XML, just return the tree as-is return attr if isinstance(attr, basestring): - return self.deserialize_basic(attr, 'str') + return self.deserialize_basic(attr, "str") obj_type = type(attr) if obj_type in self.basic_types: return self.deserialize_basic(attr, self.basic_types[obj_type]) @@ -1709,8 +1676,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = {} for key, value in attr.items(): try: - deserialized[key] = self.deserialize_object( - value, **kwargs) + deserialized[key] = self.deserialize_object(value, **kwargs) except ValueError: deserialized[key] = None return deserialized @@ -1719,8 +1685,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = [] for obj in attr: try: - deserialized.append(self.deserialize_object( - obj, **kwargs)) + deserialized.append(self.deserialize_object(obj, **kwargs)) except ValueError: pass return deserialized @@ -1747,23 +1712,23 @@ def deserialize_basic(self, attr, data_type): if not attr: if data_type == "str": # None or '', node is empty string. - return '' + return "" else: # None or '', node with a strong type is None. # Don't try to model "empty bool" or "empty int" return None - if data_type == 'bool': + if data_type == "bool": if attr in [True, False, 1, 0]: return bool(attr) elif isinstance(attr, basestring): - if attr.lower() in ['true', '1']: + if attr.lower() in ["true", "1"]: return True - elif attr.lower() in ['false', '0']: + elif attr.lower() in ["false", "0"]: return False raise TypeError("Invalid boolean value: {}".format(attr)) - if data_type == 'str': + if data_type == "str": return self.deserialize_unicode(attr) return eval(data_type)(attr) @@ -1845,9 +1810,9 @@ def deserialize_base64(attr): """ if isinstance(attr, ET.Element): attr = attr.text - padding = '=' * (3 - (len(attr) + 3) % 4) + padding = "=" * (3 - (len(attr) + 3) % 4) attr = attr + padding - encoded = attr.replace('-', '+').replace('_', '/') + encoded = attr.replace("-", "+").replace("_", "/") return b64decode(encoded) @staticmethod @@ -1890,7 +1855,7 @@ def deserialize_duration(attr): attr = attr.text try: duration = isodate.parse_duration(attr) - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize duration object." raise_with_traceback(DeserializationError, msg, err) else: @@ -1938,8 +1903,7 @@ def deserialize_rfc(attr): try: parsed_date = email.utils.parsedate_tz(attr) date_obj = datetime.datetime( - *parsed_date[:6], - tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0)/60)) + *parsed_date[:6], tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0) / 60)) ) if not date_obj.tzinfo: date_obj = date_obj.astimezone(tz=TZ_UTC) @@ -1965,7 +1929,7 @@ def deserialize_iso(attr): if not match: raise ValueError("Invalid datetime string: " + attr) - check_decimal = attr.split('.') + check_decimal = attr.split(".") if len(check_decimal) > 1: decimal_str = "" for digit in check_decimal[1]: @@ -1980,7 +1944,7 @@ def deserialize_iso(attr): test_utc = date_obj.utctimetuple() if test_utc.tm_year > 9999 or test_utc.tm_year < 1: raise OverflowError("Hit max or min date") - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize datetime object." raise_with_traceback(DeserializationError, msg, err) else: @@ -2003,4 +1967,4 @@ def deserialize_unix(attr): msg = "Cannot deserialize to unix datetime object." raise_with_traceback(DeserializationError, msg, err) else: - return date_obj \ No newline at end of file + return date_obj diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_vendor.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_vendor.py deleted file mode 100644 index 9a223d15524..00000000000 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/_vendor.py +++ /dev/null @@ -1,15 +0,0 @@ -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.core.pipeline.transport import HttpRequest - -def _convert_request(request, files=None): - data = request.content if not files else None - request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) - if files: - request.set_formdata_body(files) - return request diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/__init__.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/__init__.py index dc527eb1909..d70ad195554 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/__init__.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._auto_rest_head_test_service import AutoRestHeadTestService +from ._client import AutoRestHeadTestService try: from ._patch import __all__ as _patch_all @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['AutoRestHeadTestService'] + +__all__ = ["AutoRestHeadTestService"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_auto_rest_head_test_service.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_client.py similarity index 78% rename from docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_auto_rest_head_test_service.py rename to docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_client.py index 408e56885a3..97042c10096 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_auto_rest_head_test_service.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from typing import Dict + class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-keyword """Test Infrastructure for AutoRest. @@ -28,39 +29,28 @@ class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-key :vartype http_success: azure.key.credential.sample.aio.operations.HttpSuccessOperations :param credential: Credential needed for the client to connect to Azure. Required. :type credential: ~azure.core.credentials.AzureKeyCredential - :param base_url: Service URL. Default value is "http://localhost:3000". - :type base_url: str + :keyword endpoint: Service URL. Default value is "http://localhost:3000". + :paramtype endpoint: str """ def __init__( - self, - credential: AzureKeyCredential, - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: AzureKeyCredential, *, endpoint: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = AutoRestHeadTestServiceConfiguration(credential=credential, **kwargs) - self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client = AsyncPipelineClient(base_url=endpoint, config=self._config, **kwargs) - client_models = {} # type: Dict[str, Any] - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) + self._serialize = Serializer() + self._deserialize = Deserializer() self._serialize.client_side_validation = False - self.http_success = HttpSuccessOperations( - self._client, self._config, self._serialize, self._deserialize - ) - + self.http_success = HttpSuccessOperations(self._client, self._config, self._serialize, self._deserialize) - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = await client._send_request(request) + >>> response = await client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_configuration.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_configuration.py index cfa2f6e76ef..236ba8e4e9d 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_configuration.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_configuration.py @@ -25,31 +25,26 @@ class AutoRestHeadTestServiceConfiguration(Configuration): # pylint: disable=to :type credential: ~azure.core.credentials.AzureKeyCredential """ - def __init__( - self, - credential: AzureKeyCredential, - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, **kwargs: Any) -> None: super(AutoRestHeadTestServiceConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential - kwargs.setdefault('sdk_moniker', 'key-credential-sample/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "key-credential-sample/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, "Ocp-Apim-Subscription-Key", **kwargs) + self.authentication_policy = policies.AzureKeyCredentialPolicy( + self.credential, "Ocp-Apim-Subscription-Key", **kwargs + ) diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_patch.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_patch.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/__init__.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/__init__.py index 5aae9b99c74..e0162bbccfa 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/__init__.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/__init__.py @@ -6,13 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._http_success_operations import HttpSuccessOperations +from ._operations import HttpSuccessOperations from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'HttpSuccessOperations', + "HttpSuccessOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_http_success_operations.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_operations.py similarity index 60% rename from docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_http_success_operations.py rename to docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_operations.py index 16ffbf5086b..25bb028cb2e 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_http_success_operations.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_operations.py @@ -8,17 +8,28 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest from azure.core.tracing.decorator_async import distributed_trace_async -from ..._vendor import _convert_request -from ...operations._http_success_operations import build_head200_request, build_head204_request, build_head404_request -T = TypeVar('T') +from ...operations._operations import ( + build_http_success_head200_request, + build_http_success_head204_request, + build_http_success_head404_request, +) + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class HttpSuccessOperations: """ .. warning:: @@ -36,42 +47,30 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def head200( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def head200(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 200 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head200_request( - template_url=self.head200.metadata['url'], + request = build_http_success_head200_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -83,44 +82,30 @@ async def head200( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - head200.metadata = {'url': "/http/success/200"} # type: ignore - - @distributed_trace_async - async def head204( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def head204(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 204 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head204_request( - template_url=self.head204.metadata['url'], + request = build_http_success_head204_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -132,44 +117,30 @@ async def head204( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - head204.metadata = {'url': "/http/success/204"} # type: ignore - - @distributed_trace_async - async def head404( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def head404(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 404 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head404_request( - template_url=self.head404.metadata['url'], + request = build_http_success_head404_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -180,6 +151,3 @@ async def head404( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - - head404.metadata = {'url': "/http/success/404"} # type: ignore - diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_patch.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_patch.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/__init__.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/__init__.py index 5aae9b99c74..e0162bbccfa 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/__init__.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/__init__.py @@ -6,13 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._http_success_operations import HttpSuccessOperations +from ._operations import HttpSuccessOperations from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'HttpSuccessOperations', + "HttpSuccessOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_http_success_operations.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_operations.py similarity index 57% rename from docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_http_success_operations.py rename to docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_operations.py index 79d6b5225ae..102ce5bf388 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_http_success_operations.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_operations.py @@ -8,58 +8,47 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest from azure.core.tracing.decorator import distributed_trace from .._serialization import Serializer -from .._vendor import _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_head200_request( - **kwargs: Any -) -> HttpRequest: +def build_http_success_head200_request(**kwargs: Any) -> HttpRequest: # Construct URL - _url = kwargs.pop("template_url", "/http/success/200") + _url = "/http/success/200" - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) + return HttpRequest(method="HEAD", url=_url, **kwargs) -def build_head204_request( - **kwargs: Any -) -> HttpRequest: +def build_http_success_head204_request(**kwargs: Any) -> HttpRequest: # Construct URL - _url = kwargs.pop("template_url", "/http/success/204") + _url = "/http/success/204" - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) + return HttpRequest(method="HEAD", url=_url, **kwargs) -def build_head404_request( - **kwargs: Any -) -> HttpRequest: +def build_http_success_head404_request(**kwargs: Any) -> HttpRequest: # Construct URL - _url = kwargs.pop("template_url", "/http/success/404") + _url = "/http/success/404" + + return HttpRequest(method="HEAD", url=_url, **kwargs) - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) class HttpSuccessOperations: """ @@ -78,42 +67,30 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def head200( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def head200(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 200 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head200_request( - template_url=self.head200.metadata['url'], + request = build_http_success_head200_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -125,44 +102,30 @@ def head200( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - head200.metadata = {'url': "/http/success/200"} # type: ignore - - @distributed_trace - def head204( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def head204(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 204 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head204_request( - template_url=self.head204.metadata['url'], + request = build_http_success_head204_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -174,44 +137,30 @@ def head204( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - head204.metadata = {'url': "/http/success/204"} # type: ignore - - @distributed_trace - def head404( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def head404(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 404 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head404_request( - template_url=self.head404.metadata['url'], + request = build_http_success_head404_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -222,6 +171,3 @@ def head404( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - - head404.metadata = {'url': "/http/success/404"} # type: ignore - diff --git a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_patch.py b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_patch.py +++ b/docs/samples/specification/azure_key_credential/generated/azure/key/credential/sample/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/azure_key_credential/generated/setup.py b/docs/samples/specification/azure_key_credential/generated/setup.py index 3f65f1cbf79..e51cad82ec0 100644 --- a/docs/samples/specification/azure_key_credential/generated/setup.py +++ b/docs/samples/specification/azure_key_credential/generated/setup.py @@ -21,10 +21,10 @@ packages=find_packages(), include_package_data=True, install_requires=[ - "msrest>=0.7.1", + "isodate>=0.6.1", "azure-core<2.0.0,>=1.24.0", ], long_description="""\ Test Infrastructure for AutoRest. - """ + """, ) diff --git a/docs/samples/specification/basic/generated/azure/__init__.py b/docs/samples/specification/basic/generated/azure/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/basic/generated/azure/__init__.py +++ b/docs/samples/specification/basic/generated/azure/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/basic/generated/azure/basic/__init__.py b/docs/samples/specification/basic/generated/azure/basic/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/basic/generated/azure/basic/__init__.py +++ b/docs/samples/specification/basic/generated/azure/basic/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/__init__.py b/docs/samples/specification/basic/generated/azure/basic/sample/__init__.py index 9a25cb14bdd..4e88b33e40b 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/__init__.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._auto_rest_head_test_service import AutoRestHeadTestService +from ._client import AutoRestHeadTestService from ._version import VERSION __version__ = VERSION @@ -17,7 +17,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['AutoRestHeadTestService'] + +__all__ = ["AutoRestHeadTestService"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/_auto_rest_head_test_service.py b/docs/samples/specification/basic/generated/azure/basic/sample/_client.py similarity index 77% rename from docs/samples/specification/basic/generated/azure/basic/sample/_auto_rest_head_test_service.py rename to docs/samples/specification/basic/generated/azure/basic/sample/_client.py index fe288e75fde..d201e12fc9d 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/_auto_rest_head_test_service.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/_client.py @@ -20,43 +20,32 @@ # pylint: disable=unused-import,ungrouped-imports from typing import Dict + class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-keyword """Test Infrastructure for AutoRest. :ivar http_success: HttpSuccessOperations operations :vartype http_success: azure.basic.sample.operations.HttpSuccessOperations - :param base_url: Service URL. Default value is "http://localhost:3000". - :type base_url: str + :keyword endpoint: Service URL. Default value is "http://localhost:3000". + :paramtype endpoint: str """ - def __init__( - self, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, *, endpoint: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = AutoRestHeadTestServiceConfiguration(**kwargs) - self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client = PipelineClient(base_url=endpoint, config=self._config, **kwargs) - client_models = {} # type: Dict[str, Any] - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) + self._serialize = Serializer() + self._deserialize = Deserializer() self._serialize.client_side_validation = False - self.http_success = HttpSuccessOperations( - self._client, self._config, self._serialize, self._deserialize - ) - + self.http_success = HttpSuccessOperations(self._client, self._config, self._serialize, self._deserialize) - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = client._send_request(request) + >>> response = client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/_configuration.py b/docs/samples/specification/basic/generated/azure/basic/sample/_configuration.py index a505171628a..5370b6f00c4 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/_configuration.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/_configuration.py @@ -21,26 +21,22 @@ class AutoRestHeadTestServiceConfiguration(Configuration): # pylint: disable=to attributes. """ - def __init__( - self, - **kwargs: Any - ) -> None: + def __init__(self, **kwargs: Any) -> None: super(AutoRestHeadTestServiceConfiguration, self).__init__(**kwargs) - kwargs.setdefault('sdk_moniker', 'basic-sample/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "basic-sample/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/_patch.py b/docs/samples/specification/basic/generated/azure/basic/sample/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/_patch.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/_serialization.py b/docs/samples/specification/basic/generated/azure/basic/sample/_serialization.py index a8b19965491..7daa7a447db 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/_serialization.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/_serialization.py @@ -37,6 +37,7 @@ import re import sys import codecs + try: from urllib import quote # type: ignore except ImportError: @@ -49,15 +50,16 @@ from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback -_BOM = codecs.BOM_UTF8.decode(encoding='utf-8') +_BOM = codecs.BOM_UTF8.decode(encoding="utf-8") if TYPE_CHECKING: from typing import Optional, Union, AnyStr, IO, Mapping + class RawDeserializer: # Accept "text" because we're open minded people... - JSON_REGEXP = re.compile(r'^(application|text)/([a-z+.]+\+)?json$') + JSON_REGEXP = re.compile(r"^(application|text)/([a-z+.]+\+)?json$") # Name used in context CONTEXT_NAME = "deserialized_data" @@ -75,12 +77,12 @@ def deserialize_from_text(cls, data, content_type=None): :type data: str or bytes or IO :param str content_type: The content type. """ - if hasattr(data, 'read'): + if hasattr(data, "read"): # Assume a stream data = cast(IO, data).read() if isinstance(data, bytes): - data_as_str = data.decode(encoding='utf-8-sig') + data_as_str = data.decode(encoding="utf-8-sig") else: # Explain to mypy the correct type. data_as_str = cast(str, data) @@ -116,7 +118,8 @@ def _json_attemp(data): try: return True, json.loads(data) except ValueError: - return False, None # Don't care about this one + return False, None # Don't care about this one + success, json_result = _json_attemp(data) if success: return json_result @@ -139,8 +142,8 @@ def deserialize_from_http_generics(cls, body_bytes, headers): """ # Try to use content-type from headers if available content_type = None - if 'content-type' in headers: - content_type = headers['content-type'].split(";")[0].strip().lower() + if "content-type" in headers: + content_type = headers["content-type"].split(";")[0].strip().lower() # Ouch, this server did not declare what it sent... # Let's guess it's JSON... # Also, since Autorest was considering that an empty body was a valid JSON, @@ -152,6 +155,7 @@ def deserialize_from_http_generics(cls, body_bytes, headers): return cls.deserialize_from_text(body_bytes, content_type) return None + try: basestring # type: ignore unicode_str = unicode # type: ignore @@ -162,10 +166,11 @@ def deserialize_from_http_generics(cls, body_bytes, headers): _LOGGER = logging.getLogger(__name__) try: - _long_type = long # type: ignore + _long_type = long # type: ignore except NameError: _long_type = int + class UTC(datetime.tzinfo): """Time Zone info for handling UTC""" @@ -181,9 +186,11 @@ def dst(self, dt): """No daylight saving for UTC.""" return datetime.timedelta(hours=1) + try: from datetime import timezone as _FixedOffset except ImportError: # Python 2.7 + class _FixedOffset(datetime.tzinfo): # type: ignore """Fixed offset in minutes east from UTC. Copy/pasted from Python doc @@ -197,7 +204,7 @@ def utcoffset(self, dt): return self.__offset def tzname(self, dt): - return str(self.__offset.total_seconds()/3600) + return str(self.__offset.total_seconds() / 3600) def __repr__(self): return "".format(self.tzname(None)) @@ -208,14 +215,17 @@ def dst(self, dt): def __getinitargs__(self): return (self.__offset,) + try: from datetime import timezone + TZ_UTC = timezone.utc # type: ignore except ImportError: TZ_UTC = UTC() # type: ignore _FLATTEN = re.compile(r"(? y, @@ -502,25 +518,25 @@ class Serializer(object): "max_items": lambda x, y: len(x) > y, "pattern": lambda x, y: not re.match(y, x, re.UNICODE), "unique": lambda x, y: len(x) != len(set(x)), - "multiple": lambda x, y: x % y != 0 - } + "multiple": lambda x, y: x % y != 0, + } def __init__(self, classes=None): self.serialize_type = { - 'iso-8601': Serializer.serialize_iso, - 'rfc-1123': Serializer.serialize_rfc, - 'unix-time': Serializer.serialize_unix, - 'duration': Serializer.serialize_duration, - 'date': Serializer.serialize_date, - 'time': Serializer.serialize_time, - 'decimal': Serializer.serialize_decimal, - 'long': Serializer.serialize_long, - 'bytearray': Serializer.serialize_bytearray, - 'base64': Serializer.serialize_base64, - 'object': self.serialize_object, - '[]': self.serialize_iter, - '{}': self.serialize_dict - } + "iso-8601": Serializer.serialize_iso, + "rfc-1123": Serializer.serialize_rfc, + "unix-time": Serializer.serialize_unix, + "duration": Serializer.serialize_duration, + "date": Serializer.serialize_date, + "time": Serializer.serialize_time, + "decimal": Serializer.serialize_decimal, + "long": Serializer.serialize_long, + "bytearray": Serializer.serialize_bytearray, + "base64": Serializer.serialize_base64, + "object": self.serialize_object, + "[]": self.serialize_iter, + "{}": self.serialize_dict, + } self.dependencies = dict(classes) if classes else {} self.key_transformer = full_restapi_key_transformer self.client_side_validation = True @@ -542,14 +558,12 @@ def _serialize(self, target_obj, data_type=None, **kwargs): class_name = target_obj.__class__.__name__ if data_type: - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) if not hasattr(target_obj, "_attribute_map"): data_type = type(target_obj).__name__ if data_type in self.basic_types.values(): - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) # Force "is_xml" kwargs if we detect a XML model try: @@ -564,10 +578,10 @@ def _serialize(self, target_obj, data_type=None, **kwargs): attributes = target_obj._attribute_map for attr, attr_desc in attributes.items(): attr_name = attr - if not keep_readonly and target_obj._validation.get(attr_name, {}).get('readonly', False): + if not keep_readonly and target_obj._validation.get(attr_name, {}).get("readonly", False): continue - if attr_name == "additional_properties" and attr_desc["key"] == '': + if attr_name == "additional_properties" and attr_desc["key"] == "": if target_obj.additional_properties is not None: serialized.update(target_obj.additional_properties) continue @@ -575,21 +589,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): orig_attr = getattr(target_obj, attr) if is_xml_model_serialization: - pass # Don't provide "transformer" for XML for now. Keep "orig_attr" - else: # JSON + pass # Don't provide "transformer" for XML for now. Keep "orig_attr" + else: # JSON keys, orig_attr = key_transformer(attr, attr_desc.copy(), orig_attr) keys = keys if isinstance(keys, list) else [keys] - kwargs["serialization_ctxt"] = attr_desc - new_attr = self.serialize_data(orig_attr, attr_desc['type'], **kwargs) - + new_attr = self.serialize_data(orig_attr, attr_desc["type"], **kwargs) if is_xml_model_serialization: - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) - xml_prefix = xml_desc.get('prefix', None) - xml_ns = xml_desc.get('ns', None) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) + xml_prefix = xml_desc.get("prefix", None) + xml_ns = xml_desc.get("ns", None) if xml_desc.get("attr", False): if xml_ns: ET.register_namespace(xml_prefix, xml_ns) @@ -603,23 +615,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): serialized.extend(new_attr) elif isinstance(new_attr, ET.Element): # If the down XML has no XML/Name, we MUST replace the tag with the local tag. But keeping the namespaces. - if 'name' not in getattr(orig_attr, '_xml_map', {}): + if "name" not in getattr(orig_attr, "_xml_map", {}): splitted_tag = new_attr.tag.split("}") - if len(splitted_tag) == 2: # Namespace + if len(splitted_tag) == 2: # Namespace new_attr.tag = "}".join([splitted_tag[0], xml_name]) else: new_attr.tag = xml_name serialized.append(new_attr) else: # That's a basic type # Integrate namespace if necessary - local_node = _create_xml_node( - xml_name, - xml_prefix, - xml_ns - ) + local_node = _create_xml_node(xml_name, xml_prefix, xml_ns) local_node.text = unicode_str(new_attr) serialized.append(local_node) - else: # JSON + else: # JSON for k in reversed(keys): unflattened = {k: new_attr} new_attr = unflattened @@ -635,8 +643,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs): continue except (AttributeError, KeyError, TypeError) as err: - msg = "Attribute {} in object {} cannot be serialized.\n{}".format( - attr_name, class_name, str(target_obj)) + msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) raise_with_traceback(SerializationError, msg, err) else: return serialized @@ -652,7 +659,7 @@ def body(self, data, data_type, **kwargs): """ # Just in case this is a dict - internal_data_type = data_type.strip('[]{}') + internal_data_type = data_type.strip("[]{}") internal_data_type = self.dependencies.get(internal_data_type, None) try: is_xml_model_serialization = kwargs["is_xml"] @@ -675,12 +682,11 @@ def body(self, data, data_type, **kwargs): deserializer.key_extractors = [ rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor, - last_rest_key_case_insensitive_extractor + last_rest_key_case_insensitive_extractor, ] data = deserializer._deserialize(data_type, data) except DeserializationError as err: - raise_with_traceback( - SerializationError, "Unable to build a model: "+str(err), err) + raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err) return self._serialize(data, data_type, **kwargs) @@ -695,13 +701,13 @@ def url(self, name, data, data_type, **kwargs): """ try: output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -720,27 +726,19 @@ def query(self, name, data, data_type, **kwargs): # Treat the list aside, since we don't want to encode the div separator if data_type.startswith("["): internal_data_type = data_type[1:-1] - data = [ - self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" - for d - in data - ] - if not kwargs.get('skip_quote', False): - data = [ - quote(str(d), safe='') - for d - in data - ] + data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] + if not kwargs.get("skip_quote", False): + data = [quote(str(d), safe="") for d in data] return str(self.serialize_iter(data, internal_data_type, **kwargs)) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -756,11 +754,11 @@ def header(self, name, data, data_type, **kwargs): :raises: ValueError if data is None """ try: - if data_type in ['[str]']: + if data_type in ["[str]"]: data = ["" if d is None else d for d in data] output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) @@ -796,13 +794,11 @@ def serialize_data(self, data, data_type, **kwargs): iter_type = data_type[0] + data_type[-1] if iter_type in self.serialize_type: - return self.serialize_type[iter_type]( - data, data_type[1:-1], **kwargs) + return self.serialize_type[iter_type](data, data_type[1:-1], **kwargs) except (ValueError, TypeError) as err: msg = "Unable to serialize value: {!r} as type: {!r}." - raise_with_traceback( - SerializationError, msg.format(data, data_type), err) + raise_with_traceback(SerializationError, msg.format(data, data_type), err) else: return self._serialize(data, **kwargs) @@ -829,7 +825,7 @@ def serialize_basic(cls, data, data_type, **kwargs): custom_serializer = cls._get_custom_serializers(data_type, **kwargs) if custom_serializer: return custom_serializer(data) - if data_type == 'str': + if data_type == "str": return cls.serialize_unicode(data) return eval(data_type)(data) @@ -886,25 +882,21 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): serialized.append(None) if div: - serialized = ['' if s is None else str(s) for s in serialized] + serialized = ["" if s is None else str(s) for s in serialized] serialized = div.join(serialized) - if 'xml' in serialization_ctxt or is_xml: + if "xml" in serialization_ctxt or is_xml: # XML serialization is more complicated - xml_desc = serialization_ctxt.get('xml', {}) - xml_name = xml_desc.get('name') + xml_desc = serialization_ctxt.get("xml", {}) + xml_name = xml_desc.get("name") if not xml_name: - xml_name = serialization_ctxt['key'] + xml_name = serialization_ctxt["key"] # Create a wrap node if necessary (use the fact that Element and list have "append") is_wrapped = xml_desc.get("wrapped", False) node_name = xml_desc.get("itemsName", xml_name) if is_wrapped: - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) else: final_result = [] # All list elements to "local_node" @@ -912,11 +904,7 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): if isinstance(el, ET.Element): el_node = el else: - el_node = _create_xml_node( - node_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + el_node = _create_xml_node(node_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) if el is not None: # Otherwise it writes "None" :-p el_node.text = str(el) final_result.append(el_node) @@ -936,21 +924,16 @@ def serialize_dict(self, attr, dict_type, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_data( - value, dict_type, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None - if 'xml' in serialization_ctxt: + if "xml" in serialization_ctxt: # XML serialization is more complicated - xml_desc = serialization_ctxt['xml'] - xml_name = xml_desc['name'] + xml_desc = serialization_ctxt["xml"] + xml_name = xml_desc["name"] - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) for key, value in serialized.items(): ET.SubElement(final_result, key).text = value return final_result @@ -996,8 +979,7 @@ def serialize_object(self, attr, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_object( - value, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_object(value, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None return serialized @@ -1006,8 +988,7 @@ def serialize_object(self, attr, **kwargs): serialized = [] for obj in attr: try: - serialized.append(self.serialize_object( - obj, **kwargs)) + serialized.append(self.serialize_object(obj, **kwargs)) except ValueError: pass return serialized @@ -1045,8 +1026,8 @@ def serialize_base64(attr, **kwargs): :param attr: Object to be serialized. :rtype: str """ - encoded = b64encode(attr).decode('ascii') - return encoded.strip('=').replace('+', '-').replace('/', '_') + encoded = b64encode(attr).decode("ascii") + return encoded.strip("=").replace("+", "-").replace("/", "_") @staticmethod def serialize_decimal(attr, **kwargs): @@ -1113,16 +1094,20 @@ def serialize_rfc(attr, **kwargs): """ try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() except AttributeError: raise TypeError("RFC1123 object must be valid Datetime object.") return "{}, {:02} {} {:04} {:02}:{:02}:{:02} GMT".format( - Serializer.days[utc.tm_wday], utc.tm_mday, - Serializer.months[utc.tm_mon], utc.tm_year, - utc.tm_hour, utc.tm_min, utc.tm_sec) + Serializer.days[utc.tm_wday], + utc.tm_mday, + Serializer.months[utc.tm_mon], + utc.tm_year, + utc.tm_hour, + utc.tm_min, + utc.tm_sec, + ) @staticmethod def serialize_iso(attr, **kwargs): @@ -1136,19 +1121,18 @@ def serialize_iso(attr, **kwargs): attr = isodate.parse_datetime(attr) try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() if utc.tm_year > 9999 or utc.tm_year < 1: raise OverflowError("Hit max or min date") - microseconds = str(attr.microsecond).rjust(6,'0').rstrip('0').ljust(3, '0') + microseconds = str(attr.microsecond).rjust(6, "0").rstrip("0").ljust(3, "0") if microseconds: - microseconds = '.'+microseconds + microseconds = "." + microseconds date = "{:04}-{:02}-{:02}T{:02}:{:02}:{:02}".format( - utc.tm_year, utc.tm_mon, utc.tm_mday, - utc.tm_hour, utc.tm_min, utc.tm_sec) - return date + microseconds + 'Z' + utc.tm_year, utc.tm_mon, utc.tm_mday, utc.tm_hour, utc.tm_min, utc.tm_sec + ) + return date + microseconds + "Z" except (ValueError, OverflowError) as err: msg = "Unable to serialize datetime object." raise_with_traceback(SerializationError, msg, err) @@ -1169,17 +1153,17 @@ def serialize_unix(attr, **kwargs): return attr try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") return int(calendar.timegm(attr.utctimetuple())) except AttributeError: raise TypeError("Unix time object must be valid Datetime object.") + def rest_key_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1191,15 +1175,16 @@ def rest_key_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) return working_data.get(key) + def rest_key_case_insensitive_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1211,30 +1196,33 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) if working_data: return attribute_key_case_insensitive_extractor(key, None, working_data) + def last_rest_key_extractor(attr, attr_desc, data): - """Extract the attribute in "data" based on the last part of the JSON path key. - """ - key = attr_desc['key'] + """Extract the attribute in "data" based on the last part of the JSON path key.""" + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_extractor(dict_keys[-1], None, data) + def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): """Extract the attribute in "data" based on the last part of the JSON path key. This is the case insensitive version of "last_rest_key_extractor" """ - key = attr_desc['key'] + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_case_insensitive_extractor(dict_keys[-1], None, data) + def attribute_key_extractor(attr, _, data): return data.get(attr) + def attribute_key_case_insensitive_extractor(attr, _, data): found_key = None lower_attr = attr.lower() @@ -1245,6 +1233,7 @@ def attribute_key_case_insensitive_extractor(attr, _, data): return data.get(found_key) + def _extract_name_from_internal_type(internal_type): """Given an internal type XML description, extract correct XML name with namespace. @@ -1253,7 +1242,7 @@ def _extract_name_from_internal_type(internal_type): :returns: A tuple XML name + namespace dict """ internal_type_xml_map = getattr(internal_type, "_xml_map", {}) - xml_name = internal_type_xml_map.get('name', internal_type.__name__) + xml_name = internal_type_xml_map.get("name", internal_type.__name__) xml_ns = internal_type_xml_map.get("ns", None) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1268,17 +1257,17 @@ def xml_key_extractor(attr, attr_desc, data): if not isinstance(data, ET.Element): return None - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) # Look for a children - is_iter_type = attr_desc['type'].startswith("[") + is_iter_type = attr_desc["type"].startswith("[") is_wrapped = xml_desc.get("wrapped", False) internal_type = attr_desc.get("internalType", None) internal_type_xml_map = getattr(internal_type, "_xml_map", {}) # Integrate namespace if necessary - xml_ns = xml_desc.get('ns', internal_type_xml_map.get("ns", None)) + xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None)) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1294,15 +1283,15 @@ def xml_key_extractor(attr, attr_desc, data): # - Wrapped node # - Internal type is an enum (considered basic types) # - Internal type has no XML/Name node - if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or 'name' not in internal_type_xml_map)): + if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or "name" not in internal_type_xml_map)): children = data.findall(xml_name) # If internal type has a local name and it's not a list, I use that name - elif not is_iter_type and internal_type and 'name' in internal_type_xml_map: + elif not is_iter_type and internal_type and "name" in internal_type_xml_map: xml_name = _extract_name_from_internal_type(internal_type) children = data.findall(xml_name) # That's an array else: - if internal_type: # Complex type, ignore itemsName and use the complex type name + if internal_type: # Complex type, ignore itemsName and use the complex type name items_name = _extract_name_from_internal_type(internal_type) else: items_name = xml_desc.get("itemsName", xml_name) @@ -1311,21 +1300,22 @@ def xml_key_extractor(attr, attr_desc, data): if len(children) == 0: if is_iter_type: if is_wrapped: - return None # is_wrapped no node, we want None + return None # is_wrapped no node, we want None else: - return [] # not wrapped, assume empty list + return [] # not wrapped, assume empty list return None # Assume it's not there, maybe an optional node. # If is_iter_type and not wrapped, return all found children if is_iter_type: if not is_wrapped: return children - else: # Iter and wrapped, should have found one node only (the wrap one) + else: # Iter and wrapped, should have found one node only (the wrap one) if len(children) != 1: raise DeserializationError( "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( xml_name - )) + ) + ) return list(children[0]) # Might be empty list and that's ok. # Here it's not a itertype, we should have found one element only or empty @@ -1333,6 +1323,7 @@ def xml_key_extractor(attr, attr_desc, data): raise DeserializationError("Find several XML '{}' where it was not expected".format(xml_name)) return children[0] + class Deserializer(object): """Response object model deserializer. @@ -1340,37 +1331,32 @@ class Deserializer(object): :ivar list key_extractors: Ordered list of extractors to be used by this deserializer. """ - basic_types = {str: 'str', int: 'int', bool: 'bool', float: 'float'} + basic_types = {str: "str", int: "int", bool: "bool", float: "float"} - valid_date = re.compile( - r'\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}' - r'\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?') + valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") def __init__(self, classes=None): self.deserialize_type = { - 'iso-8601': Deserializer.deserialize_iso, - 'rfc-1123': Deserializer.deserialize_rfc, - 'unix-time': Deserializer.deserialize_unix, - 'duration': Deserializer.deserialize_duration, - 'date': Deserializer.deserialize_date, - 'time': Deserializer.deserialize_time, - 'decimal': Deserializer.deserialize_decimal, - 'long': Deserializer.deserialize_long, - 'bytearray': Deserializer.deserialize_bytearray, - 'base64': Deserializer.deserialize_base64, - 'object': self.deserialize_object, - '[]': self.deserialize_iter, - '{}': self.deserialize_dict - } + "iso-8601": Deserializer.deserialize_iso, + "rfc-1123": Deserializer.deserialize_rfc, + "unix-time": Deserializer.deserialize_unix, + "duration": Deserializer.deserialize_duration, + "date": Deserializer.deserialize_date, + "time": Deserializer.deserialize_time, + "decimal": Deserializer.deserialize_decimal, + "long": Deserializer.deserialize_long, + "bytearray": Deserializer.deserialize_bytearray, + "base64": Deserializer.deserialize_base64, + "object": self.deserialize_object, + "[]": self.deserialize_iter, + "{}": self.deserialize_dict, + } self.deserialize_expected_types = { - 'duration': (isodate.Duration, datetime.timedelta), - 'iso-8601': (datetime.datetime) + "duration": (isodate.Duration, datetime.timedelta), + "iso-8601": (datetime.datetime), } self.dependencies = dict(classes) if classes else {} - self.key_extractors = [ - rest_key_extractor, - xml_key_extractor - ] + self.key_extractors = [rest_key_extractor, xml_key_extractor] # Additional properties only works if the "rest_key_extractor" is used to # extract the keys. Making it to work whatever the key extractor is too much # complicated, with no real scenario for now. @@ -1403,8 +1389,7 @@ def _deserialize(self, target_obj, data): """ # This is already a model, go recursive just in case if hasattr(data, "_attribute_map"): - constants = [name for name, config in getattr(data, '_validation', {}).items() - if config.get('constant')] + constants = [name for name, config in getattr(data, "_validation", {}).items() if config.get("constant")] try: for attr, mapconfig in data._attribute_map.items(): if attr in constants: @@ -1412,15 +1397,11 @@ def _deserialize(self, target_obj, data): value = getattr(data, attr) if value is None: continue - local_type = mapconfig['type'] - internal_data_type = local_type.strip('[]{}') + local_type = mapconfig["type"] + internal_data_type = local_type.strip("[]{}") if internal_data_type not in self.dependencies or isinstance(internal_data_type, Enum): continue - setattr( - data, - attr, - self._deserialize(local_type, value) - ) + setattr(data, attr, self._deserialize(local_type, value)) return data except AttributeError: return @@ -1439,12 +1420,12 @@ def _deserialize(self, target_obj, data): d_attrs = {} for attr, attr_desc in attributes.items(): # Check empty string. If it's not empty, someone has a real "additionalProperties"... - if attr == "additional_properties" and attr_desc["key"] == '': + if attr == "additional_properties" and attr_desc["key"] == "": continue raw_value = None # Enhance attr_desc with some dynamic data - attr_desc = attr_desc.copy() # Do a copy, do not change the real one - internal_data_type = attr_desc["type"].strip('[]{}') + attr_desc = attr_desc.copy() # Do a copy, do not change the real one + internal_data_type = attr_desc["type"].strip("[]{}") if internal_data_type in self.dependencies: attr_desc["internalType"] = self.dependencies[internal_data_type] @@ -1452,18 +1433,15 @@ def _deserialize(self, target_obj, data): found_value = key_extractor(attr, attr_desc, data) if found_value is not None: if raw_value is not None and raw_value != found_value: - msg = ("Ignoring extracted value '%s' from %s for key '%s'" - " (duplicate extraction, follow extractors order)" ) - _LOGGER.warning( - msg, - found_value, - key_extractor, - attr + msg = ( + "Ignoring extracted value '%s' from %s for key '%s'" + " (duplicate extraction, follow extractors order)" ) + _LOGGER.warning(msg, found_value, key_extractor, attr) continue raw_value = found_value - value = self.deserialize_data(raw_value, attr_desc['type']) + value = self.deserialize_data(raw_value, attr_desc["type"]) d_attrs[attr] = value except (AttributeError, TypeError, KeyError) as err: msg = "Unable to deserialize to object: " + class_name @@ -1475,14 +1453,17 @@ def _deserialize(self, target_obj, data): def _build_additional_properties(self, attribute_map, data): if not self.additional_properties_detection: return None - if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != '': + if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != "": # Check empty string. If it's not empty, someone has a real "additionalProperties" return None if isinstance(data, ET.Element): data = {el.tag: el.text for el in data} - known_keys = {_decode_attribute_map_key(_FLATTEN.split(desc['key'])[0]) - for desc in attribute_map.values() if desc['key'] != ''} + known_keys = { + _decode_attribute_map_key(_FLATTEN.split(desc["key"])[0]) + for desc in attribute_map.values() + if desc["key"] != "" + } present_keys = set(data.keys()) missing_keys = present_keys - known_keys return {key: data[key] for key in missing_keys} @@ -1525,8 +1506,7 @@ def failsafe_deserialize(self, target_obj, data, content_type=None): return self(target_obj, data, content_type=content_type) except: _LOGGER.warning( - "Ran into a deserialization error. Ignoring since this is failsafe deserialization", - exc_info=True + "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True ) return None @@ -1554,21 +1534,15 @@ def _unpack_content(raw_data, content_type=None): return context[RawDeserializer.CONTEXT_NAME] raise ValueError("This pipeline didn't have the RawDeserializer policy; can't deserialize") - #Assume this is enough to recognize universal_http.ClientResponse without importing it + # Assume this is enough to recognize universal_http.ClientResponse without importing it if hasattr(raw_data, "body"): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text(), - raw_data.headers - ) + return RawDeserializer.deserialize_from_http_generics(raw_data.text(), raw_data.headers) # Assume this enough to recognize requests.Response without importing it. - if hasattr(raw_data, '_content_consumed'): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text, - raw_data.headers - ) + if hasattr(raw_data, "_content_consumed"): + return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers) - if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, 'read'): + if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"): return RawDeserializer.deserialize_from_text(raw_data, content_type) return raw_data @@ -1579,14 +1553,11 @@ def _instantiate_model(self, response, attrs, additional_properties=None): :param d_attrs: The deserialized response attributes. """ if callable(response): - subtype = getattr(response, '_subtype_map', {}) + subtype = getattr(response, "_subtype_map", {}) try: - readonly = [k for k, v in response._validation.items() - if v.get('readonly')] - const = [k for k, v in response._validation.items() - if v.get('constant')] - kwargs = {k: v for k, v in attrs.items() - if k not in subtype and k not in readonly + const} + readonly = [k for k, v in response._validation.items() if v.get("readonly")] + const = [k for k, v in response._validation.items() if v.get("constant")] + kwargs = {k: v for k, v in attrs.items() if k not in subtype and k not in readonly + const} response_obj = response(**kwargs) for attr in readonly: setattr(response_obj, attr, attrs.get(attr)) @@ -1594,8 +1565,7 @@ def _instantiate_model(self, response, attrs, additional_properties=None): response_obj.additional_properties = additional_properties return response_obj except TypeError as err: - msg = "Unable to deserialize {} into model {}. ".format( - kwargs, response) + msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) raise DeserializationError(msg + str(err)) else: try: @@ -1659,13 +1629,10 @@ def deserialize_iter(self, attr, iter_type): """ if attr is None: return None - if isinstance(attr, ET.Element): # If I receive an element here, get the children + if isinstance(attr, ET.Element): # If I receive an element here, get the children attr = list(attr) if not isinstance(attr, (list, set)): - raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format( - iter_type, - type(attr) - )) + raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format(iter_type, type(attr))) return [self.deserialize_data(a, iter_type) for a in attr] def deserialize_dict(self, attr, dict_type): @@ -1677,7 +1644,7 @@ def deserialize_dict(self, attr, dict_type): :rtype: dict """ if isinstance(attr, list): - return {x['key']: self.deserialize_data(x['value'], dict_type) for x in attr} + return {x["key"]: self.deserialize_data(x["value"], dict_type) for x in attr} if isinstance(attr, ET.Element): # Transform value into {"Key": "value"} @@ -1698,7 +1665,7 @@ def deserialize_object(self, attr, **kwargs): # Do no recurse on XML, just return the tree as-is return attr if isinstance(attr, basestring): - return self.deserialize_basic(attr, 'str') + return self.deserialize_basic(attr, "str") obj_type = type(attr) if obj_type in self.basic_types: return self.deserialize_basic(attr, self.basic_types[obj_type]) @@ -1709,8 +1676,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = {} for key, value in attr.items(): try: - deserialized[key] = self.deserialize_object( - value, **kwargs) + deserialized[key] = self.deserialize_object(value, **kwargs) except ValueError: deserialized[key] = None return deserialized @@ -1719,8 +1685,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = [] for obj in attr: try: - deserialized.append(self.deserialize_object( - obj, **kwargs)) + deserialized.append(self.deserialize_object(obj, **kwargs)) except ValueError: pass return deserialized @@ -1747,23 +1712,23 @@ def deserialize_basic(self, attr, data_type): if not attr: if data_type == "str": # None or '', node is empty string. - return '' + return "" else: # None or '', node with a strong type is None. # Don't try to model "empty bool" or "empty int" return None - if data_type == 'bool': + if data_type == "bool": if attr in [True, False, 1, 0]: return bool(attr) elif isinstance(attr, basestring): - if attr.lower() in ['true', '1']: + if attr.lower() in ["true", "1"]: return True - elif attr.lower() in ['false', '0']: + elif attr.lower() in ["false", "0"]: return False raise TypeError("Invalid boolean value: {}".format(attr)) - if data_type == 'str': + if data_type == "str": return self.deserialize_unicode(attr) return eval(data_type)(attr) @@ -1845,9 +1810,9 @@ def deserialize_base64(attr): """ if isinstance(attr, ET.Element): attr = attr.text - padding = '=' * (3 - (len(attr) + 3) % 4) + padding = "=" * (3 - (len(attr) + 3) % 4) attr = attr + padding - encoded = attr.replace('-', '+').replace('_', '/') + encoded = attr.replace("-", "+").replace("_", "/") return b64decode(encoded) @staticmethod @@ -1890,7 +1855,7 @@ def deserialize_duration(attr): attr = attr.text try: duration = isodate.parse_duration(attr) - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize duration object." raise_with_traceback(DeserializationError, msg, err) else: @@ -1938,8 +1903,7 @@ def deserialize_rfc(attr): try: parsed_date = email.utils.parsedate_tz(attr) date_obj = datetime.datetime( - *parsed_date[:6], - tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0)/60)) + *parsed_date[:6], tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0) / 60)) ) if not date_obj.tzinfo: date_obj = date_obj.astimezone(tz=TZ_UTC) @@ -1965,7 +1929,7 @@ def deserialize_iso(attr): if not match: raise ValueError("Invalid datetime string: " + attr) - check_decimal = attr.split('.') + check_decimal = attr.split(".") if len(check_decimal) > 1: decimal_str = "" for digit in check_decimal[1]: @@ -1980,7 +1944,7 @@ def deserialize_iso(attr): test_utc = date_obj.utctimetuple() if test_utc.tm_year > 9999 or test_utc.tm_year < 1: raise OverflowError("Hit max or min date") - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize datetime object." raise_with_traceback(DeserializationError, msg, err) else: @@ -2003,4 +1967,4 @@ def deserialize_unix(attr): msg = "Cannot deserialize to unix datetime object." raise_with_traceback(DeserializationError, msg, err) else: - return date_obj \ No newline at end of file + return date_obj diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/_vendor.py b/docs/samples/specification/basic/generated/azure/basic/sample/_vendor.py deleted file mode 100644 index 9a223d15524..00000000000 --- a/docs/samples/specification/basic/generated/azure/basic/sample/_vendor.py +++ /dev/null @@ -1,15 +0,0 @@ -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from azure.core.pipeline.transport import HttpRequest - -def _convert_request(request, files=None): - data = request.content if not files else None - request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) - if files: - request.set_formdata_body(files) - return request diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/aio/__init__.py b/docs/samples/specification/basic/generated/azure/basic/sample/aio/__init__.py index dc527eb1909..d70ad195554 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/aio/__init__.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/aio/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._auto_rest_head_test_service import AutoRestHeadTestService +from ._client import AutoRestHeadTestService try: from ._patch import __all__ as _patch_all @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['AutoRestHeadTestService'] + +__all__ = ["AutoRestHeadTestService"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/aio/_auto_rest_head_test_service.py b/docs/samples/specification/basic/generated/azure/basic/sample/aio/_client.py similarity index 77% rename from docs/samples/specification/basic/generated/azure/basic/sample/aio/_auto_rest_head_test_service.py rename to docs/samples/specification/basic/generated/azure/basic/sample/aio/_client.py index 0184e509a61..a1e130a4d8a 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/aio/_auto_rest_head_test_service.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/aio/_client.py @@ -20,43 +20,32 @@ # pylint: disable=unused-import,ungrouped-imports from typing import Dict + class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-keyword """Test Infrastructure for AutoRest. :ivar http_success: HttpSuccessOperations operations :vartype http_success: azure.basic.sample.aio.operations.HttpSuccessOperations - :param base_url: Service URL. Default value is "http://localhost:3000". - :type base_url: str + :keyword endpoint: Service URL. Default value is "http://localhost:3000". + :paramtype endpoint: str """ - def __init__( - self, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, *, endpoint: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = AutoRestHeadTestServiceConfiguration(**kwargs) - self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client = AsyncPipelineClient(base_url=endpoint, config=self._config, **kwargs) - client_models = {} # type: Dict[str, Any] - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) + self._serialize = Serializer() + self._deserialize = Deserializer() self._serialize.client_side_validation = False - self.http_success = HttpSuccessOperations( - self._client, self._config, self._serialize, self._deserialize - ) - + self.http_success = HttpSuccessOperations(self._client, self._config, self._serialize, self._deserialize) - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = await client._send_request(request) + >>> response = await client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/aio/_configuration.py b/docs/samples/specification/basic/generated/azure/basic/sample/aio/_configuration.py index 2d2f08e863a..c057ba34ccd 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/aio/_configuration.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/aio/_configuration.py @@ -21,25 +21,19 @@ class AutoRestHeadTestServiceConfiguration(Configuration): # pylint: disable=to attributes. """ - def __init__( - self, - **kwargs: Any - ) -> None: + def __init__(self, **kwargs: Any) -> None: super(AutoRestHeadTestServiceConfiguration, self).__init__(**kwargs) - kwargs.setdefault('sdk_moniker', 'basic-sample/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "basic-sample/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/aio/_patch.py b/docs/samples/specification/basic/generated/azure/basic/sample/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/aio/_patch.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/__init__.py b/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/__init__.py index 5aae9b99c74..e0162bbccfa 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/__init__.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/__init__.py @@ -6,13 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._http_success_operations import HttpSuccessOperations +from ._operations import HttpSuccessOperations from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'HttpSuccessOperations', + "HttpSuccessOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_http_success_operations.py b/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_operations.py similarity index 60% rename from docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_http_success_operations.py rename to docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_operations.py index 6eee8d62a25..288831baeeb 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_http_success_operations.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_operations.py @@ -8,17 +8,28 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest from azure.core.tracing.decorator_async import distributed_trace_async -from ..._vendor import _convert_request -from ...operations._http_success_operations import build_head200_request, build_head204_request, build_head404_request -T = TypeVar('T') +from ...operations._operations import ( + build_http_success_head200_request, + build_http_success_head204_request, + build_http_success_head404_request, +) + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class HttpSuccessOperations: """ .. warning:: @@ -36,42 +47,30 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def head200( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def head200(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 200 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head200_request( - template_url=self.head200.metadata['url'], + request = build_http_success_head200_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -83,44 +82,30 @@ async def head200( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - head200.metadata = {'url': "/http/success/200"} # type: ignore - - @distributed_trace_async - async def head204( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def head204(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 204 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head204_request( - template_url=self.head204.metadata['url'], + request = build_http_success_head204_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -132,44 +117,30 @@ async def head204( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - head204.metadata = {'url': "/http/success/204"} # type: ignore - - @distributed_trace_async - async def head404( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def head404(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 404 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head404_request( - template_url=self.head404.metadata['url'], + request = build_http_success_head404_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -180,6 +151,3 @@ async def head404( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - - head404.metadata = {'url': "/http/success/404"} # type: ignore - diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_patch.py b/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_patch.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/operations/__init__.py b/docs/samples/specification/basic/generated/azure/basic/sample/operations/__init__.py index 5aae9b99c74..e0162bbccfa 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/operations/__init__.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/operations/__init__.py @@ -6,13 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._http_success_operations import HttpSuccessOperations +from ._operations import HttpSuccessOperations from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'HttpSuccessOperations', + "HttpSuccessOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/operations/_http_success_operations.py b/docs/samples/specification/basic/generated/azure/basic/sample/operations/_operations.py similarity index 57% rename from docs/samples/specification/basic/generated/azure/basic/sample/operations/_http_success_operations.py rename to docs/samples/specification/basic/generated/azure/basic/sample/operations/_operations.py index e33ba7ab862..6f30f13d44b 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/operations/_http_success_operations.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/operations/_operations.py @@ -8,58 +8,47 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest from azure.core.tracing.decorator import distributed_trace from .._serialization import Serializer -from .._vendor import _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_head200_request( - **kwargs: Any -) -> HttpRequest: +def build_http_success_head200_request(**kwargs: Any) -> HttpRequest: # Construct URL - _url = kwargs.pop("template_url", "/http/success/200") + _url = "/http/success/200" - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) + return HttpRequest(method="HEAD", url=_url, **kwargs) -def build_head204_request( - **kwargs: Any -) -> HttpRequest: +def build_http_success_head204_request(**kwargs: Any) -> HttpRequest: # Construct URL - _url = kwargs.pop("template_url", "/http/success/204") + _url = "/http/success/204" - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) + return HttpRequest(method="HEAD", url=_url, **kwargs) -def build_head404_request( - **kwargs: Any -) -> HttpRequest: +def build_http_success_head404_request(**kwargs: Any) -> HttpRequest: # Construct URL - _url = kwargs.pop("template_url", "/http/success/404") + _url = "/http/success/404" + + return HttpRequest(method="HEAD", url=_url, **kwargs) - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) class HttpSuccessOperations: """ @@ -78,42 +67,30 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def head200( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def head200(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 200 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head200_request( - template_url=self.head200.metadata['url'], + request = build_http_success_head200_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -125,44 +102,30 @@ def head200( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - head200.metadata = {'url': "/http/success/200"} # type: ignore - - @distributed_trace - def head204( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def head204(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 204 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head204_request( - template_url=self.head204.metadata['url'], + request = build_http_success_head204_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -174,44 +137,30 @@ def head204( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - head204.metadata = {'url': "/http/success/204"} # type: ignore - - @distributed_trace - def head404( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def head404(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Return 404 status code if successful. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: None or the result of cls(response) + :return: None :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - - request = build_head404_request( - template_url=self.head404.metadata['url'], + request = build_http_success_head404_request( headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -222,6 +171,3 @@ def head404( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - - head404.metadata = {'url': "/http/success/404"} # type: ignore - diff --git a/docs/samples/specification/basic/generated/azure/basic/sample/operations/_patch.py b/docs/samples/specification/basic/generated/azure/basic/sample/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/basic/generated/azure/basic/sample/operations/_patch.py +++ b/docs/samples/specification/basic/generated/azure/basic/sample/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/basic/generated/setup.py b/docs/samples/specification/basic/generated/setup.py index 773ec577104..a6639de7ecc 100644 --- a/docs/samples/specification/basic/generated/setup.py +++ b/docs/samples/specification/basic/generated/setup.py @@ -21,10 +21,10 @@ packages=find_packages(), include_package_data=True, install_requires=[ - "msrest>=0.7.1", + "isodate>=0.6.1", "azure-core<2.0.0,>=1.24.0", ], long_description="""\ Test Infrastructure for AutoRest. - """ + """, ) diff --git a/docs/samples/specification/directives/generated/azure/__init__.py b/docs/samples/specification/directives/generated/azure/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/directives/generated/azure/__init__.py +++ b/docs/samples/specification/directives/generated/azure/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/directives/generated/azure/directives/__init__.py b/docs/samples/specification/directives/generated/azure/directives/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/directives/generated/azure/directives/__init__.py +++ b/docs/samples/specification/directives/generated/azure/directives/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/__init__.py b/docs/samples/specification/directives/generated/azure/directives/sample/__init__.py index e453a7914eb..9e44686d5c8 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/__init__.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._polling_paging_example import PollingPagingExample +from ._client import PollingPagingExample from ._version import VERSION __version__ = VERSION @@ -17,7 +17,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['PollingPagingExample'] + +__all__ = ["PollingPagingExample"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/_polling_paging_example.py b/docs/samples/specification/directives/generated/azure/directives/sample/_client.py similarity index 76% rename from docs/samples/specification/directives/generated/azure/directives/sample/_polling_paging_example.py rename to docs/samples/specification/directives/generated/azure/directives/sample/_client.py index 48ddae3945f..0f28adc5308 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/_polling_paging_example.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/_client.py @@ -7,50 +7,44 @@ # -------------------------------------------------------------------------- from copy import deepcopy -from typing import Any +from typing import Any, TYPE_CHECKING from azure.core import PipelineClient from azure.core.rest import HttpRequest, HttpResponse -from . import models from ._configuration import PollingPagingExampleConfiguration +from ._operations import PollingPagingExampleOperationsMixin from ._serialization import Deserializer, Serializer -from .operations import PollingPagingExampleOperationsMixin + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Dict + class PollingPagingExample(PollingPagingExampleOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Show polling and paging generation. - :param base_url: Service URL. Default value is "http://localhost:3000". - :type base_url: str + :keyword endpoint: Service URL. Default value is "http://localhost:3000". + :paramtype endpoint: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ - def __init__( - self, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, *, endpoint: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = PollingPagingExampleConfiguration(**kwargs) - self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client = PipelineClient(base_url=endpoint, config=self._config, **kwargs) - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) + self._serialize = Serializer() + self._deserialize = Deserializer() self._serialize.client_side_validation = False - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = client._send_request(request) + >>> response = client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/_configuration.py b/docs/samples/specification/directives/generated/azure/directives/sample/_configuration.py index acdfe154b34..fa76b95e27c 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/_configuration.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/_configuration.py @@ -21,26 +21,22 @@ class PollingPagingExampleConfiguration(Configuration): # pylint: disable=too-m attributes. """ - def __init__( - self, - **kwargs: Any - ) -> None: + def __init__(self, **kwargs: Any) -> None: super(PollingPagingExampleConfiguration, self).__init__(**kwargs) - kwargs.setdefault('sdk_moniker', 'directives-sample/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "directives-sample/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/operations/__init__.py b/docs/samples/specification/directives/generated/azure/directives/sample/_operations/__init__.py similarity index 83% rename from docs/samples/specification/directives/generated/azure/directives/sample/operations/__init__.py rename to docs/samples/specification/directives/generated/azure/directives/sample/_operations/__init__.py index 6927ee85fc1..c9121c54b50 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/operations/__init__.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/_operations/__init__.py @@ -6,13 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._polling_paging_example_operations import PollingPagingExampleOperationsMixin +from ._operations import PollingPagingExampleOperationsMixin from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'PollingPagingExampleOperationsMixin', + "PollingPagingExampleOperationsMixin", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/operations/_polling_paging_example_operations.py b/docs/samples/specification/directives/generated/azure/directives/sample/_operations/_operations.py similarity index 57% rename from docs/samples/specification/directives/generated/azure/directives/sample/operations/_polling_paging_example_operations.py rename to docs/samples/specification/directives/generated/azure/directives/sample/_operations/_operations.py index ad502f1eaa0..1645ad91896 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/operations/_polling_paging_example_operations.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/_operations/_operations.py @@ -6,9 +6,16 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import sys from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.polling import NoPolling, PollingMethod @@ -17,77 +24,62 @@ from azure.core.utils import case_insensitive_dict from my.library import CustomDefaultPollingMethod, CustomPager, CustomPoller -from .. import models as _models from .._serialization import Serializer -from .._vendor import MixinABC, _convert_request -T = TypeVar('T') +from .._vendor import MixinABC + +if sys.version_info >= (3, 9): + from collections.abc import MutableMapping +else: + from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports +JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_basic_polling_request( - **kwargs: Any -) -> HttpRequest: +def build_basic_polling_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/basic/polling") + _url = "/basic/polling" # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, headers=_headers, **kwargs) -def build_basic_paging_request( - **kwargs: Any -) -> HttpRequest: +def build_basic_paging_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL - _url = kwargs.pop("template_url", "/basic/paging") + _url = "/basic/paging" # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -class PollingPagingExampleOperationsMixin(MixinABC): - def _basic_polling_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any - ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) +class PollingPagingExampleOperationsMixin(MixinABC): + def _basic_polling_initial(self, product: Optional[Union[JSON, IO]] = None, **kwargs: Any) -> Optional[JSON]: + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[JSON]] content_type = content_type or "application/json" _json = None @@ -96,7 +88,7 @@ def _basic_polling_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = product else: _json = None @@ -104,54 +96,44 @@ def _basic_polling_initial( content_type=content_type, json=_json, content=_content, - template_url=self._basic_polling_initial.metadata['url'], headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response) deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + if response.content: + deserialized = response.json() + else: + deserialized = None if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _basic_polling_initial.metadata = {'url': "/basic/polling"} # type: ignore - - @overload def begin_basic_polling( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> CustomPoller[_models.Product]: + self, product: Optional[JSON] = None, *, content_type: str = "application/json", **kwargs: Any + ) -> CustomPoller[JSON]: """A simple polling operation. :param product: Product to put. Default value is None. - :type product: ~azure.directives.sample.models.Product + :type product: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: By default, your polling method will be CustomDefaultPollingMethod. Pass in False for this operation to not poll, or pass in your own initialized polling object for a @@ -159,19 +141,34 @@ def begin_basic_polling( :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of CustomPoller that returns either Product or the result of cls(response) - :rtype: ~my.library.CustomPoller[~azure.directives.sample.models.Product] + :return: An instance of CustomPoller that returns JSON object + :rtype: ~my.library.CustomPoller[JSON] :raises ~azure.core.exceptions.HttpResponseError: + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your body input. + product = { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } + + # response body for status code(s): 200 + response == { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } """ @overload def begin_basic_polling( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> CustomPoller[_models.Product]: + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any + ) -> CustomPoller[JSON]: """A simple polling operation. :param product: Product to put. Default value is None. @@ -179,7 +176,6 @@ def begin_basic_polling( :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: By default, your polling method will be CustomDefaultPollingMethod. Pass in False for this operation to not poll, or pass in your own initialized polling object for a @@ -187,26 +183,31 @@ def begin_basic_polling( :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of CustomPoller that returns either Product or the result of cls(response) - :rtype: ~my.library.CustomPoller[~azure.directives.sample.models.Product] + :return: An instance of CustomPoller that returns JSON object + :rtype: ~my.library.CustomPoller[JSON] :raises ~azure.core.exceptions.HttpResponseError: - """ + Example: + .. code-block:: python + + # response body for status code(s): 200 + response == { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } + """ @distributed_trace - def begin_basic_polling( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any - ) -> CustomPoller[_models.Product]: + def begin_basic_polling(self, product: Optional[Union[JSON, IO]] = None, **kwargs: Any) -> CustomPoller[JSON]: """A simple polling operation. :param product: Product to put. Is either a model type or a IO type. Default value is None. - :type product: ~azure.directives.sample.models.Product or IO + :type product: JSON or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: By default, your polling method will be CustomDefaultPollingMethod. Pass in False for this operation to not poll, or pass in your own initialized polling object for a @@ -214,117 +215,123 @@ def begin_basic_polling( :paramtype polling: bool or ~azure.core.polling.PollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of CustomPoller that returns either Product or the result of cls(response) - :rtype: ~my.library.CustomPoller[~azure.directives.sample.models.Product] + :return: An instance of CustomPoller that returns JSON object + :rtype: ~my.library.CustomPoller[JSON] :raises ~azure.core.exceptions.HttpResponseError: + + Example: + .. code-block:: python + + # response body for status code(s): 200 + response == { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[JSON] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._basic_polling_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + response = pipeline_response.http_response + if response.content: + deserialized = response.json() + else: + deserialized = None if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(PollingMethod, CustomDefaultPollingMethod( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, CustomDefaultPollingMethod(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return CustomPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return CustomPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_basic_polling.metadata = {'url': "/basic/polling"} # type: ignore - @distributed_trace - def basic_paging( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def basic_paging(self, **kwargs: Any) -> Iterable[JSON]: """A simple paging operation. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either Product or the result of cls(response) - :rtype: ~my.library.CustomPager[~azure.directives.sample.models.Product] + :return: An iterator like instance of JSON object + :rtype: ~my.library.CustomPager[JSON] :raises ~azure.core.exceptions.HttpResponseError: + + Example: + .. code-block:: python + + # response body for status code(s): 200 + response == { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[JSON] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_basic_paging_request( - template_url=self.basic_paging.metadata['url'], headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_basic_paging_request( - template_url=next_link, headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) # type: ignore + request.url = self._client.format_url(next_link) # type: ignore request.method = "GET" return request def extract_data(pipeline_response): - deserialized = self._deserialize("ProductResult", pipeline_response) - list_of_elem = deserialized.value + deserialized = pipeline_response.http_response.json() + list_of_elem = deserialized["value"] if cls: list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, iter(list_of_elem) + return deserialized.get("nextLink", None), iter(list_of_elem) def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -334,8 +341,4 @@ def get_next(next_link=None): return pipeline_response - - return CustomPager( - get_next, extract_data - ) - basic_paging.metadata = {'url': "/basic/paging"} # type: ignore + return CustomPager(get_next, extract_data) diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/operations/_patch.py b/docs/samples/specification/directives/generated/azure/directives/sample/_operations/_patch.py similarity index 69% rename from docs/samples/specification/directives/generated/azure/directives/sample/operations/_patch.py rename to docs/samples/specification/directives/generated/azure/directives/sample/_operations/_patch.py index 8a35ddb87c7..f7dd3251033 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/operations/_patch.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/_operations/_patch.py @@ -6,13 +6,10 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ -from typing import TYPE_CHECKING +from typing import List -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import List +__all__: List[str] = [] # Add all objects you want publicly available to users at this package level -__all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/_patch.py b/docs/samples/specification/directives/generated/azure/directives/sample/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/_patch.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/_serialization.py b/docs/samples/specification/directives/generated/azure/directives/sample/_serialization.py index a8b19965491..7daa7a447db 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/_serialization.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/_serialization.py @@ -37,6 +37,7 @@ import re import sys import codecs + try: from urllib import quote # type: ignore except ImportError: @@ -49,15 +50,16 @@ from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback -_BOM = codecs.BOM_UTF8.decode(encoding='utf-8') +_BOM = codecs.BOM_UTF8.decode(encoding="utf-8") if TYPE_CHECKING: from typing import Optional, Union, AnyStr, IO, Mapping + class RawDeserializer: # Accept "text" because we're open minded people... - JSON_REGEXP = re.compile(r'^(application|text)/([a-z+.]+\+)?json$') + JSON_REGEXP = re.compile(r"^(application|text)/([a-z+.]+\+)?json$") # Name used in context CONTEXT_NAME = "deserialized_data" @@ -75,12 +77,12 @@ def deserialize_from_text(cls, data, content_type=None): :type data: str or bytes or IO :param str content_type: The content type. """ - if hasattr(data, 'read'): + if hasattr(data, "read"): # Assume a stream data = cast(IO, data).read() if isinstance(data, bytes): - data_as_str = data.decode(encoding='utf-8-sig') + data_as_str = data.decode(encoding="utf-8-sig") else: # Explain to mypy the correct type. data_as_str = cast(str, data) @@ -116,7 +118,8 @@ def _json_attemp(data): try: return True, json.loads(data) except ValueError: - return False, None # Don't care about this one + return False, None # Don't care about this one + success, json_result = _json_attemp(data) if success: return json_result @@ -139,8 +142,8 @@ def deserialize_from_http_generics(cls, body_bytes, headers): """ # Try to use content-type from headers if available content_type = None - if 'content-type' in headers: - content_type = headers['content-type'].split(";")[0].strip().lower() + if "content-type" in headers: + content_type = headers["content-type"].split(";")[0].strip().lower() # Ouch, this server did not declare what it sent... # Let's guess it's JSON... # Also, since Autorest was considering that an empty body was a valid JSON, @@ -152,6 +155,7 @@ def deserialize_from_http_generics(cls, body_bytes, headers): return cls.deserialize_from_text(body_bytes, content_type) return None + try: basestring # type: ignore unicode_str = unicode # type: ignore @@ -162,10 +166,11 @@ def deserialize_from_http_generics(cls, body_bytes, headers): _LOGGER = logging.getLogger(__name__) try: - _long_type = long # type: ignore + _long_type = long # type: ignore except NameError: _long_type = int + class UTC(datetime.tzinfo): """Time Zone info for handling UTC""" @@ -181,9 +186,11 @@ def dst(self, dt): """No daylight saving for UTC.""" return datetime.timedelta(hours=1) + try: from datetime import timezone as _FixedOffset except ImportError: # Python 2.7 + class _FixedOffset(datetime.tzinfo): # type: ignore """Fixed offset in minutes east from UTC. Copy/pasted from Python doc @@ -197,7 +204,7 @@ def utcoffset(self, dt): return self.__offset def tzname(self, dt): - return str(self.__offset.total_seconds()/3600) + return str(self.__offset.total_seconds() / 3600) def __repr__(self): return "".format(self.tzname(None)) @@ -208,14 +215,17 @@ def dst(self, dt): def __getinitargs__(self): return (self.__offset,) + try: from datetime import timezone + TZ_UTC = timezone.utc # type: ignore except ImportError: TZ_UTC = UTC() # type: ignore _FLATTEN = re.compile(r"(? y, @@ -502,25 +518,25 @@ class Serializer(object): "max_items": lambda x, y: len(x) > y, "pattern": lambda x, y: not re.match(y, x, re.UNICODE), "unique": lambda x, y: len(x) != len(set(x)), - "multiple": lambda x, y: x % y != 0 - } + "multiple": lambda x, y: x % y != 0, + } def __init__(self, classes=None): self.serialize_type = { - 'iso-8601': Serializer.serialize_iso, - 'rfc-1123': Serializer.serialize_rfc, - 'unix-time': Serializer.serialize_unix, - 'duration': Serializer.serialize_duration, - 'date': Serializer.serialize_date, - 'time': Serializer.serialize_time, - 'decimal': Serializer.serialize_decimal, - 'long': Serializer.serialize_long, - 'bytearray': Serializer.serialize_bytearray, - 'base64': Serializer.serialize_base64, - 'object': self.serialize_object, - '[]': self.serialize_iter, - '{}': self.serialize_dict - } + "iso-8601": Serializer.serialize_iso, + "rfc-1123": Serializer.serialize_rfc, + "unix-time": Serializer.serialize_unix, + "duration": Serializer.serialize_duration, + "date": Serializer.serialize_date, + "time": Serializer.serialize_time, + "decimal": Serializer.serialize_decimal, + "long": Serializer.serialize_long, + "bytearray": Serializer.serialize_bytearray, + "base64": Serializer.serialize_base64, + "object": self.serialize_object, + "[]": self.serialize_iter, + "{}": self.serialize_dict, + } self.dependencies = dict(classes) if classes else {} self.key_transformer = full_restapi_key_transformer self.client_side_validation = True @@ -542,14 +558,12 @@ def _serialize(self, target_obj, data_type=None, **kwargs): class_name = target_obj.__class__.__name__ if data_type: - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) if not hasattr(target_obj, "_attribute_map"): data_type = type(target_obj).__name__ if data_type in self.basic_types.values(): - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) # Force "is_xml" kwargs if we detect a XML model try: @@ -564,10 +578,10 @@ def _serialize(self, target_obj, data_type=None, **kwargs): attributes = target_obj._attribute_map for attr, attr_desc in attributes.items(): attr_name = attr - if not keep_readonly and target_obj._validation.get(attr_name, {}).get('readonly', False): + if not keep_readonly and target_obj._validation.get(attr_name, {}).get("readonly", False): continue - if attr_name == "additional_properties" and attr_desc["key"] == '': + if attr_name == "additional_properties" and attr_desc["key"] == "": if target_obj.additional_properties is not None: serialized.update(target_obj.additional_properties) continue @@ -575,21 +589,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): orig_attr = getattr(target_obj, attr) if is_xml_model_serialization: - pass # Don't provide "transformer" for XML for now. Keep "orig_attr" - else: # JSON + pass # Don't provide "transformer" for XML for now. Keep "orig_attr" + else: # JSON keys, orig_attr = key_transformer(attr, attr_desc.copy(), orig_attr) keys = keys if isinstance(keys, list) else [keys] - kwargs["serialization_ctxt"] = attr_desc - new_attr = self.serialize_data(orig_attr, attr_desc['type'], **kwargs) - + new_attr = self.serialize_data(orig_attr, attr_desc["type"], **kwargs) if is_xml_model_serialization: - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) - xml_prefix = xml_desc.get('prefix', None) - xml_ns = xml_desc.get('ns', None) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) + xml_prefix = xml_desc.get("prefix", None) + xml_ns = xml_desc.get("ns", None) if xml_desc.get("attr", False): if xml_ns: ET.register_namespace(xml_prefix, xml_ns) @@ -603,23 +615,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): serialized.extend(new_attr) elif isinstance(new_attr, ET.Element): # If the down XML has no XML/Name, we MUST replace the tag with the local tag. But keeping the namespaces. - if 'name' not in getattr(orig_attr, '_xml_map', {}): + if "name" not in getattr(orig_attr, "_xml_map", {}): splitted_tag = new_attr.tag.split("}") - if len(splitted_tag) == 2: # Namespace + if len(splitted_tag) == 2: # Namespace new_attr.tag = "}".join([splitted_tag[0], xml_name]) else: new_attr.tag = xml_name serialized.append(new_attr) else: # That's a basic type # Integrate namespace if necessary - local_node = _create_xml_node( - xml_name, - xml_prefix, - xml_ns - ) + local_node = _create_xml_node(xml_name, xml_prefix, xml_ns) local_node.text = unicode_str(new_attr) serialized.append(local_node) - else: # JSON + else: # JSON for k in reversed(keys): unflattened = {k: new_attr} new_attr = unflattened @@ -635,8 +643,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs): continue except (AttributeError, KeyError, TypeError) as err: - msg = "Attribute {} in object {} cannot be serialized.\n{}".format( - attr_name, class_name, str(target_obj)) + msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) raise_with_traceback(SerializationError, msg, err) else: return serialized @@ -652,7 +659,7 @@ def body(self, data, data_type, **kwargs): """ # Just in case this is a dict - internal_data_type = data_type.strip('[]{}') + internal_data_type = data_type.strip("[]{}") internal_data_type = self.dependencies.get(internal_data_type, None) try: is_xml_model_serialization = kwargs["is_xml"] @@ -675,12 +682,11 @@ def body(self, data, data_type, **kwargs): deserializer.key_extractors = [ rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor, - last_rest_key_case_insensitive_extractor + last_rest_key_case_insensitive_extractor, ] data = deserializer._deserialize(data_type, data) except DeserializationError as err: - raise_with_traceback( - SerializationError, "Unable to build a model: "+str(err), err) + raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err) return self._serialize(data, data_type, **kwargs) @@ -695,13 +701,13 @@ def url(self, name, data, data_type, **kwargs): """ try: output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -720,27 +726,19 @@ def query(self, name, data, data_type, **kwargs): # Treat the list aside, since we don't want to encode the div separator if data_type.startswith("["): internal_data_type = data_type[1:-1] - data = [ - self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" - for d - in data - ] - if not kwargs.get('skip_quote', False): - data = [ - quote(str(d), safe='') - for d - in data - ] + data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] + if not kwargs.get("skip_quote", False): + data = [quote(str(d), safe="") for d in data] return str(self.serialize_iter(data, internal_data_type, **kwargs)) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -756,11 +754,11 @@ def header(self, name, data, data_type, **kwargs): :raises: ValueError if data is None """ try: - if data_type in ['[str]']: + if data_type in ["[str]"]: data = ["" if d is None else d for d in data] output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) @@ -796,13 +794,11 @@ def serialize_data(self, data, data_type, **kwargs): iter_type = data_type[0] + data_type[-1] if iter_type in self.serialize_type: - return self.serialize_type[iter_type]( - data, data_type[1:-1], **kwargs) + return self.serialize_type[iter_type](data, data_type[1:-1], **kwargs) except (ValueError, TypeError) as err: msg = "Unable to serialize value: {!r} as type: {!r}." - raise_with_traceback( - SerializationError, msg.format(data, data_type), err) + raise_with_traceback(SerializationError, msg.format(data, data_type), err) else: return self._serialize(data, **kwargs) @@ -829,7 +825,7 @@ def serialize_basic(cls, data, data_type, **kwargs): custom_serializer = cls._get_custom_serializers(data_type, **kwargs) if custom_serializer: return custom_serializer(data) - if data_type == 'str': + if data_type == "str": return cls.serialize_unicode(data) return eval(data_type)(data) @@ -886,25 +882,21 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): serialized.append(None) if div: - serialized = ['' if s is None else str(s) for s in serialized] + serialized = ["" if s is None else str(s) for s in serialized] serialized = div.join(serialized) - if 'xml' in serialization_ctxt or is_xml: + if "xml" in serialization_ctxt or is_xml: # XML serialization is more complicated - xml_desc = serialization_ctxt.get('xml', {}) - xml_name = xml_desc.get('name') + xml_desc = serialization_ctxt.get("xml", {}) + xml_name = xml_desc.get("name") if not xml_name: - xml_name = serialization_ctxt['key'] + xml_name = serialization_ctxt["key"] # Create a wrap node if necessary (use the fact that Element and list have "append") is_wrapped = xml_desc.get("wrapped", False) node_name = xml_desc.get("itemsName", xml_name) if is_wrapped: - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) else: final_result = [] # All list elements to "local_node" @@ -912,11 +904,7 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): if isinstance(el, ET.Element): el_node = el else: - el_node = _create_xml_node( - node_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + el_node = _create_xml_node(node_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) if el is not None: # Otherwise it writes "None" :-p el_node.text = str(el) final_result.append(el_node) @@ -936,21 +924,16 @@ def serialize_dict(self, attr, dict_type, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_data( - value, dict_type, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None - if 'xml' in serialization_ctxt: + if "xml" in serialization_ctxt: # XML serialization is more complicated - xml_desc = serialization_ctxt['xml'] - xml_name = xml_desc['name'] + xml_desc = serialization_ctxt["xml"] + xml_name = xml_desc["name"] - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) for key, value in serialized.items(): ET.SubElement(final_result, key).text = value return final_result @@ -996,8 +979,7 @@ def serialize_object(self, attr, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_object( - value, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_object(value, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None return serialized @@ -1006,8 +988,7 @@ def serialize_object(self, attr, **kwargs): serialized = [] for obj in attr: try: - serialized.append(self.serialize_object( - obj, **kwargs)) + serialized.append(self.serialize_object(obj, **kwargs)) except ValueError: pass return serialized @@ -1045,8 +1026,8 @@ def serialize_base64(attr, **kwargs): :param attr: Object to be serialized. :rtype: str """ - encoded = b64encode(attr).decode('ascii') - return encoded.strip('=').replace('+', '-').replace('/', '_') + encoded = b64encode(attr).decode("ascii") + return encoded.strip("=").replace("+", "-").replace("/", "_") @staticmethod def serialize_decimal(attr, **kwargs): @@ -1113,16 +1094,20 @@ def serialize_rfc(attr, **kwargs): """ try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() except AttributeError: raise TypeError("RFC1123 object must be valid Datetime object.") return "{}, {:02} {} {:04} {:02}:{:02}:{:02} GMT".format( - Serializer.days[utc.tm_wday], utc.tm_mday, - Serializer.months[utc.tm_mon], utc.tm_year, - utc.tm_hour, utc.tm_min, utc.tm_sec) + Serializer.days[utc.tm_wday], + utc.tm_mday, + Serializer.months[utc.tm_mon], + utc.tm_year, + utc.tm_hour, + utc.tm_min, + utc.tm_sec, + ) @staticmethod def serialize_iso(attr, **kwargs): @@ -1136,19 +1121,18 @@ def serialize_iso(attr, **kwargs): attr = isodate.parse_datetime(attr) try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() if utc.tm_year > 9999 or utc.tm_year < 1: raise OverflowError("Hit max or min date") - microseconds = str(attr.microsecond).rjust(6,'0').rstrip('0').ljust(3, '0') + microseconds = str(attr.microsecond).rjust(6, "0").rstrip("0").ljust(3, "0") if microseconds: - microseconds = '.'+microseconds + microseconds = "." + microseconds date = "{:04}-{:02}-{:02}T{:02}:{:02}:{:02}".format( - utc.tm_year, utc.tm_mon, utc.tm_mday, - utc.tm_hour, utc.tm_min, utc.tm_sec) - return date + microseconds + 'Z' + utc.tm_year, utc.tm_mon, utc.tm_mday, utc.tm_hour, utc.tm_min, utc.tm_sec + ) + return date + microseconds + "Z" except (ValueError, OverflowError) as err: msg = "Unable to serialize datetime object." raise_with_traceback(SerializationError, msg, err) @@ -1169,17 +1153,17 @@ def serialize_unix(attr, **kwargs): return attr try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") return int(calendar.timegm(attr.utctimetuple())) except AttributeError: raise TypeError("Unix time object must be valid Datetime object.") + def rest_key_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1191,15 +1175,16 @@ def rest_key_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) return working_data.get(key) + def rest_key_case_insensitive_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1211,30 +1196,33 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) if working_data: return attribute_key_case_insensitive_extractor(key, None, working_data) + def last_rest_key_extractor(attr, attr_desc, data): - """Extract the attribute in "data" based on the last part of the JSON path key. - """ - key = attr_desc['key'] + """Extract the attribute in "data" based on the last part of the JSON path key.""" + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_extractor(dict_keys[-1], None, data) + def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): """Extract the attribute in "data" based on the last part of the JSON path key. This is the case insensitive version of "last_rest_key_extractor" """ - key = attr_desc['key'] + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_case_insensitive_extractor(dict_keys[-1], None, data) + def attribute_key_extractor(attr, _, data): return data.get(attr) + def attribute_key_case_insensitive_extractor(attr, _, data): found_key = None lower_attr = attr.lower() @@ -1245,6 +1233,7 @@ def attribute_key_case_insensitive_extractor(attr, _, data): return data.get(found_key) + def _extract_name_from_internal_type(internal_type): """Given an internal type XML description, extract correct XML name with namespace. @@ -1253,7 +1242,7 @@ def _extract_name_from_internal_type(internal_type): :returns: A tuple XML name + namespace dict """ internal_type_xml_map = getattr(internal_type, "_xml_map", {}) - xml_name = internal_type_xml_map.get('name', internal_type.__name__) + xml_name = internal_type_xml_map.get("name", internal_type.__name__) xml_ns = internal_type_xml_map.get("ns", None) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1268,17 +1257,17 @@ def xml_key_extractor(attr, attr_desc, data): if not isinstance(data, ET.Element): return None - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) # Look for a children - is_iter_type = attr_desc['type'].startswith("[") + is_iter_type = attr_desc["type"].startswith("[") is_wrapped = xml_desc.get("wrapped", False) internal_type = attr_desc.get("internalType", None) internal_type_xml_map = getattr(internal_type, "_xml_map", {}) # Integrate namespace if necessary - xml_ns = xml_desc.get('ns', internal_type_xml_map.get("ns", None)) + xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None)) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1294,15 +1283,15 @@ def xml_key_extractor(attr, attr_desc, data): # - Wrapped node # - Internal type is an enum (considered basic types) # - Internal type has no XML/Name node - if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or 'name' not in internal_type_xml_map)): + if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or "name" not in internal_type_xml_map)): children = data.findall(xml_name) # If internal type has a local name and it's not a list, I use that name - elif not is_iter_type and internal_type and 'name' in internal_type_xml_map: + elif not is_iter_type and internal_type and "name" in internal_type_xml_map: xml_name = _extract_name_from_internal_type(internal_type) children = data.findall(xml_name) # That's an array else: - if internal_type: # Complex type, ignore itemsName and use the complex type name + if internal_type: # Complex type, ignore itemsName and use the complex type name items_name = _extract_name_from_internal_type(internal_type) else: items_name = xml_desc.get("itemsName", xml_name) @@ -1311,21 +1300,22 @@ def xml_key_extractor(attr, attr_desc, data): if len(children) == 0: if is_iter_type: if is_wrapped: - return None # is_wrapped no node, we want None + return None # is_wrapped no node, we want None else: - return [] # not wrapped, assume empty list + return [] # not wrapped, assume empty list return None # Assume it's not there, maybe an optional node. # If is_iter_type and not wrapped, return all found children if is_iter_type: if not is_wrapped: return children - else: # Iter and wrapped, should have found one node only (the wrap one) + else: # Iter and wrapped, should have found one node only (the wrap one) if len(children) != 1: raise DeserializationError( "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( xml_name - )) + ) + ) return list(children[0]) # Might be empty list and that's ok. # Here it's not a itertype, we should have found one element only or empty @@ -1333,6 +1323,7 @@ def xml_key_extractor(attr, attr_desc, data): raise DeserializationError("Find several XML '{}' where it was not expected".format(xml_name)) return children[0] + class Deserializer(object): """Response object model deserializer. @@ -1340,37 +1331,32 @@ class Deserializer(object): :ivar list key_extractors: Ordered list of extractors to be used by this deserializer. """ - basic_types = {str: 'str', int: 'int', bool: 'bool', float: 'float'} + basic_types = {str: "str", int: "int", bool: "bool", float: "float"} - valid_date = re.compile( - r'\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}' - r'\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?') + valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") def __init__(self, classes=None): self.deserialize_type = { - 'iso-8601': Deserializer.deserialize_iso, - 'rfc-1123': Deserializer.deserialize_rfc, - 'unix-time': Deserializer.deserialize_unix, - 'duration': Deserializer.deserialize_duration, - 'date': Deserializer.deserialize_date, - 'time': Deserializer.deserialize_time, - 'decimal': Deserializer.deserialize_decimal, - 'long': Deserializer.deserialize_long, - 'bytearray': Deserializer.deserialize_bytearray, - 'base64': Deserializer.deserialize_base64, - 'object': self.deserialize_object, - '[]': self.deserialize_iter, - '{}': self.deserialize_dict - } + "iso-8601": Deserializer.deserialize_iso, + "rfc-1123": Deserializer.deserialize_rfc, + "unix-time": Deserializer.deserialize_unix, + "duration": Deserializer.deserialize_duration, + "date": Deserializer.deserialize_date, + "time": Deserializer.deserialize_time, + "decimal": Deserializer.deserialize_decimal, + "long": Deserializer.deserialize_long, + "bytearray": Deserializer.deserialize_bytearray, + "base64": Deserializer.deserialize_base64, + "object": self.deserialize_object, + "[]": self.deserialize_iter, + "{}": self.deserialize_dict, + } self.deserialize_expected_types = { - 'duration': (isodate.Duration, datetime.timedelta), - 'iso-8601': (datetime.datetime) + "duration": (isodate.Duration, datetime.timedelta), + "iso-8601": (datetime.datetime), } self.dependencies = dict(classes) if classes else {} - self.key_extractors = [ - rest_key_extractor, - xml_key_extractor - ] + self.key_extractors = [rest_key_extractor, xml_key_extractor] # Additional properties only works if the "rest_key_extractor" is used to # extract the keys. Making it to work whatever the key extractor is too much # complicated, with no real scenario for now. @@ -1403,8 +1389,7 @@ def _deserialize(self, target_obj, data): """ # This is already a model, go recursive just in case if hasattr(data, "_attribute_map"): - constants = [name for name, config in getattr(data, '_validation', {}).items() - if config.get('constant')] + constants = [name for name, config in getattr(data, "_validation", {}).items() if config.get("constant")] try: for attr, mapconfig in data._attribute_map.items(): if attr in constants: @@ -1412,15 +1397,11 @@ def _deserialize(self, target_obj, data): value = getattr(data, attr) if value is None: continue - local_type = mapconfig['type'] - internal_data_type = local_type.strip('[]{}') + local_type = mapconfig["type"] + internal_data_type = local_type.strip("[]{}") if internal_data_type not in self.dependencies or isinstance(internal_data_type, Enum): continue - setattr( - data, - attr, - self._deserialize(local_type, value) - ) + setattr(data, attr, self._deserialize(local_type, value)) return data except AttributeError: return @@ -1439,12 +1420,12 @@ def _deserialize(self, target_obj, data): d_attrs = {} for attr, attr_desc in attributes.items(): # Check empty string. If it's not empty, someone has a real "additionalProperties"... - if attr == "additional_properties" and attr_desc["key"] == '': + if attr == "additional_properties" and attr_desc["key"] == "": continue raw_value = None # Enhance attr_desc with some dynamic data - attr_desc = attr_desc.copy() # Do a copy, do not change the real one - internal_data_type = attr_desc["type"].strip('[]{}') + attr_desc = attr_desc.copy() # Do a copy, do not change the real one + internal_data_type = attr_desc["type"].strip("[]{}") if internal_data_type in self.dependencies: attr_desc["internalType"] = self.dependencies[internal_data_type] @@ -1452,18 +1433,15 @@ def _deserialize(self, target_obj, data): found_value = key_extractor(attr, attr_desc, data) if found_value is not None: if raw_value is not None and raw_value != found_value: - msg = ("Ignoring extracted value '%s' from %s for key '%s'" - " (duplicate extraction, follow extractors order)" ) - _LOGGER.warning( - msg, - found_value, - key_extractor, - attr + msg = ( + "Ignoring extracted value '%s' from %s for key '%s'" + " (duplicate extraction, follow extractors order)" ) + _LOGGER.warning(msg, found_value, key_extractor, attr) continue raw_value = found_value - value = self.deserialize_data(raw_value, attr_desc['type']) + value = self.deserialize_data(raw_value, attr_desc["type"]) d_attrs[attr] = value except (AttributeError, TypeError, KeyError) as err: msg = "Unable to deserialize to object: " + class_name @@ -1475,14 +1453,17 @@ def _deserialize(self, target_obj, data): def _build_additional_properties(self, attribute_map, data): if not self.additional_properties_detection: return None - if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != '': + if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != "": # Check empty string. If it's not empty, someone has a real "additionalProperties" return None if isinstance(data, ET.Element): data = {el.tag: el.text for el in data} - known_keys = {_decode_attribute_map_key(_FLATTEN.split(desc['key'])[0]) - for desc in attribute_map.values() if desc['key'] != ''} + known_keys = { + _decode_attribute_map_key(_FLATTEN.split(desc["key"])[0]) + for desc in attribute_map.values() + if desc["key"] != "" + } present_keys = set(data.keys()) missing_keys = present_keys - known_keys return {key: data[key] for key in missing_keys} @@ -1525,8 +1506,7 @@ def failsafe_deserialize(self, target_obj, data, content_type=None): return self(target_obj, data, content_type=content_type) except: _LOGGER.warning( - "Ran into a deserialization error. Ignoring since this is failsafe deserialization", - exc_info=True + "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True ) return None @@ -1554,21 +1534,15 @@ def _unpack_content(raw_data, content_type=None): return context[RawDeserializer.CONTEXT_NAME] raise ValueError("This pipeline didn't have the RawDeserializer policy; can't deserialize") - #Assume this is enough to recognize universal_http.ClientResponse without importing it + # Assume this is enough to recognize universal_http.ClientResponse without importing it if hasattr(raw_data, "body"): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text(), - raw_data.headers - ) + return RawDeserializer.deserialize_from_http_generics(raw_data.text(), raw_data.headers) # Assume this enough to recognize requests.Response without importing it. - if hasattr(raw_data, '_content_consumed'): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text, - raw_data.headers - ) + if hasattr(raw_data, "_content_consumed"): + return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers) - if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, 'read'): + if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"): return RawDeserializer.deserialize_from_text(raw_data, content_type) return raw_data @@ -1579,14 +1553,11 @@ def _instantiate_model(self, response, attrs, additional_properties=None): :param d_attrs: The deserialized response attributes. """ if callable(response): - subtype = getattr(response, '_subtype_map', {}) + subtype = getattr(response, "_subtype_map", {}) try: - readonly = [k for k, v in response._validation.items() - if v.get('readonly')] - const = [k for k, v in response._validation.items() - if v.get('constant')] - kwargs = {k: v for k, v in attrs.items() - if k not in subtype and k not in readonly + const} + readonly = [k for k, v in response._validation.items() if v.get("readonly")] + const = [k for k, v in response._validation.items() if v.get("constant")] + kwargs = {k: v for k, v in attrs.items() if k not in subtype and k not in readonly + const} response_obj = response(**kwargs) for attr in readonly: setattr(response_obj, attr, attrs.get(attr)) @@ -1594,8 +1565,7 @@ def _instantiate_model(self, response, attrs, additional_properties=None): response_obj.additional_properties = additional_properties return response_obj except TypeError as err: - msg = "Unable to deserialize {} into model {}. ".format( - kwargs, response) + msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) raise DeserializationError(msg + str(err)) else: try: @@ -1659,13 +1629,10 @@ def deserialize_iter(self, attr, iter_type): """ if attr is None: return None - if isinstance(attr, ET.Element): # If I receive an element here, get the children + if isinstance(attr, ET.Element): # If I receive an element here, get the children attr = list(attr) if not isinstance(attr, (list, set)): - raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format( - iter_type, - type(attr) - )) + raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format(iter_type, type(attr))) return [self.deserialize_data(a, iter_type) for a in attr] def deserialize_dict(self, attr, dict_type): @@ -1677,7 +1644,7 @@ def deserialize_dict(self, attr, dict_type): :rtype: dict """ if isinstance(attr, list): - return {x['key']: self.deserialize_data(x['value'], dict_type) for x in attr} + return {x["key"]: self.deserialize_data(x["value"], dict_type) for x in attr} if isinstance(attr, ET.Element): # Transform value into {"Key": "value"} @@ -1698,7 +1665,7 @@ def deserialize_object(self, attr, **kwargs): # Do no recurse on XML, just return the tree as-is return attr if isinstance(attr, basestring): - return self.deserialize_basic(attr, 'str') + return self.deserialize_basic(attr, "str") obj_type = type(attr) if obj_type in self.basic_types: return self.deserialize_basic(attr, self.basic_types[obj_type]) @@ -1709,8 +1676,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = {} for key, value in attr.items(): try: - deserialized[key] = self.deserialize_object( - value, **kwargs) + deserialized[key] = self.deserialize_object(value, **kwargs) except ValueError: deserialized[key] = None return deserialized @@ -1719,8 +1685,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = [] for obj in attr: try: - deserialized.append(self.deserialize_object( - obj, **kwargs)) + deserialized.append(self.deserialize_object(obj, **kwargs)) except ValueError: pass return deserialized @@ -1747,23 +1712,23 @@ def deserialize_basic(self, attr, data_type): if not attr: if data_type == "str": # None or '', node is empty string. - return '' + return "" else: # None or '', node with a strong type is None. # Don't try to model "empty bool" or "empty int" return None - if data_type == 'bool': + if data_type == "bool": if attr in [True, False, 1, 0]: return bool(attr) elif isinstance(attr, basestring): - if attr.lower() in ['true', '1']: + if attr.lower() in ["true", "1"]: return True - elif attr.lower() in ['false', '0']: + elif attr.lower() in ["false", "0"]: return False raise TypeError("Invalid boolean value: {}".format(attr)) - if data_type == 'str': + if data_type == "str": return self.deserialize_unicode(attr) return eval(data_type)(attr) @@ -1845,9 +1810,9 @@ def deserialize_base64(attr): """ if isinstance(attr, ET.Element): attr = attr.text - padding = '=' * (3 - (len(attr) + 3) % 4) + padding = "=" * (3 - (len(attr) + 3) % 4) attr = attr + padding - encoded = attr.replace('-', '+').replace('_', '/') + encoded = attr.replace("-", "+").replace("_", "/") return b64decode(encoded) @staticmethod @@ -1890,7 +1855,7 @@ def deserialize_duration(attr): attr = attr.text try: duration = isodate.parse_duration(attr) - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize duration object." raise_with_traceback(DeserializationError, msg, err) else: @@ -1938,8 +1903,7 @@ def deserialize_rfc(attr): try: parsed_date = email.utils.parsedate_tz(attr) date_obj = datetime.datetime( - *parsed_date[:6], - tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0)/60)) + *parsed_date[:6], tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0) / 60)) ) if not date_obj.tzinfo: date_obj = date_obj.astimezone(tz=TZ_UTC) @@ -1965,7 +1929,7 @@ def deserialize_iso(attr): if not match: raise ValueError("Invalid datetime string: " + attr) - check_decimal = attr.split('.') + check_decimal = attr.split(".") if len(check_decimal) > 1: decimal_str = "" for digit in check_decimal[1]: @@ -1980,7 +1944,7 @@ def deserialize_iso(attr): test_utc = date_obj.utctimetuple() if test_utc.tm_year > 9999 or test_utc.tm_year < 1: raise OverflowError("Hit max or min date") - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize datetime object." raise_with_traceback(DeserializationError, msg, err) else: @@ -2003,4 +1967,4 @@ def deserialize_unix(attr): msg = "Cannot deserialize to unix datetime object." raise_with_traceback(DeserializationError, msg, err) else: - return date_obj \ No newline at end of file + return date_obj diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/_vendor.py b/docs/samples/specification/directives/generated/azure/directives/sample/_vendor.py index a62f2520b17..dce23b53038 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/_vendor.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/_vendor.py @@ -8,8 +8,6 @@ from abc import ABC from typing import TYPE_CHECKING -from azure.core.pipeline.transport import HttpRequest - from ._configuration import PollingPagingExampleConfiguration if TYPE_CHECKING: @@ -18,15 +16,10 @@ from ._serialization import Deserializer, Serializer -def _convert_request(request, files=None): - data = request.content if not files else None - request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) - if files: - request.set_formdata_body(files) - return request class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: PollingPagingExampleConfiguration _serialize: "Serializer" diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/__init__.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/__init__.py index 3eec067031d..267bf343a76 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/__init__.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/__init__.py @@ -6,7 +6,7 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._polling_paging_example import PollingPagingExample +from ._client import PollingPagingExample try: from ._patch import __all__ as _patch_all @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['PollingPagingExample'] + +__all__ = ["PollingPagingExample"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/_polling_paging_example.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_client.py similarity index 75% rename from docs/samples/specification/directives/generated/azure/directives/sample/aio/_polling_paging_example.py rename to docs/samples/specification/directives/generated/azure/directives/sample/aio/_client.py index cb8bf4c1f51..11623f20fe5 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/_polling_paging_example.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_client.py @@ -7,50 +7,44 @@ # -------------------------------------------------------------------------- from copy import deepcopy -from typing import Any, Awaitable +from typing import Any, Awaitable, TYPE_CHECKING from azure.core import AsyncPipelineClient from azure.core.rest import AsyncHttpResponse, HttpRequest -from .. import models from .._serialization import Deserializer, Serializer from ._configuration import PollingPagingExampleConfiguration -from .operations import PollingPagingExampleOperationsMixin +from ._operations import PollingPagingExampleOperationsMixin + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Dict + class PollingPagingExample(PollingPagingExampleOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Show polling and paging generation. - :param base_url: Service URL. Default value is "http://localhost:3000". - :type base_url: str + :keyword endpoint: Service URL. Default value is "http://localhost:3000". + :paramtype endpoint: str :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. """ - def __init__( - self, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, *, endpoint: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = PollingPagingExampleConfiguration(**kwargs) - self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) + self._client = AsyncPipelineClient(base_url=endpoint, config=self._config, **kwargs) - client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} - self._serialize = Serializer(client_models) - self._deserialize = Deserializer(client_models) + self._serialize = Serializer() + self._deserialize = Deserializer() self._serialize.client_side_validation = False - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest >>> request = HttpRequest("GET", "https://www.example.org/") - >>> response = await client._send_request(request) + >>> response = await client.send_request(request) For more information on this code flow, see https://aka.ms/azsdk/dpcodegen/python/send_request diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/_configuration.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_configuration.py index 61a30b50d65..96aceebf7ab 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/_configuration.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_configuration.py @@ -21,25 +21,19 @@ class PollingPagingExampleConfiguration(Configuration): # pylint: disable=too-m attributes. """ - def __init__( - self, - **kwargs: Any - ) -> None: + def __init__(self, **kwargs: Any) -> None: super(PollingPagingExampleConfiguration, self).__init__(**kwargs) - kwargs.setdefault('sdk_moniker', 'directives-sample/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "directives-sample/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/__init__.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/__init__.py similarity index 83% rename from docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/__init__.py rename to docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/__init__.py index 6927ee85fc1..c9121c54b50 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/__init__.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/__init__.py @@ -6,13 +6,14 @@ # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- -from ._polling_paging_example_operations import PollingPagingExampleOperationsMixin +from ._operations import PollingPagingExampleOperationsMixin from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'PollingPagingExampleOperationsMixin', + "PollingPagingExampleOperationsMixin", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_polling_paging_example_operations.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/_operations.py similarity index 59% rename from docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_polling_paging_example_operations.py rename to docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/_operations.py index c68a2dae945..c7acfd4299a 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_polling_paging_example_operations.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/_operations.py @@ -6,10 +6,17 @@ # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is regenerated. # -------------------------------------------------------------------------- +import sys from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.async_paging import AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncNoPolling, AsyncPollingMethod @@ -19,30 +26,28 @@ from azure.core.utils import case_insensitive_dict from my.library.aio import AsyncCustomDefaultPollingMethod, AsyncCustomPager, AsyncCustomPoller -from ... import models as _models -from ..._vendor import _convert_request -from ...operations._polling_paging_example_operations import build_basic_paging_request, build_basic_polling_request +from ..._operations._operations import build_basic_paging_request, build_basic_polling_request from .._vendor import MixinABC -T = TypeVar('T') + +if sys.version_info >= (3, 9): + from collections.abc import MutableMapping +else: + from typing import MutableMapping # type: ignore # pylint: disable=ungrouped-imports +JSON = MutableMapping[str, Any] # pylint: disable=unsubscriptable-object +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class PollingPagingExampleOperationsMixin(MixinABC): - async def _basic_polling_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any - ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) +class PollingPagingExampleOperationsMixin(MixinABC): + async def _basic_polling_initial(self, product: Optional[Union[JSON, IO]] = None, **kwargs: Any) -> Optional[JSON]: + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[JSON]] content_type = content_type or "application/json" _json = None @@ -51,7 +56,7 @@ async def _basic_polling_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = product else: _json = None @@ -59,54 +64,44 @@ async def _basic_polling_initial( content_type=content_type, json=_json, content=_content, - template_url=self._basic_polling_initial.metadata['url'], headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response if response.status_code not in [200, 204]: map_error(status_code=response.status_code, response=response, error_map=error_map) - error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) - raise HttpResponseError(response=response, model=error) + raise HttpResponseError(response=response) deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + if response.content: + deserialized = response.json() + else: + deserialized = None if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _basic_polling_initial.metadata = {'url': "/basic/polling"} # type: ignore - - @overload async def begin_basic_polling( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncCustomPoller[_models.Product]: + self, product: Optional[JSON] = None, *, content_type: str = "application/json", **kwargs: Any + ) -> AsyncCustomPoller[JSON]: """A simple polling operation. :param product: Product to put. Default value is None. - :type product: ~azure.directives.sample.models.Product + :type product: JSON :keyword content_type: Body Parameter content-type. Content type parameter for JSON body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: By default, your polling method will be AsyncCustomDefaultPollingMethod. Pass in False for this operation to not poll, or pass in your own initialized polling object for a @@ -114,20 +109,34 @@ async def begin_basic_polling( :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncCustomPoller that returns either Product or the result of - cls(response) - :rtype: ~my.library.aio.AsyncCustomPoller[~azure.directives.sample.models.Product] + :return: An instance of AsyncCustomPoller that returns JSON object + :rtype: ~my.library.aio.AsyncCustomPoller[JSON] :raises ~azure.core.exceptions.HttpResponseError: + + Example: + .. code-block:: python + + # JSON input template you can fill out and use as your body input. + product = { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } + + # response body for status code(s): 200 + response == { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } """ @overload async def begin_basic_polling( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any - ) -> AsyncCustomPoller[_models.Product]: + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any + ) -> AsyncCustomPoller[JSON]: """A simple polling operation. :param product: Product to put. Default value is None. @@ -135,7 +144,6 @@ async def begin_basic_polling( :keyword content_type: Body Parameter content-type. Content type parameter for binary body. Default value is "application/json". :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: By default, your polling method will be AsyncCustomDefaultPollingMethod. Pass in False for this operation to not poll, or pass in your own initialized polling object for a @@ -143,27 +151,33 @@ async def begin_basic_polling( :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncCustomPoller that returns either Product or the result of - cls(response) - :rtype: ~my.library.aio.AsyncCustomPoller[~azure.directives.sample.models.Product] + :return: An instance of AsyncCustomPoller that returns JSON object + :rtype: ~my.library.aio.AsyncCustomPoller[JSON] :raises ~azure.core.exceptions.HttpResponseError: - """ + Example: + .. code-block:: python + + # response body for status code(s): 200 + response == { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } + """ @distributed_trace_async async def begin_basic_polling( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any - ) -> AsyncCustomPoller[_models.Product]: + self, product: Optional[Union[JSON, IO]] = None, **kwargs: Any + ) -> AsyncCustomPoller[JSON]: """A simple polling operation. :param product: Product to put. Is either a model type or a IO type. Default value is None. - :type product: ~azure.directives.sample.models.Product or IO + :type product: JSON or IO :keyword content_type: Body Parameter content-type. Known values are: 'application/json'. Default value is None. :paramtype content_type: str - :keyword callable cls: A custom type or function that will be passed the direct response :keyword str continuation_token: A continuation token to restart a poller from a saved state. :keyword polling: By default, your polling method will be AsyncCustomDefaultPollingMethod. Pass in False for this operation to not poll, or pass in your own initialized polling object for a @@ -171,118 +185,125 @@ async def begin_basic_polling( :paramtype polling: bool or ~azure.core.polling.AsyncPollingMethod :keyword int polling_interval: Default waiting time between two polls for LRO operations if no Retry-After header is present. - :return: An instance of AsyncCustomPoller that returns either Product or the result of - cls(response) - :rtype: ~my.library.aio.AsyncCustomPoller[~azure.directives.sample.models.Product] + :return: An instance of AsyncCustomPoller that returns JSON object + :rtype: ~my.library.aio.AsyncCustomPoller[JSON] :raises ~azure.core.exceptions.HttpResponseError: + + Example: + .. code-block:: python + + # response body for status code(s): 200 + response == { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } """ _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[JSON] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._basic_polling_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + response = pipeline_response.http_response + if response.content: + deserialized = response.json() + else: + deserialized = None if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncCustomDefaultPollingMethod( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast( + AsyncPollingMethod, AsyncCustomDefaultPollingMethod(lro_delay, **kwargs) + ) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncCustomPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncCustomPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_basic_polling.metadata = {'url': "/basic/polling"} # type: ignore - @distributed_trace - def basic_paging( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def basic_paging(self, **kwargs: Any) -> AsyncIterable[JSON]: """A simple paging operation. - :keyword callable cls: A custom type or function that will be passed the direct response - :return: An iterator like instance of either Product or the result of cls(response) - :rtype: ~my.library.aio.AsyncCustomPager[~azure.directives.sample.models.Product] + :return: An iterator like instance of JSON object + :rtype: ~my.library.aio.AsyncCustomPager[JSON] :raises ~azure.core.exceptions.HttpResponseError: + + Example: + .. code-block:: python + + # response body for status code(s): 200 + response == { + "properties": { + "id": 0, # Optional. + "name": "str" # Optional. + } + } """ _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[JSON] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_basic_paging_request( - template_url=self.basic_paging.metadata['url'], headers=_headers, params=_params, ) - request = _convert_request(request) request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_basic_paging_request( - template_url=next_link, headers=_headers, params=_params, ) - request = _convert_request(request) - request.url = self._client.format_url(request.url) # type: ignore + request.url = self._client.format_url(next_link) # type: ignore request.method = "GET" return request async def extract_data(pipeline_response): - deserialized = self._deserialize("ProductResult", pipeline_response) - list_of_elem = deserialized.value + deserialized = pipeline_response.http_response.json() + list_of_elem = deserialized["value"] if cls: list_of_elem = cls(list_of_elem) - return deserialized.next_link or None, AsyncList(list_of_elem) + return deserialized.get("nextLink", None), AsyncList(list_of_elem) async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -292,8 +313,4 @@ async def get_next(next_link=None): return pipeline_response - - return AsyncCustomPager( - get_next, extract_data - ) - basic_paging.metadata = {'url': "/basic/paging"} # type: ignore + return AsyncCustomPager(get_next, extract_data) diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/models/_patch.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/_patch.py similarity index 69% rename from docs/samples/specification/directives/generated/azure/directives/sample/models/_patch.py rename to docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/_patch.py index 8a35ddb87c7..f7dd3251033 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/models/_patch.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_operations/_patch.py @@ -6,13 +6,10 @@ Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize """ -from typing import TYPE_CHECKING +from typing import List -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import List +__all__: List[str] = [] # Add all objects you want publicly available to users at this package level -__all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/_patch.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/_patch.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/_vendor.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_vendor.py index a22c70555a1..c593ff34e11 100644 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/_vendor.py +++ b/docs/samples/specification/directives/generated/azure/directives/sample/aio/_vendor.py @@ -8,8 +8,6 @@ from abc import ABC from typing import TYPE_CHECKING -from azure.core.pipeline.transport import HttpRequest - from ._configuration import PollingPagingExampleConfiguration if TYPE_CHECKING: @@ -21,6 +19,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: PollingPagingExampleConfiguration _serialize: "Serializer" diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_patch.py b/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_patch.py deleted file mode 100644 index 8a35ddb87c7..00000000000 --- a/docs/samples/specification/directives/generated/azure/directives/sample/aio/operations/_patch.py +++ /dev/null @@ -1,23 +0,0 @@ -# ------------------------------------ -# Copyright (c) Microsoft Corporation. -# Licensed under the MIT License. -# ------------------------------------ -"""Customize generated code here. - -Follow our quickstart for examples: https://aka.ms/azsdk/python/dpcodegen/python/customize -""" -from typing import TYPE_CHECKING - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from typing import List - -__all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level - -def patch_sdk(): - """Do not remove from this file. - - `patch_sdk` is a last resort escape hatch that allows you to do customizations - you can't accomplish using the techniques described in - https://aka.ms/azsdk/python/dpcodegen/python/customize - """ diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/models/__init__.py b/docs/samples/specification/directives/generated/azure/directives/sample/models/__init__.py deleted file mode 100644 index e01b3a4ef87..00000000000 --- a/docs/samples/specification/directives/generated/azure/directives/sample/models/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -# coding=utf-8 -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from ._models_py3 import Error -from ._models_py3 import Product -from ._models_py3 import ProductProperties -from ._models_py3 import ProductResult -from ._patch import __all__ as _patch_all -from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import -from ._patch import patch_sdk as _patch_sdk -__all__ = [ - 'Error', - 'Product', - 'ProductProperties', - 'ProductResult', -] -__all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file diff --git a/docs/samples/specification/directives/generated/azure/directives/sample/models/_models_py3.py b/docs/samples/specification/directives/generated/azure/directives/sample/models/_models_py3.py deleted file mode 100644 index 080f9c95db7..00000000000 --- a/docs/samples/specification/directives/generated/azure/directives/sample/models/_models_py3.py +++ /dev/null @@ -1,137 +0,0 @@ -# coding=utf-8 -# pylint: disable=too-many-lines -# -------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See License.txt in the project root for license information. -# Code generated by Microsoft (R) AutoRest Code Generator. -# Changes may cause incorrect behavior and will be lost if the code is regenerated. -# -------------------------------------------------------------------------- - -from typing import List, Optional, TYPE_CHECKING - -from .. import _serialization - -if TYPE_CHECKING: - # pylint: disable=unused-import,ungrouped-imports - from .. import models as _models - - -class Error(_serialization.Model): - """Error. - - :ivar status: - :vartype status: int - :ivar message: - :vartype message: str - """ - - _attribute_map = { - "status": {"key": "status", "type": "int"}, - "message": {"key": "message", "type": "str"}, - } - - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): - """ - :keyword status: - :paramtype status: int - :keyword message: - :paramtype message: str - """ - super().__init__(**kwargs) - self.status = status - self.message = message - - -class Product(_serialization.Model): - """Product. - - :ivar properties: - :vartype properties: ~azure.directives.sample.models.ProductProperties - """ - - _attribute_map = { - "properties": {"key": "properties", "type": "ProductProperties"}, - } - - def __init__( - self, - *, - properties: Optional["_models.ProductProperties"] = None, - **kwargs - ): - """ - :keyword properties: - :paramtype properties: ~azure.directives.sample.models.ProductProperties - """ - super().__init__(**kwargs) - self.properties = properties - - -class ProductProperties(_serialization.Model): - """ProductProperties. - - :ivar id: - :vartype id: int - :ivar name: - :vartype name: str - """ - - _attribute_map = { - "id": {"key": "id", "type": "int"}, - "name": {"key": "name", "type": "str"}, - } - - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - name: Optional[str] = None, - **kwargs - ): - """ - :keyword id: - :paramtype id: int - :keyword name: - :paramtype name: str - """ - super().__init__(**kwargs) - self.id = id - self.name = name - - -class ProductResult(_serialization.Model): - """ProductResult. - - :ivar value: - :vartype value: list[~azure.directives.sample.models.Product] - :ivar next_link: - :vartype next_link: str - """ - - _attribute_map = { - "value": {"key": "value", "type": "[Product]"}, - "next_link": {"key": "nextLink", "type": "str"}, - } - - def __init__( - self, - *, - value: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): - """ - :keyword value: - :paramtype value: list[~azure.directives.sample.models.Product] - :keyword next_link: - :paramtype next_link: str - """ - super().__init__(**kwargs) - self.value = value - self.next_link = next_link diff --git a/docs/samples/specification/directives/generated/setup.py b/docs/samples/specification/directives/generated/setup.py index 009923ba92d..647cd19b074 100644 --- a/docs/samples/specification/directives/generated/setup.py +++ b/docs/samples/specification/directives/generated/setup.py @@ -21,10 +21,10 @@ packages=find_packages(), include_package_data=True, install_requires=[ - "msrest>=0.7.1", + "isodate>=0.6.1", "azure-core<2.0.0,>=1.24.0", ], long_description="""\ Show polling and paging generation. - """ + """, ) diff --git a/docs/samples/specification/management/generated/azure/__init__.py b/docs/samples/specification/management/generated/azure/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/management/generated/azure/__init__.py +++ b/docs/samples/specification/management/generated/azure/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/management/generated/azure/mgmt/__init__.py b/docs/samples/specification/management/generated/azure/mgmt/__init__.py index 5960c353a89..d55ccad1f57 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/__init__.py +++ b/docs/samples/specification/management/generated/azure/mgmt/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore \ No newline at end of file +__path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/__init__.py b/docs/samples/specification/management/generated/azure/mgmt/sample/__init__.py index 9a25cb14bdd..56c0a0960f0 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/__init__.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/__init__.py @@ -17,7 +17,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['AutoRestHeadTestService'] + +__all__ = ["AutoRestHeadTestService"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/_auto_rest_head_test_service.py b/docs/samples/specification/management/generated/azure/mgmt/sample/_auto_rest_head_test_service.py index 2a0eea35ad4..26e165ea4ca 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/_auto_rest_head_test_service.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/_auto_rest_head_test_service.py @@ -22,6 +22,7 @@ from azure.core.credentials import TokenCredential + class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-keyword """Test Infrastructure for AutoRest. @@ -33,12 +34,7 @@ class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-key :type base_url: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = AutoRestHeadTestServiceConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -46,16 +42,9 @@ def __init__( self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - self.http_success = HttpSuccessOperations( - self._client, self._config, self._serialize, self._deserialize - ) - + self.http_success = HttpSuccessOperations(self._client, self._config, self._serialize, self._deserialize) - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/_configuration.py b/docs/samples/specification/management/generated/azure/mgmt/sample/_configuration.py index 019a9964462..a6c63bb429b 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/_configuration.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/_configuration.py @@ -29,33 +29,30 @@ class AutoRestHeadTestServiceConfiguration(Configuration): # pylint: disable=to :type credential: ~azure.core.credentials.TokenCredential """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(AutoRestHeadTestServiceConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-sample/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "mgmt-sample/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/_patch.py b/docs/samples/specification/management/generated/azure/mgmt/sample/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/_patch.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/_serialization.py b/docs/samples/specification/management/generated/azure/mgmt/sample/_serialization.py index a8b19965491..7daa7a447db 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/_serialization.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/_serialization.py @@ -37,6 +37,7 @@ import re import sys import codecs + try: from urllib import quote # type: ignore except ImportError: @@ -49,15 +50,16 @@ from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback -_BOM = codecs.BOM_UTF8.decode(encoding='utf-8') +_BOM = codecs.BOM_UTF8.decode(encoding="utf-8") if TYPE_CHECKING: from typing import Optional, Union, AnyStr, IO, Mapping + class RawDeserializer: # Accept "text" because we're open minded people... - JSON_REGEXP = re.compile(r'^(application|text)/([a-z+.]+\+)?json$') + JSON_REGEXP = re.compile(r"^(application|text)/([a-z+.]+\+)?json$") # Name used in context CONTEXT_NAME = "deserialized_data" @@ -75,12 +77,12 @@ def deserialize_from_text(cls, data, content_type=None): :type data: str or bytes or IO :param str content_type: The content type. """ - if hasattr(data, 'read'): + if hasattr(data, "read"): # Assume a stream data = cast(IO, data).read() if isinstance(data, bytes): - data_as_str = data.decode(encoding='utf-8-sig') + data_as_str = data.decode(encoding="utf-8-sig") else: # Explain to mypy the correct type. data_as_str = cast(str, data) @@ -116,7 +118,8 @@ def _json_attemp(data): try: return True, json.loads(data) except ValueError: - return False, None # Don't care about this one + return False, None # Don't care about this one + success, json_result = _json_attemp(data) if success: return json_result @@ -139,8 +142,8 @@ def deserialize_from_http_generics(cls, body_bytes, headers): """ # Try to use content-type from headers if available content_type = None - if 'content-type' in headers: - content_type = headers['content-type'].split(";")[0].strip().lower() + if "content-type" in headers: + content_type = headers["content-type"].split(";")[0].strip().lower() # Ouch, this server did not declare what it sent... # Let's guess it's JSON... # Also, since Autorest was considering that an empty body was a valid JSON, @@ -152,6 +155,7 @@ def deserialize_from_http_generics(cls, body_bytes, headers): return cls.deserialize_from_text(body_bytes, content_type) return None + try: basestring # type: ignore unicode_str = unicode # type: ignore @@ -162,10 +166,11 @@ def deserialize_from_http_generics(cls, body_bytes, headers): _LOGGER = logging.getLogger(__name__) try: - _long_type = long # type: ignore + _long_type = long # type: ignore except NameError: _long_type = int + class UTC(datetime.tzinfo): """Time Zone info for handling UTC""" @@ -181,9 +186,11 @@ def dst(self, dt): """No daylight saving for UTC.""" return datetime.timedelta(hours=1) + try: from datetime import timezone as _FixedOffset except ImportError: # Python 2.7 + class _FixedOffset(datetime.tzinfo): # type: ignore """Fixed offset in minutes east from UTC. Copy/pasted from Python doc @@ -197,7 +204,7 @@ def utcoffset(self, dt): return self.__offset def tzname(self, dt): - return str(self.__offset.total_seconds()/3600) + return str(self.__offset.total_seconds() / 3600) def __repr__(self): return "".format(self.tzname(None)) @@ -208,14 +215,17 @@ def dst(self, dt): def __getinitargs__(self): return (self.__offset,) + try: from datetime import timezone + TZ_UTC = timezone.utc # type: ignore except ImportError: TZ_UTC = UTC() # type: ignore _FLATTEN = re.compile(r"(? y, @@ -502,25 +518,25 @@ class Serializer(object): "max_items": lambda x, y: len(x) > y, "pattern": lambda x, y: not re.match(y, x, re.UNICODE), "unique": lambda x, y: len(x) != len(set(x)), - "multiple": lambda x, y: x % y != 0 - } + "multiple": lambda x, y: x % y != 0, + } def __init__(self, classes=None): self.serialize_type = { - 'iso-8601': Serializer.serialize_iso, - 'rfc-1123': Serializer.serialize_rfc, - 'unix-time': Serializer.serialize_unix, - 'duration': Serializer.serialize_duration, - 'date': Serializer.serialize_date, - 'time': Serializer.serialize_time, - 'decimal': Serializer.serialize_decimal, - 'long': Serializer.serialize_long, - 'bytearray': Serializer.serialize_bytearray, - 'base64': Serializer.serialize_base64, - 'object': self.serialize_object, - '[]': self.serialize_iter, - '{}': self.serialize_dict - } + "iso-8601": Serializer.serialize_iso, + "rfc-1123": Serializer.serialize_rfc, + "unix-time": Serializer.serialize_unix, + "duration": Serializer.serialize_duration, + "date": Serializer.serialize_date, + "time": Serializer.serialize_time, + "decimal": Serializer.serialize_decimal, + "long": Serializer.serialize_long, + "bytearray": Serializer.serialize_bytearray, + "base64": Serializer.serialize_base64, + "object": self.serialize_object, + "[]": self.serialize_iter, + "{}": self.serialize_dict, + } self.dependencies = dict(classes) if classes else {} self.key_transformer = full_restapi_key_transformer self.client_side_validation = True @@ -542,14 +558,12 @@ def _serialize(self, target_obj, data_type=None, **kwargs): class_name = target_obj.__class__.__name__ if data_type: - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) if not hasattr(target_obj, "_attribute_map"): data_type = type(target_obj).__name__ if data_type in self.basic_types.values(): - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) # Force "is_xml" kwargs if we detect a XML model try: @@ -564,10 +578,10 @@ def _serialize(self, target_obj, data_type=None, **kwargs): attributes = target_obj._attribute_map for attr, attr_desc in attributes.items(): attr_name = attr - if not keep_readonly and target_obj._validation.get(attr_name, {}).get('readonly', False): + if not keep_readonly and target_obj._validation.get(attr_name, {}).get("readonly", False): continue - if attr_name == "additional_properties" and attr_desc["key"] == '': + if attr_name == "additional_properties" and attr_desc["key"] == "": if target_obj.additional_properties is not None: serialized.update(target_obj.additional_properties) continue @@ -575,21 +589,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): orig_attr = getattr(target_obj, attr) if is_xml_model_serialization: - pass # Don't provide "transformer" for XML for now. Keep "orig_attr" - else: # JSON + pass # Don't provide "transformer" for XML for now. Keep "orig_attr" + else: # JSON keys, orig_attr = key_transformer(attr, attr_desc.copy(), orig_attr) keys = keys if isinstance(keys, list) else [keys] - kwargs["serialization_ctxt"] = attr_desc - new_attr = self.serialize_data(orig_attr, attr_desc['type'], **kwargs) - + new_attr = self.serialize_data(orig_attr, attr_desc["type"], **kwargs) if is_xml_model_serialization: - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) - xml_prefix = xml_desc.get('prefix', None) - xml_ns = xml_desc.get('ns', None) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) + xml_prefix = xml_desc.get("prefix", None) + xml_ns = xml_desc.get("ns", None) if xml_desc.get("attr", False): if xml_ns: ET.register_namespace(xml_prefix, xml_ns) @@ -603,23 +615,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): serialized.extend(new_attr) elif isinstance(new_attr, ET.Element): # If the down XML has no XML/Name, we MUST replace the tag with the local tag. But keeping the namespaces. - if 'name' not in getattr(orig_attr, '_xml_map', {}): + if "name" not in getattr(orig_attr, "_xml_map", {}): splitted_tag = new_attr.tag.split("}") - if len(splitted_tag) == 2: # Namespace + if len(splitted_tag) == 2: # Namespace new_attr.tag = "}".join([splitted_tag[0], xml_name]) else: new_attr.tag = xml_name serialized.append(new_attr) else: # That's a basic type # Integrate namespace if necessary - local_node = _create_xml_node( - xml_name, - xml_prefix, - xml_ns - ) + local_node = _create_xml_node(xml_name, xml_prefix, xml_ns) local_node.text = unicode_str(new_attr) serialized.append(local_node) - else: # JSON + else: # JSON for k in reversed(keys): unflattened = {k: new_attr} new_attr = unflattened @@ -635,8 +643,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs): continue except (AttributeError, KeyError, TypeError) as err: - msg = "Attribute {} in object {} cannot be serialized.\n{}".format( - attr_name, class_name, str(target_obj)) + msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) raise_with_traceback(SerializationError, msg, err) else: return serialized @@ -652,7 +659,7 @@ def body(self, data, data_type, **kwargs): """ # Just in case this is a dict - internal_data_type = data_type.strip('[]{}') + internal_data_type = data_type.strip("[]{}") internal_data_type = self.dependencies.get(internal_data_type, None) try: is_xml_model_serialization = kwargs["is_xml"] @@ -675,12 +682,11 @@ def body(self, data, data_type, **kwargs): deserializer.key_extractors = [ rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor, - last_rest_key_case_insensitive_extractor + last_rest_key_case_insensitive_extractor, ] data = deserializer._deserialize(data_type, data) except DeserializationError as err: - raise_with_traceback( - SerializationError, "Unable to build a model: "+str(err), err) + raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err) return self._serialize(data, data_type, **kwargs) @@ -695,13 +701,13 @@ def url(self, name, data, data_type, **kwargs): """ try: output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -720,27 +726,19 @@ def query(self, name, data, data_type, **kwargs): # Treat the list aside, since we don't want to encode the div separator if data_type.startswith("["): internal_data_type = data_type[1:-1] - data = [ - self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" - for d - in data - ] - if not kwargs.get('skip_quote', False): - data = [ - quote(str(d), safe='') - for d - in data - ] + data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] + if not kwargs.get("skip_quote", False): + data = [quote(str(d), safe="") for d in data] return str(self.serialize_iter(data, internal_data_type, **kwargs)) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -756,11 +754,11 @@ def header(self, name, data, data_type, **kwargs): :raises: ValueError if data is None """ try: - if data_type in ['[str]']: + if data_type in ["[str]"]: data = ["" if d is None else d for d in data] output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) @@ -796,13 +794,11 @@ def serialize_data(self, data, data_type, **kwargs): iter_type = data_type[0] + data_type[-1] if iter_type in self.serialize_type: - return self.serialize_type[iter_type]( - data, data_type[1:-1], **kwargs) + return self.serialize_type[iter_type](data, data_type[1:-1], **kwargs) except (ValueError, TypeError) as err: msg = "Unable to serialize value: {!r} as type: {!r}." - raise_with_traceback( - SerializationError, msg.format(data, data_type), err) + raise_with_traceback(SerializationError, msg.format(data, data_type), err) else: return self._serialize(data, **kwargs) @@ -829,7 +825,7 @@ def serialize_basic(cls, data, data_type, **kwargs): custom_serializer = cls._get_custom_serializers(data_type, **kwargs) if custom_serializer: return custom_serializer(data) - if data_type == 'str': + if data_type == "str": return cls.serialize_unicode(data) return eval(data_type)(data) @@ -886,25 +882,21 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): serialized.append(None) if div: - serialized = ['' if s is None else str(s) for s in serialized] + serialized = ["" if s is None else str(s) for s in serialized] serialized = div.join(serialized) - if 'xml' in serialization_ctxt or is_xml: + if "xml" in serialization_ctxt or is_xml: # XML serialization is more complicated - xml_desc = serialization_ctxt.get('xml', {}) - xml_name = xml_desc.get('name') + xml_desc = serialization_ctxt.get("xml", {}) + xml_name = xml_desc.get("name") if not xml_name: - xml_name = serialization_ctxt['key'] + xml_name = serialization_ctxt["key"] # Create a wrap node if necessary (use the fact that Element and list have "append") is_wrapped = xml_desc.get("wrapped", False) node_name = xml_desc.get("itemsName", xml_name) if is_wrapped: - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) else: final_result = [] # All list elements to "local_node" @@ -912,11 +904,7 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): if isinstance(el, ET.Element): el_node = el else: - el_node = _create_xml_node( - node_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + el_node = _create_xml_node(node_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) if el is not None: # Otherwise it writes "None" :-p el_node.text = str(el) final_result.append(el_node) @@ -936,21 +924,16 @@ def serialize_dict(self, attr, dict_type, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_data( - value, dict_type, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None - if 'xml' in serialization_ctxt: + if "xml" in serialization_ctxt: # XML serialization is more complicated - xml_desc = serialization_ctxt['xml'] - xml_name = xml_desc['name'] + xml_desc = serialization_ctxt["xml"] + xml_name = xml_desc["name"] - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) for key, value in serialized.items(): ET.SubElement(final_result, key).text = value return final_result @@ -996,8 +979,7 @@ def serialize_object(self, attr, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_object( - value, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_object(value, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None return serialized @@ -1006,8 +988,7 @@ def serialize_object(self, attr, **kwargs): serialized = [] for obj in attr: try: - serialized.append(self.serialize_object( - obj, **kwargs)) + serialized.append(self.serialize_object(obj, **kwargs)) except ValueError: pass return serialized @@ -1045,8 +1026,8 @@ def serialize_base64(attr, **kwargs): :param attr: Object to be serialized. :rtype: str """ - encoded = b64encode(attr).decode('ascii') - return encoded.strip('=').replace('+', '-').replace('/', '_') + encoded = b64encode(attr).decode("ascii") + return encoded.strip("=").replace("+", "-").replace("/", "_") @staticmethod def serialize_decimal(attr, **kwargs): @@ -1113,16 +1094,20 @@ def serialize_rfc(attr, **kwargs): """ try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() except AttributeError: raise TypeError("RFC1123 object must be valid Datetime object.") return "{}, {:02} {} {:04} {:02}:{:02}:{:02} GMT".format( - Serializer.days[utc.tm_wday], utc.tm_mday, - Serializer.months[utc.tm_mon], utc.tm_year, - utc.tm_hour, utc.tm_min, utc.tm_sec) + Serializer.days[utc.tm_wday], + utc.tm_mday, + Serializer.months[utc.tm_mon], + utc.tm_year, + utc.tm_hour, + utc.tm_min, + utc.tm_sec, + ) @staticmethod def serialize_iso(attr, **kwargs): @@ -1136,19 +1121,18 @@ def serialize_iso(attr, **kwargs): attr = isodate.parse_datetime(attr) try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() if utc.tm_year > 9999 or utc.tm_year < 1: raise OverflowError("Hit max or min date") - microseconds = str(attr.microsecond).rjust(6,'0').rstrip('0').ljust(3, '0') + microseconds = str(attr.microsecond).rjust(6, "0").rstrip("0").ljust(3, "0") if microseconds: - microseconds = '.'+microseconds + microseconds = "." + microseconds date = "{:04}-{:02}-{:02}T{:02}:{:02}:{:02}".format( - utc.tm_year, utc.tm_mon, utc.tm_mday, - utc.tm_hour, utc.tm_min, utc.tm_sec) - return date + microseconds + 'Z' + utc.tm_year, utc.tm_mon, utc.tm_mday, utc.tm_hour, utc.tm_min, utc.tm_sec + ) + return date + microseconds + "Z" except (ValueError, OverflowError) as err: msg = "Unable to serialize datetime object." raise_with_traceback(SerializationError, msg, err) @@ -1169,17 +1153,17 @@ def serialize_unix(attr, **kwargs): return attr try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") return int(calendar.timegm(attr.utctimetuple())) except AttributeError: raise TypeError("Unix time object must be valid Datetime object.") + def rest_key_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1191,15 +1175,16 @@ def rest_key_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) return working_data.get(key) + def rest_key_case_insensitive_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1211,30 +1196,33 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) if working_data: return attribute_key_case_insensitive_extractor(key, None, working_data) + def last_rest_key_extractor(attr, attr_desc, data): - """Extract the attribute in "data" based on the last part of the JSON path key. - """ - key = attr_desc['key'] + """Extract the attribute in "data" based on the last part of the JSON path key.""" + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_extractor(dict_keys[-1], None, data) + def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): """Extract the attribute in "data" based on the last part of the JSON path key. This is the case insensitive version of "last_rest_key_extractor" """ - key = attr_desc['key'] + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_case_insensitive_extractor(dict_keys[-1], None, data) + def attribute_key_extractor(attr, _, data): return data.get(attr) + def attribute_key_case_insensitive_extractor(attr, _, data): found_key = None lower_attr = attr.lower() @@ -1245,6 +1233,7 @@ def attribute_key_case_insensitive_extractor(attr, _, data): return data.get(found_key) + def _extract_name_from_internal_type(internal_type): """Given an internal type XML description, extract correct XML name with namespace. @@ -1253,7 +1242,7 @@ def _extract_name_from_internal_type(internal_type): :returns: A tuple XML name + namespace dict """ internal_type_xml_map = getattr(internal_type, "_xml_map", {}) - xml_name = internal_type_xml_map.get('name', internal_type.__name__) + xml_name = internal_type_xml_map.get("name", internal_type.__name__) xml_ns = internal_type_xml_map.get("ns", None) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1268,17 +1257,17 @@ def xml_key_extractor(attr, attr_desc, data): if not isinstance(data, ET.Element): return None - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) # Look for a children - is_iter_type = attr_desc['type'].startswith("[") + is_iter_type = attr_desc["type"].startswith("[") is_wrapped = xml_desc.get("wrapped", False) internal_type = attr_desc.get("internalType", None) internal_type_xml_map = getattr(internal_type, "_xml_map", {}) # Integrate namespace if necessary - xml_ns = xml_desc.get('ns', internal_type_xml_map.get("ns", None)) + xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None)) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1294,15 +1283,15 @@ def xml_key_extractor(attr, attr_desc, data): # - Wrapped node # - Internal type is an enum (considered basic types) # - Internal type has no XML/Name node - if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or 'name' not in internal_type_xml_map)): + if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or "name" not in internal_type_xml_map)): children = data.findall(xml_name) # If internal type has a local name and it's not a list, I use that name - elif not is_iter_type and internal_type and 'name' in internal_type_xml_map: + elif not is_iter_type and internal_type and "name" in internal_type_xml_map: xml_name = _extract_name_from_internal_type(internal_type) children = data.findall(xml_name) # That's an array else: - if internal_type: # Complex type, ignore itemsName and use the complex type name + if internal_type: # Complex type, ignore itemsName and use the complex type name items_name = _extract_name_from_internal_type(internal_type) else: items_name = xml_desc.get("itemsName", xml_name) @@ -1311,21 +1300,22 @@ def xml_key_extractor(attr, attr_desc, data): if len(children) == 0: if is_iter_type: if is_wrapped: - return None # is_wrapped no node, we want None + return None # is_wrapped no node, we want None else: - return [] # not wrapped, assume empty list + return [] # not wrapped, assume empty list return None # Assume it's not there, maybe an optional node. # If is_iter_type and not wrapped, return all found children if is_iter_type: if not is_wrapped: return children - else: # Iter and wrapped, should have found one node only (the wrap one) + else: # Iter and wrapped, should have found one node only (the wrap one) if len(children) != 1: raise DeserializationError( "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( xml_name - )) + ) + ) return list(children[0]) # Might be empty list and that's ok. # Here it's not a itertype, we should have found one element only or empty @@ -1333,6 +1323,7 @@ def xml_key_extractor(attr, attr_desc, data): raise DeserializationError("Find several XML '{}' where it was not expected".format(xml_name)) return children[0] + class Deserializer(object): """Response object model deserializer. @@ -1340,37 +1331,32 @@ class Deserializer(object): :ivar list key_extractors: Ordered list of extractors to be used by this deserializer. """ - basic_types = {str: 'str', int: 'int', bool: 'bool', float: 'float'} + basic_types = {str: "str", int: "int", bool: "bool", float: "float"} - valid_date = re.compile( - r'\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}' - r'\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?') + valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") def __init__(self, classes=None): self.deserialize_type = { - 'iso-8601': Deserializer.deserialize_iso, - 'rfc-1123': Deserializer.deserialize_rfc, - 'unix-time': Deserializer.deserialize_unix, - 'duration': Deserializer.deserialize_duration, - 'date': Deserializer.deserialize_date, - 'time': Deserializer.deserialize_time, - 'decimal': Deserializer.deserialize_decimal, - 'long': Deserializer.deserialize_long, - 'bytearray': Deserializer.deserialize_bytearray, - 'base64': Deserializer.deserialize_base64, - 'object': self.deserialize_object, - '[]': self.deserialize_iter, - '{}': self.deserialize_dict - } + "iso-8601": Deserializer.deserialize_iso, + "rfc-1123": Deserializer.deserialize_rfc, + "unix-time": Deserializer.deserialize_unix, + "duration": Deserializer.deserialize_duration, + "date": Deserializer.deserialize_date, + "time": Deserializer.deserialize_time, + "decimal": Deserializer.deserialize_decimal, + "long": Deserializer.deserialize_long, + "bytearray": Deserializer.deserialize_bytearray, + "base64": Deserializer.deserialize_base64, + "object": self.deserialize_object, + "[]": self.deserialize_iter, + "{}": self.deserialize_dict, + } self.deserialize_expected_types = { - 'duration': (isodate.Duration, datetime.timedelta), - 'iso-8601': (datetime.datetime) + "duration": (isodate.Duration, datetime.timedelta), + "iso-8601": (datetime.datetime), } self.dependencies = dict(classes) if classes else {} - self.key_extractors = [ - rest_key_extractor, - xml_key_extractor - ] + self.key_extractors = [rest_key_extractor, xml_key_extractor] # Additional properties only works if the "rest_key_extractor" is used to # extract the keys. Making it to work whatever the key extractor is too much # complicated, with no real scenario for now. @@ -1403,8 +1389,7 @@ def _deserialize(self, target_obj, data): """ # This is already a model, go recursive just in case if hasattr(data, "_attribute_map"): - constants = [name for name, config in getattr(data, '_validation', {}).items() - if config.get('constant')] + constants = [name for name, config in getattr(data, "_validation", {}).items() if config.get("constant")] try: for attr, mapconfig in data._attribute_map.items(): if attr in constants: @@ -1412,15 +1397,11 @@ def _deserialize(self, target_obj, data): value = getattr(data, attr) if value is None: continue - local_type = mapconfig['type'] - internal_data_type = local_type.strip('[]{}') + local_type = mapconfig["type"] + internal_data_type = local_type.strip("[]{}") if internal_data_type not in self.dependencies or isinstance(internal_data_type, Enum): continue - setattr( - data, - attr, - self._deserialize(local_type, value) - ) + setattr(data, attr, self._deserialize(local_type, value)) return data except AttributeError: return @@ -1439,12 +1420,12 @@ def _deserialize(self, target_obj, data): d_attrs = {} for attr, attr_desc in attributes.items(): # Check empty string. If it's not empty, someone has a real "additionalProperties"... - if attr == "additional_properties" and attr_desc["key"] == '': + if attr == "additional_properties" and attr_desc["key"] == "": continue raw_value = None # Enhance attr_desc with some dynamic data - attr_desc = attr_desc.copy() # Do a copy, do not change the real one - internal_data_type = attr_desc["type"].strip('[]{}') + attr_desc = attr_desc.copy() # Do a copy, do not change the real one + internal_data_type = attr_desc["type"].strip("[]{}") if internal_data_type in self.dependencies: attr_desc["internalType"] = self.dependencies[internal_data_type] @@ -1452,18 +1433,15 @@ def _deserialize(self, target_obj, data): found_value = key_extractor(attr, attr_desc, data) if found_value is not None: if raw_value is not None and raw_value != found_value: - msg = ("Ignoring extracted value '%s' from %s for key '%s'" - " (duplicate extraction, follow extractors order)" ) - _LOGGER.warning( - msg, - found_value, - key_extractor, - attr + msg = ( + "Ignoring extracted value '%s' from %s for key '%s'" + " (duplicate extraction, follow extractors order)" ) + _LOGGER.warning(msg, found_value, key_extractor, attr) continue raw_value = found_value - value = self.deserialize_data(raw_value, attr_desc['type']) + value = self.deserialize_data(raw_value, attr_desc["type"]) d_attrs[attr] = value except (AttributeError, TypeError, KeyError) as err: msg = "Unable to deserialize to object: " + class_name @@ -1475,14 +1453,17 @@ def _deserialize(self, target_obj, data): def _build_additional_properties(self, attribute_map, data): if not self.additional_properties_detection: return None - if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != '': + if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != "": # Check empty string. If it's not empty, someone has a real "additionalProperties" return None if isinstance(data, ET.Element): data = {el.tag: el.text for el in data} - known_keys = {_decode_attribute_map_key(_FLATTEN.split(desc['key'])[0]) - for desc in attribute_map.values() if desc['key'] != ''} + known_keys = { + _decode_attribute_map_key(_FLATTEN.split(desc["key"])[0]) + for desc in attribute_map.values() + if desc["key"] != "" + } present_keys = set(data.keys()) missing_keys = present_keys - known_keys return {key: data[key] for key in missing_keys} @@ -1525,8 +1506,7 @@ def failsafe_deserialize(self, target_obj, data, content_type=None): return self(target_obj, data, content_type=content_type) except: _LOGGER.warning( - "Ran into a deserialization error. Ignoring since this is failsafe deserialization", - exc_info=True + "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True ) return None @@ -1554,21 +1534,15 @@ def _unpack_content(raw_data, content_type=None): return context[RawDeserializer.CONTEXT_NAME] raise ValueError("This pipeline didn't have the RawDeserializer policy; can't deserialize") - #Assume this is enough to recognize universal_http.ClientResponse without importing it + # Assume this is enough to recognize universal_http.ClientResponse without importing it if hasattr(raw_data, "body"): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text(), - raw_data.headers - ) + return RawDeserializer.deserialize_from_http_generics(raw_data.text(), raw_data.headers) # Assume this enough to recognize requests.Response without importing it. - if hasattr(raw_data, '_content_consumed'): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text, - raw_data.headers - ) + if hasattr(raw_data, "_content_consumed"): + return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers) - if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, 'read'): + if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"): return RawDeserializer.deserialize_from_text(raw_data, content_type) return raw_data @@ -1579,14 +1553,11 @@ def _instantiate_model(self, response, attrs, additional_properties=None): :param d_attrs: The deserialized response attributes. """ if callable(response): - subtype = getattr(response, '_subtype_map', {}) + subtype = getattr(response, "_subtype_map", {}) try: - readonly = [k for k, v in response._validation.items() - if v.get('readonly')] - const = [k for k, v in response._validation.items() - if v.get('constant')] - kwargs = {k: v for k, v in attrs.items() - if k not in subtype and k not in readonly + const} + readonly = [k for k, v in response._validation.items() if v.get("readonly")] + const = [k for k, v in response._validation.items() if v.get("constant")] + kwargs = {k: v for k, v in attrs.items() if k not in subtype and k not in readonly + const} response_obj = response(**kwargs) for attr in readonly: setattr(response_obj, attr, attrs.get(attr)) @@ -1594,8 +1565,7 @@ def _instantiate_model(self, response, attrs, additional_properties=None): response_obj.additional_properties = additional_properties return response_obj except TypeError as err: - msg = "Unable to deserialize {} into model {}. ".format( - kwargs, response) + msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) raise DeserializationError(msg + str(err)) else: try: @@ -1659,13 +1629,10 @@ def deserialize_iter(self, attr, iter_type): """ if attr is None: return None - if isinstance(attr, ET.Element): # If I receive an element here, get the children + if isinstance(attr, ET.Element): # If I receive an element here, get the children attr = list(attr) if not isinstance(attr, (list, set)): - raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format( - iter_type, - type(attr) - )) + raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format(iter_type, type(attr))) return [self.deserialize_data(a, iter_type) for a in attr] def deserialize_dict(self, attr, dict_type): @@ -1677,7 +1644,7 @@ def deserialize_dict(self, attr, dict_type): :rtype: dict """ if isinstance(attr, list): - return {x['key']: self.deserialize_data(x['value'], dict_type) for x in attr} + return {x["key"]: self.deserialize_data(x["value"], dict_type) for x in attr} if isinstance(attr, ET.Element): # Transform value into {"Key": "value"} @@ -1698,7 +1665,7 @@ def deserialize_object(self, attr, **kwargs): # Do no recurse on XML, just return the tree as-is return attr if isinstance(attr, basestring): - return self.deserialize_basic(attr, 'str') + return self.deserialize_basic(attr, "str") obj_type = type(attr) if obj_type in self.basic_types: return self.deserialize_basic(attr, self.basic_types[obj_type]) @@ -1709,8 +1676,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = {} for key, value in attr.items(): try: - deserialized[key] = self.deserialize_object( - value, **kwargs) + deserialized[key] = self.deserialize_object(value, **kwargs) except ValueError: deserialized[key] = None return deserialized @@ -1719,8 +1685,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = [] for obj in attr: try: - deserialized.append(self.deserialize_object( - obj, **kwargs)) + deserialized.append(self.deserialize_object(obj, **kwargs)) except ValueError: pass return deserialized @@ -1747,23 +1712,23 @@ def deserialize_basic(self, attr, data_type): if not attr: if data_type == "str": # None or '', node is empty string. - return '' + return "" else: # None or '', node with a strong type is None. # Don't try to model "empty bool" or "empty int" return None - if data_type == 'bool': + if data_type == "bool": if attr in [True, False, 1, 0]: return bool(attr) elif isinstance(attr, basestring): - if attr.lower() in ['true', '1']: + if attr.lower() in ["true", "1"]: return True - elif attr.lower() in ['false', '0']: + elif attr.lower() in ["false", "0"]: return False raise TypeError("Invalid boolean value: {}".format(attr)) - if data_type == 'str': + if data_type == "str": return self.deserialize_unicode(attr) return eval(data_type)(attr) @@ -1845,9 +1810,9 @@ def deserialize_base64(attr): """ if isinstance(attr, ET.Element): attr = attr.text - padding = '=' * (3 - (len(attr) + 3) % 4) + padding = "=" * (3 - (len(attr) + 3) % 4) attr = attr + padding - encoded = attr.replace('-', '+').replace('_', '/') + encoded = attr.replace("-", "+").replace("_", "/") return b64decode(encoded) @staticmethod @@ -1890,7 +1855,7 @@ def deserialize_duration(attr): attr = attr.text try: duration = isodate.parse_duration(attr) - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize duration object." raise_with_traceback(DeserializationError, msg, err) else: @@ -1938,8 +1903,7 @@ def deserialize_rfc(attr): try: parsed_date = email.utils.parsedate_tz(attr) date_obj = datetime.datetime( - *parsed_date[:6], - tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0)/60)) + *parsed_date[:6], tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0) / 60)) ) if not date_obj.tzinfo: date_obj = date_obj.astimezone(tz=TZ_UTC) @@ -1965,7 +1929,7 @@ def deserialize_iso(attr): if not match: raise ValueError("Invalid datetime string: " + attr) - check_decimal = attr.split('.') + check_decimal = attr.split(".") if len(check_decimal) > 1: decimal_str = "" for digit in check_decimal[1]: @@ -1980,7 +1944,7 @@ def deserialize_iso(attr): test_utc = date_obj.utctimetuple() if test_utc.tm_year > 9999 or test_utc.tm_year < 1: raise OverflowError("Hit max or min date") - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize datetime object." raise_with_traceback(DeserializationError, msg, err) else: @@ -2003,4 +1967,4 @@ def deserialize_unix(attr): msg = "Cannot deserialize to unix datetime object." raise_with_traceback(DeserializationError, msg, err) else: - return date_obj \ No newline at end of file + return date_obj diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/_vendor.py b/docs/samples/specification/management/generated/azure/mgmt/sample/_vendor.py index 9a223d15524..0dafe0e287f 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/_vendor.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/_vendor.py @@ -7,6 +7,7 @@ from azure.core.pipeline.transport import HttpRequest + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/__init__.py b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/__init__.py index dc527eb1909..add62da3ee3 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/__init__.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['AutoRestHeadTestService'] + +__all__ = ["AutoRestHeadTestService"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_auto_rest_head_test_service.py b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_auto_rest_head_test_service.py index c62600ca3df..3c36ec638d9 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_auto_rest_head_test_service.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_auto_rest_head_test_service.py @@ -22,6 +22,7 @@ from azure.core.credentials_async import AsyncTokenCredential + class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-keyword """Test Infrastructure for AutoRest. @@ -34,10 +35,7 @@ class AutoRestHeadTestService: # pylint: disable=client-accepts-api-version-key """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = AutoRestHeadTestServiceConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -46,16 +44,9 @@ def __init__( self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - self.http_success = HttpSuccessOperations( - self._client, self._config, self._serialize, self._deserialize - ) - + self.http_success = HttpSuccessOperations(self._client, self._config, self._serialize, self._deserialize) - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_configuration.py b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_configuration.py index 966fa97e034..9dd7632813a 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_configuration.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_configuration.py @@ -29,32 +29,27 @@ class AutoRestHeadTestServiceConfiguration(Configuration): # pylint: disable=to :type credential: ~azure.core.credentials_async.AsyncTokenCredential """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(AutoRestHeadTestServiceConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'mgmt-sample/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "mgmt-sample/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_patch.py b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_patch.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/__init__.py b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/__init__.py index 5aae9b99c74..8443e413d69 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/__init__.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'HttpSuccessOperations', + "HttpSuccessOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/_http_success_operations.py b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/_http_success_operations.py index 35508da7484..1c634ace7d7 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/_http_success_operations.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/_http_success_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -17,9 +23,11 @@ from ..._vendor import _convert_request from ...operations._http_success_operations import build_head200_request, build_head204_request, build_head404_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class HttpSuccessOperations: """ .. warning:: @@ -37,12 +45,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def head200( - self, - **kwargs: Any - ) -> bool: + async def head200(self, **kwargs: Any) -> bool: """Return 200 status code if successful. :keyword callable cls: A custom type or function that will be passed the direct response @@ -50,19 +54,16 @@ async def head200( :rtype: bool :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_head200_request( - template_url=self.head200.metadata['url'], + template_url=self.head200.metadata["url"], headers=_headers, params=_params, ) @@ -70,9 +71,7 @@ async def head200( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -85,14 +84,10 @@ async def head200( return cls(pipeline_response, None, {}) return 200 <= response.status_code <= 299 - head200.metadata = {'url': "/http/success/200"} # type: ignore - + head200.metadata = {"url": "/http/success/200"} # type: ignore @distributed_trace_async - async def head204( - self, - **kwargs: Any - ) -> bool: + async def head204(self, **kwargs: Any) -> bool: """Return 204 status code if successful. :keyword callable cls: A custom type or function that will be passed the direct response @@ -100,19 +95,16 @@ async def head204( :rtype: bool :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_head204_request( - template_url=self.head204.metadata['url'], + template_url=self.head204.metadata["url"], headers=_headers, params=_params, ) @@ -120,9 +112,7 @@ async def head204( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -135,14 +125,10 @@ async def head204( return cls(pipeline_response, None, {}) return 200 <= response.status_code <= 299 - head204.metadata = {'url': "/http/success/204"} # type: ignore - + head204.metadata = {"url": "/http/success/204"} # type: ignore @distributed_trace_async - async def head404( - self, - **kwargs: Any - ) -> bool: + async def head404(self, **kwargs: Any) -> bool: """Return 404 status code if successful. :keyword callable cls: A custom type or function that will be passed the direct response @@ -150,19 +136,16 @@ async def head404( :rtype: bool :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_head404_request( - template_url=self.head404.metadata['url'], + template_url=self.head404.metadata["url"], headers=_headers, params=_params, ) @@ -170,9 +153,7 @@ async def head404( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -185,5 +166,4 @@ async def head404( return cls(pipeline_response, None, {}) return 200 <= response.status_code <= 299 - head404.metadata = {'url': "/http/success/404"} # type: ignore - + head404.metadata = {"url": "/http/success/404"} # type: ignore diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/_patch.py b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/_patch.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/operations/__init__.py b/docs/samples/specification/management/generated/azure/mgmt/sample/operations/__init__.py index 5aae9b99c74..8443e413d69 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/operations/__init__.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'HttpSuccessOperations', + "HttpSuccessOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/operations/_http_success_operations.py b/docs/samples/specification/management/generated/azure/mgmt/sample/operations/_http_success_operations.py index 64c644a5ef8..a420bef31fc 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/operations/_http_success_operations.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/operations/_http_success_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -17,50 +23,34 @@ from .._serialization import Serializer from .._vendor import _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_head200_request( - **kwargs: Any -) -> HttpRequest: +def build_head200_request(**kwargs: Any) -> HttpRequest: # Construct URL _url = kwargs.pop("template_url", "/http/success/200") - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) + return HttpRequest(method="HEAD", url=_url, **kwargs) -def build_head204_request( - **kwargs: Any -) -> HttpRequest: +def build_head204_request(**kwargs: Any) -> HttpRequest: # Construct URL _url = kwargs.pop("template_url", "/http/success/204") - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) + return HttpRequest(method="HEAD", url=_url, **kwargs) -def build_head404_request( - **kwargs: Any -) -> HttpRequest: +def build_head404_request(**kwargs: Any) -> HttpRequest: # Construct URL _url = kwargs.pop("template_url", "/http/success/404") - return HttpRequest( - method="HEAD", - url=_url, - **kwargs - ) + return HttpRequest(method="HEAD", url=_url, **kwargs) + class HttpSuccessOperations: """ @@ -79,12 +69,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def head200( - self, - **kwargs: Any - ) -> bool: + def head200(self, **kwargs: Any) -> bool: """Return 200 status code if successful. :keyword callable cls: A custom type or function that will be passed the direct response @@ -92,19 +78,16 @@ def head200( :rtype: bool :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_head200_request( - template_url=self.head200.metadata['url'], + template_url=self.head200.metadata["url"], headers=_headers, params=_params, ) @@ -112,9 +95,7 @@ def head200( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -127,14 +108,10 @@ def head200( return cls(pipeline_response, None, {}) return 200 <= response.status_code <= 299 - head200.metadata = {'url': "/http/success/200"} # type: ignore - + head200.metadata = {"url": "/http/success/200"} # type: ignore @distributed_trace - def head204( - self, - **kwargs: Any - ) -> bool: + def head204(self, **kwargs: Any) -> bool: """Return 204 status code if successful. :keyword callable cls: A custom type or function that will be passed the direct response @@ -142,19 +119,16 @@ def head204( :rtype: bool :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_head204_request( - template_url=self.head204.metadata['url'], + template_url=self.head204.metadata["url"], headers=_headers, params=_params, ) @@ -162,9 +136,7 @@ def head204( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -177,14 +149,10 @@ def head204( return cls(pipeline_response, None, {}) return 200 <= response.status_code <= 299 - head204.metadata = {'url': "/http/success/204"} # type: ignore - + head204.metadata = {"url": "/http/success/204"} # type: ignore @distributed_trace - def head404( - self, - **kwargs: Any - ) -> bool: + def head404(self, **kwargs: Any) -> bool: """Return 404 status code if successful. :keyword callable cls: A custom type or function that will be passed the direct response @@ -192,19 +160,16 @@ def head404( :rtype: bool :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[None] + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_head404_request( - template_url=self.head404.metadata['url'], + template_url=self.head404.metadata["url"], headers=_headers, params=_params, ) @@ -212,9 +177,7 @@ def head404( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -227,5 +190,4 @@ def head404( return cls(pipeline_response, None, {}) return 200 <= response.status_code <= 299 - head404.metadata = {'url': "/http/success/404"} # type: ignore - + head404.metadata = {"url": "/http/success/404"} # type: ignore diff --git a/docs/samples/specification/management/generated/azure/mgmt/sample/operations/_patch.py b/docs/samples/specification/management/generated/azure/mgmt/sample/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/management/generated/azure/mgmt/sample/operations/_patch.py +++ b/docs/samples/specification/management/generated/azure/mgmt/sample/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/management/generated/setup.py b/docs/samples/specification/management/generated/setup.py index 0dde265c181..f1ac2adef7b 100644 --- a/docs/samples/specification/management/generated/setup.py +++ b/docs/samples/specification/management/generated/setup.py @@ -26,5 +26,5 @@ ], long_description="""\ Test Infrastructure for AutoRest. - """ + """, ) diff --git a/docs/samples/specification/management/readme.md b/docs/samples/specification/management/readme.md index 1dc4ce21c78..6e4c25fa797 100644 --- a/docs/samples/specification/management/readme.md +++ b/docs/samples/specification/management/readme.md @@ -14,6 +14,7 @@ add-credential: true package-version: 0.1.0 basic-setup-py: true clear-output-folder: true +version-tolerant: false ``` diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_configuration.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_configuration.py index 388500d68ee..0770da0a6e4 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_configuration.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi-sample/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi-sample/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_multiapi_service_client.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_multiapi_service_client.py index 6a5c217b64a..e0a57b9c509 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_multiapi_service_client.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di Retry-After header is present. """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -54,12 +50,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_vendor.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_vendor.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_configuration.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_configuration.py index 28f6070f569..d947044417f 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_configuration.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi-sample/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi-sample/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_multiapi_service_client.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_multiapi_service_client.py index cf97b370d93..23caca4897c 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_multiapi_service_client.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -39,10 +40,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -55,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_vendor.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_vendor.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_multiapi_service_client_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_multiapi_service_client_operations.py index 6e2860e69dd..4fac2add56c 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_multiapi_service_client_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod @@ -22,19 +28,22 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_lro_and_paging_request, build_test_lro_request, build_test_one_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_lro_and_paging_request, + build_test_lro_request, + build_test_one_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async async def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -47,23 +56,20 @@ async def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -71,9 +77,7 @@ async def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -86,24 +90,19 @@ async def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore async def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -112,7 +111,7 @@ async def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -120,7 +119,7 @@ async def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -128,9 +127,7 @@ async def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -142,23 +139,18 @@ async def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload async def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -183,11 +175,7 @@ async def begin_test_lro( @overload async def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -210,12 +198,9 @@ async def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -240,51 +225,44 @@ async def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore async def _test_lro_and_paging_initial( self, @@ -292,15 +270,13 @@ async def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -312,7 +288,7 @@ async def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -320,9 +296,7 @@ async def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -331,15 +305,14 @@ async def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def begin_test_lro_and_paging( @@ -372,12 +345,11 @@ async def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -385,12 +357,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -403,7 +375,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -428,9 +400,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -440,23 +410,19 @@ async def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): async def internal_get_next(next_link=None): @@ -464,36 +430,28 @@ async def internal_get_next(next_link=None): return pipeline_response return await get_next(next_link) - return AsyncItemPaged( - internal_get_next, extract_data - ) + return AsyncItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -504,22 +462,19 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -527,9 +482,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -542,5 +495,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_operation_group_one_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_operation_group_one_operations.py index 42311c29e08..b6d4c8e2926 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_operation_group_one_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,12 +50,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -55,21 +59,18 @@ async def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -77,9 +78,7 @@ async def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -92,5 +91,4 @@ async def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/__init__.py index 134ebf1ea8f..ee955d7ee76 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/__init__.py @@ -13,11 +13,12 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', - 'TestLroAndPagingOptions', + "Error", + "PagingResult", + "Product", + "TestLroAndPagingOptions", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/_models_py3.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/_models_py3.py index dda86057d06..3c05b2e0e80 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/_models_py3.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~azure.multiapi.sample.v1.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int @@ -116,13 +99,7 @@ class TestLroAndPagingOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_multiapi_service_client_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_multiapi_service_client_operations.py index aba60c27250..2edb0f75d7f 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_multiapi_service_client_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -22,138 +28,99 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_lro_request( - **kwargs: Any -) -> HttpRequest: +def build_test_lro_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lro") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, headers=_headers, **kwargs) def build_test_lro_and_paging_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lroAndPaging") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, headers=_headers, **kwargs) -def build_test_different_calls_request( - *, - greeting_in_english: str, - **kwargs: Any -) -> HttpRequest: +def build_test_different_calls_request(*, greeting_in_english: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -166,23 +133,20 @@ def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -190,9 +154,7 @@ def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -205,24 +167,19 @@ def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -231,7 +188,7 @@ def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -239,7 +196,7 @@ def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -247,9 +204,7 @@ def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -261,23 +216,18 @@ def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -301,11 +251,7 @@ def begin_test_lro( @overload def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -327,12 +273,9 @@ def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -356,51 +299,44 @@ def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore def _test_lro_and_paging_initial( self, @@ -408,15 +344,13 @@ def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -428,7 +362,7 @@ def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -436,9 +370,7 @@ def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -447,15 +379,14 @@ def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def begin_test_lro_and_paging( @@ -488,12 +419,11 @@ def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -501,12 +431,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -519,7 +449,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -544,9 +474,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -556,23 +484,19 @@ def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): def internal_get_next(next_link=None): @@ -580,36 +504,28 @@ def internal_get_next(next_link=None): return pipeline_response return get_next(next_link) - return ItemPaged( - internal_get_next, extract_data - ) + return ItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -620,22 +536,19 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -643,9 +556,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -658,5 +569,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_operation_group_one_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_operation_group_one_operations.py index e4018796925..4525b4a9f92 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_operation_group_one_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,38 +25,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -71,12 +71,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -84,21 +80,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -106,9 +99,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -121,5 +112,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v1/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_configuration.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_configuration.py index 5307829d9a2..cf828411179 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_configuration.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi-sample/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi-sample/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_multiapi_service_client.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_multiapi_service_client.py index 6cb5c3b1f09..80bc6d7e9a3 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_multiapi_service_client.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_vendor.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_vendor.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_configuration.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_configuration.py index eb0e2c8210e..2ac6816f367 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_configuration.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi-sample/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi-sample/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_multiapi_service_client.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_multiapi_service_client.py index a6c49937095..d8ce110b545 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_multiapi_service_client.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -40,10 +41,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -59,12 +57,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_vendor.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_vendor.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_multiapi_service_client_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_multiapi_service_client_operations.py index 4a8e606fdd7..a89166cbe8a 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_multiapi_service_client_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,18 +26,14 @@ from ..._vendor import _convert_request from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_one_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async - async def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + async def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -43,23 +45,20 @@ async def test_one( :rtype: ~azure.multiapi.sample.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -67,9 +66,7 @@ async def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -79,22 +76,18 @@ async def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -107,23 +100,20 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -131,9 +121,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -146,5 +134,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_operation_group_one_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_operation_group_one_operations.py index d7106853c12..e4f41b86ca2 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_operation_group_one_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_three_request, build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,14 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -66,11 +69,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -85,12 +84,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -105,17 +101,15 @@ async def test_two( :rtype: ~azure.multiapi.sample.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -124,7 +118,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -133,7 +127,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +135,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -153,21 +145,17 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace_async - async def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -175,21 +163,18 @@ async def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -197,9 +182,7 @@ async def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,5 +195,4 @@ async def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_operation_group_two_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_operation_group_two_operations.py index 1564a369318..b66bdbc58db 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_operation_group_two_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -42,12 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any + self, parameter_one: bool, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -58,22 +63,19 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -81,9 +83,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -96,5 +96,4 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/__init__.py index 8a114791bc4..94ee92cd4eb 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/__init__.py @@ -11,9 +11,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelTwo', + "Error", + "ModelTwo", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/_models_py3.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/_models_py3.py index 98011f2aa4e..128cec341f5 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/_models_py3.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -56,7 +50,7 @@ class ModelTwo(_serialization.Model): """ _validation = { - 'id': {'required': True}, + "id": {"required": True}, } _attribute_map = { @@ -64,13 +58,7 @@ class ModelTwo(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - id: int, # pylint: disable=redefined-builtin - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, id: int, message: Optional[str] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: Required. :paramtype id: int diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_multiapi_service_client_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_multiapi_service_client_operations.py index c5d10b4ac4a..106cfce1971 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_multiapi_service_client_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,87 +25,63 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) def build_test_different_calls_request( - *, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + *, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -111,23 +93,20 @@ def test_one( :rtype: ~azure.multiapi.sample.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -135,9 +114,7 @@ def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -147,22 +124,18 @@ def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -175,23 +148,20 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -199,9 +169,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -214,5 +182,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_operation_group_one_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_operation_group_one_operations.py index 561553c0275..ede11a94b7d 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_operation_group_one_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_three_request( - **kwargs: Any -) -> HttpRequest: +def build_test_three_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testThreeEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -125,11 +112,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -144,13 +127,8 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace - def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_two(self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. :param parameter_one: A ModelTwo parameter. Is either a model type or a IO type. Default value @@ -164,17 +142,15 @@ def test_two( :rtype: ~azure.multiapi.sample.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -183,7 +159,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -192,7 +168,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +176,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,21 +186,17 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace - def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -234,21 +204,18 @@ def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -256,9 +223,7 @@ def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -271,5 +236,4 @@ def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_operation_group_two_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_operation_group_two_operations.py index 3ac006d9a86..69c3a8e9abb 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_operation_group_two_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,33 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - *, - parameter_one: bool, - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(*, parameter_one: bool, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['parameterOne'] = _SERIALIZER.query("parameter_one", parameter_one, 'bool') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["parameterOne"] = _SERIALIZER.query("parameter_one", parameter_one, "bool") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -74,13 +72,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any - ) -> None: + def test_four(self, parameter_one: bool, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFour should be in OperationGroupTwoOperations. :param parameter_one: A boolean parameter. Required. @@ -90,22 +83,19 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -113,9 +103,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -128,5 +116,4 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v2/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_configuration.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_configuration.py index 3382ad62199..aba3e952bab 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_configuration.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi-sample/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi-sample/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_multiapi_service_client.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_multiapi_service_client.py index 32239b76772..2b7ef066b3a 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_multiapi_service_client.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_vendor.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_vendor.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_configuration.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_configuration.py index 06d4ad2007e..73f9439a380 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_configuration.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi-sample/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi-sample/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_multiapi_service_client.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_multiapi_service_client.py index 92112f7ea7a..07fa879715d 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_multiapi_service_client.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -40,10 +41,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -59,12 +57,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_vendor.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_vendor.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_multiapi_service_client_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_multiapi_service_client_operations.py index ff15eabcbe7..43791b41dcc 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_multiapi_service_client_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,18 +26,19 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_paging_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_paging_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> AsyncIterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> AsyncIterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -42,17 +49,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -60,7 +66,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -82,9 +88,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -94,11 +98,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -121,24 +123,21 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -146,9 +145,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -161,5 +158,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_operation_group_one_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_operation_group_one_operations.py index dc7da480048..3390a2b4092 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_operation_group_one_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,7 +50,6 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( self, @@ -66,11 +73,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -85,12 +88,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -105,17 +105,15 @@ async def test_two( :rtype: ~azure.multiapi.sample.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -124,7 +122,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -133,7 +131,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +139,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -153,12 +149,11 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_operation_group_two_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_operation_group_two_operations.py index e238045a619..3eeb4f48dca 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_operation_group_two_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_five_request, build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -42,14 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -66,11 +69,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -86,12 +85,9 @@ async def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -105,17 +101,15 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -123,7 +117,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -133,7 +127,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +135,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -156,14 +148,10 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace_async - async def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -171,21 +159,18 @@ async def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -193,9 +178,7 @@ async def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -208,5 +191,4 @@ async def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/__init__.py index 5fdae05688a..0e34072c503 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/__init__.py @@ -15,12 +15,13 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelThree', - 'PagingResult', - 'SourcePath', - 'ContentType', + "Error", + "ModelThree", + "PagingResult", + "SourcePath", + "ContentType", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_models_py3.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_models_py3.py index dffa4fe906a..9e264db806d 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_models_py3.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -55,12 +49,7 @@ class ModelThree(_serialization.Model): "optional_property": {"key": "optionalProperty", "type": "str"}, } - def __init__( - self, - *, - optional_property: Optional[str] = None, - **kwargs - ): + def __init__(self, *, optional_property: Optional[str] = None, **kwargs): """ :keyword optional_property: :paramtype optional_property: str @@ -84,11 +73,7 @@ class PagingResult(_serialization.Model): } def __init__( - self, - *, - values: Optional[List["_models.ModelThree"]] = None, - next_link: Optional[str] = None, - **kwargs + self, *, values: Optional[List["_models.ModelThree"]] = None, next_link: Optional[str] = None, **kwargs ): """ :keyword values: @@ -109,19 +94,14 @@ class SourcePath(_serialization.Model): """ _validation = { - 'source': {'max_length': 2048}, + "source": {"max_length": 2048}, } _attribute_map = { "source": {"key": "source", "type": "str"}, } - def __init__( - self, - *, - source: Optional[str] = None, - **kwargs - ): + def __init__(self, *, source: Optional[str] = None, **kwargs): """ :keyword source: File source path. :paramtype source: str diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_multiapi_service_client_enums.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_multiapi_service_client_enums.py index e1cacc66105..a60e2b8579a 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_multiapi_service_client_enums.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_multiapi_service_client_enums.py @@ -11,8 +11,7 @@ class ContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Content type for upload. - """ + """Content type for upload.""" #: Content Type 'application/pdf' APPLICATION_PDF = "application/pdf" diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/__init__.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/__init__.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_multiapi_service_client_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_multiapi_service_client_operations.py index cee2ae7e9f6..a77052584d2 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_multiapi_service_client_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Iterable, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -20,32 +26,26 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_paging_request( - **kwargs: Any -) -> HttpRequest: +def build_test_paging_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/paging") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) def build_test_different_calls_request( @@ -58,38 +58,29 @@ def build_test_different_calls_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") if greeting_in_french is not None: - _headers['greetingInFrench'] = _SERIALIZER.header("greeting_in_french", greeting_in_french, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInFrench"] = _SERIALIZER.header("greeting_in_french", greeting_in_french, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> Iterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> Iterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -100,17 +91,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -118,7 +108,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -140,9 +130,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -152,11 +140,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -179,24 +165,21 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -204,9 +187,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -219,5 +200,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_operation_group_one_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_operation_group_one_operations.py index 10ce50cdf5f..7519c6619a6 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_operation_group_one_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,35 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -74,7 +74,6 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( self, @@ -98,11 +97,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -117,12 +112,9 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -137,17 +129,15 @@ def test_two( :rtype: ~azure.multiapi.sample.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -156,7 +146,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -165,7 +155,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -173,9 +163,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -185,12 +173,11 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_operation_group_two_operations.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_operation_group_two_operations.py index cc6f93bfa5b..9bcb2376f74 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_operation_group_two_operations.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_five_request( - **kwargs: Any -) -> HttpRequest: +def build_test_five_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFiveEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -125,11 +112,7 @@ def test_four( # pylint: disable=inconsistent-return-statements @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -145,12 +128,9 @@ def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -164,17 +144,15 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -182,7 +160,7 @@ def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -192,7 +170,7 @@ def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +178,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -215,14 +191,10 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace - def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -230,21 +202,18 @@ def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -252,9 +221,7 @@ def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -267,5 +234,4 @@ def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_patch.py b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_patch.py +++ b/docs/samples/specification/multiapi/generated/azure/multiapi/sample/v3/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/docs/samples/specification/multiapi/readme.md b/docs/samples/specification/multiapi/readme.md index 3c254deb03f..a33993a1442 100644 --- a/docs/samples/specification/multiapi/readme.md +++ b/docs/samples/specification/multiapi/readme.md @@ -12,6 +12,7 @@ no-namespace-folders: true license-header: MICROSOFT_MIT_NO_VERSION azure-arm: true add-credential: true +version-tolerant: false ``` ### Multi API Generation diff --git a/tasks.py b/tasks.py index ed40d31c4a2..424e66f53ca 100644 --- a/tasks.py +++ b/tasks.py @@ -234,10 +234,10 @@ def _build_flags( override_flags["low-level-client"] = True namespace += "lowlevel" elif generator == _Generator.VERSION_TOLERANT: - override_flags["version-tolerant"] = True namespace += "versiontolerant" else: override_flags["payload-flattening-threshold"] = 1 + override_flags["version-tolerant"] = False flags = { "use": AUTOREST_DIR, diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/__init__.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/__init__.py index 26961171c03..740fa747a4b 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/__init__.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/__init__.py @@ -17,7 +17,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['AutoRestPagingTestService'] + +__all__ = ["AutoRestPagingTestService"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_auto_rest_paging_test_service.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_auto_rest_paging_test_service.py index 5711bd75f7f..de9fbd1dd79 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_auto_rest_paging_test_service.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_auto_rest_paging_test_service.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class AutoRestPagingTestService: # pylint: disable=client-accepts-api-version-keyword """Long-running Operation for AutoRest. @@ -34,12 +35,7 @@ class AutoRestPagingTestService: # pylint: disable=client-accepts-api-version-k Retry-After header is present. """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = AutoRestPagingTestServiceConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -47,16 +43,9 @@ def __init__( self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - self.paging = PagingOperations( - self._client, self._config, self._serialize, self._deserialize - ) - + self.paging = PagingOperations(self._client, self._config, self._serialize, self._deserialize) - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_configuration.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_configuration.py index f2910b8e452..f77ec997826 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_configuration.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_configuration.py @@ -29,33 +29,30 @@ class AutoRestPagingTestServiceConfiguration(Configuration): # pylint: disable= :type credential: ~azure.core.credentials.TokenCredential """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(AutoRestPagingTestServiceConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'custompollerpager/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "custompollerpager/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_patch.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_patch.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_serialization.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_serialization.py index a8b19965491..7daa7a447db 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_serialization.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_serialization.py @@ -37,6 +37,7 @@ import re import sys import codecs + try: from urllib import quote # type: ignore except ImportError: @@ -49,15 +50,16 @@ from azure.core.exceptions import DeserializationError, SerializationError, raise_with_traceback -_BOM = codecs.BOM_UTF8.decode(encoding='utf-8') +_BOM = codecs.BOM_UTF8.decode(encoding="utf-8") if TYPE_CHECKING: from typing import Optional, Union, AnyStr, IO, Mapping + class RawDeserializer: # Accept "text" because we're open minded people... - JSON_REGEXP = re.compile(r'^(application|text)/([a-z+.]+\+)?json$') + JSON_REGEXP = re.compile(r"^(application|text)/([a-z+.]+\+)?json$") # Name used in context CONTEXT_NAME = "deserialized_data" @@ -75,12 +77,12 @@ def deserialize_from_text(cls, data, content_type=None): :type data: str or bytes or IO :param str content_type: The content type. """ - if hasattr(data, 'read'): + if hasattr(data, "read"): # Assume a stream data = cast(IO, data).read() if isinstance(data, bytes): - data_as_str = data.decode(encoding='utf-8-sig') + data_as_str = data.decode(encoding="utf-8-sig") else: # Explain to mypy the correct type. data_as_str = cast(str, data) @@ -116,7 +118,8 @@ def _json_attemp(data): try: return True, json.loads(data) except ValueError: - return False, None # Don't care about this one + return False, None # Don't care about this one + success, json_result = _json_attemp(data) if success: return json_result @@ -139,8 +142,8 @@ def deserialize_from_http_generics(cls, body_bytes, headers): """ # Try to use content-type from headers if available content_type = None - if 'content-type' in headers: - content_type = headers['content-type'].split(";")[0].strip().lower() + if "content-type" in headers: + content_type = headers["content-type"].split(";")[0].strip().lower() # Ouch, this server did not declare what it sent... # Let's guess it's JSON... # Also, since Autorest was considering that an empty body was a valid JSON, @@ -152,6 +155,7 @@ def deserialize_from_http_generics(cls, body_bytes, headers): return cls.deserialize_from_text(body_bytes, content_type) return None + try: basestring # type: ignore unicode_str = unicode # type: ignore @@ -162,10 +166,11 @@ def deserialize_from_http_generics(cls, body_bytes, headers): _LOGGER = logging.getLogger(__name__) try: - _long_type = long # type: ignore + _long_type = long # type: ignore except NameError: _long_type = int + class UTC(datetime.tzinfo): """Time Zone info for handling UTC""" @@ -181,9 +186,11 @@ def dst(self, dt): """No daylight saving for UTC.""" return datetime.timedelta(hours=1) + try: from datetime import timezone as _FixedOffset except ImportError: # Python 2.7 + class _FixedOffset(datetime.tzinfo): # type: ignore """Fixed offset in minutes east from UTC. Copy/pasted from Python doc @@ -197,7 +204,7 @@ def utcoffset(self, dt): return self.__offset def tzname(self, dt): - return str(self.__offset.total_seconds()/3600) + return str(self.__offset.total_seconds() / 3600) def __repr__(self): return "".format(self.tzname(None)) @@ -208,14 +215,17 @@ def dst(self, dt): def __getinitargs__(self): return (self.__offset,) + try: from datetime import timezone + TZ_UTC = timezone.utc # type: ignore except ImportError: TZ_UTC = UTC() # type: ignore _FLATTEN = re.compile(r"(? y, @@ -502,25 +518,25 @@ class Serializer(object): "max_items": lambda x, y: len(x) > y, "pattern": lambda x, y: not re.match(y, x, re.UNICODE), "unique": lambda x, y: len(x) != len(set(x)), - "multiple": lambda x, y: x % y != 0 - } + "multiple": lambda x, y: x % y != 0, + } def __init__(self, classes=None): self.serialize_type = { - 'iso-8601': Serializer.serialize_iso, - 'rfc-1123': Serializer.serialize_rfc, - 'unix-time': Serializer.serialize_unix, - 'duration': Serializer.serialize_duration, - 'date': Serializer.serialize_date, - 'time': Serializer.serialize_time, - 'decimal': Serializer.serialize_decimal, - 'long': Serializer.serialize_long, - 'bytearray': Serializer.serialize_bytearray, - 'base64': Serializer.serialize_base64, - 'object': self.serialize_object, - '[]': self.serialize_iter, - '{}': self.serialize_dict - } + "iso-8601": Serializer.serialize_iso, + "rfc-1123": Serializer.serialize_rfc, + "unix-time": Serializer.serialize_unix, + "duration": Serializer.serialize_duration, + "date": Serializer.serialize_date, + "time": Serializer.serialize_time, + "decimal": Serializer.serialize_decimal, + "long": Serializer.serialize_long, + "bytearray": Serializer.serialize_bytearray, + "base64": Serializer.serialize_base64, + "object": self.serialize_object, + "[]": self.serialize_iter, + "{}": self.serialize_dict, + } self.dependencies = dict(classes) if classes else {} self.key_transformer = full_restapi_key_transformer self.client_side_validation = True @@ -542,14 +558,12 @@ def _serialize(self, target_obj, data_type=None, **kwargs): class_name = target_obj.__class__.__name__ if data_type: - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) if not hasattr(target_obj, "_attribute_map"): data_type = type(target_obj).__name__ if data_type in self.basic_types.values(): - return self.serialize_data( - target_obj, data_type, **kwargs) + return self.serialize_data(target_obj, data_type, **kwargs) # Force "is_xml" kwargs if we detect a XML model try: @@ -564,10 +578,10 @@ def _serialize(self, target_obj, data_type=None, **kwargs): attributes = target_obj._attribute_map for attr, attr_desc in attributes.items(): attr_name = attr - if not keep_readonly and target_obj._validation.get(attr_name, {}).get('readonly', False): + if not keep_readonly and target_obj._validation.get(attr_name, {}).get("readonly", False): continue - if attr_name == "additional_properties" and attr_desc["key"] == '': + if attr_name == "additional_properties" and attr_desc["key"] == "": if target_obj.additional_properties is not None: serialized.update(target_obj.additional_properties) continue @@ -575,21 +589,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): orig_attr = getattr(target_obj, attr) if is_xml_model_serialization: - pass # Don't provide "transformer" for XML for now. Keep "orig_attr" - else: # JSON + pass # Don't provide "transformer" for XML for now. Keep "orig_attr" + else: # JSON keys, orig_attr = key_transformer(attr, attr_desc.copy(), orig_attr) keys = keys if isinstance(keys, list) else [keys] - kwargs["serialization_ctxt"] = attr_desc - new_attr = self.serialize_data(orig_attr, attr_desc['type'], **kwargs) - + new_attr = self.serialize_data(orig_attr, attr_desc["type"], **kwargs) if is_xml_model_serialization: - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) - xml_prefix = xml_desc.get('prefix', None) - xml_ns = xml_desc.get('ns', None) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) + xml_prefix = xml_desc.get("prefix", None) + xml_ns = xml_desc.get("ns", None) if xml_desc.get("attr", False): if xml_ns: ET.register_namespace(xml_prefix, xml_ns) @@ -603,23 +615,19 @@ def _serialize(self, target_obj, data_type=None, **kwargs): serialized.extend(new_attr) elif isinstance(new_attr, ET.Element): # If the down XML has no XML/Name, we MUST replace the tag with the local tag. But keeping the namespaces. - if 'name' not in getattr(orig_attr, '_xml_map', {}): + if "name" not in getattr(orig_attr, "_xml_map", {}): splitted_tag = new_attr.tag.split("}") - if len(splitted_tag) == 2: # Namespace + if len(splitted_tag) == 2: # Namespace new_attr.tag = "}".join([splitted_tag[0], xml_name]) else: new_attr.tag = xml_name serialized.append(new_attr) else: # That's a basic type # Integrate namespace if necessary - local_node = _create_xml_node( - xml_name, - xml_prefix, - xml_ns - ) + local_node = _create_xml_node(xml_name, xml_prefix, xml_ns) local_node.text = unicode_str(new_attr) serialized.append(local_node) - else: # JSON + else: # JSON for k in reversed(keys): unflattened = {k: new_attr} new_attr = unflattened @@ -635,8 +643,7 @@ def _serialize(self, target_obj, data_type=None, **kwargs): continue except (AttributeError, KeyError, TypeError) as err: - msg = "Attribute {} in object {} cannot be serialized.\n{}".format( - attr_name, class_name, str(target_obj)) + msg = "Attribute {} in object {} cannot be serialized.\n{}".format(attr_name, class_name, str(target_obj)) raise_with_traceback(SerializationError, msg, err) else: return serialized @@ -652,7 +659,7 @@ def body(self, data, data_type, **kwargs): """ # Just in case this is a dict - internal_data_type = data_type.strip('[]{}') + internal_data_type = data_type.strip("[]{}") internal_data_type = self.dependencies.get(internal_data_type, None) try: is_xml_model_serialization = kwargs["is_xml"] @@ -675,12 +682,11 @@ def body(self, data, data_type, **kwargs): deserializer.key_extractors = [ rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor, - last_rest_key_case_insensitive_extractor + last_rest_key_case_insensitive_extractor, ] data = deserializer._deserialize(data_type, data) except DeserializationError as err: - raise_with_traceback( - SerializationError, "Unable to build a model: "+str(err), err) + raise_with_traceback(SerializationError, "Unable to build a model: " + str(err), err) return self._serialize(data, data_type, **kwargs) @@ -695,13 +701,13 @@ def url(self, name, data, data_type, **kwargs): """ try: output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -720,27 +726,19 @@ def query(self, name, data, data_type, **kwargs): # Treat the list aside, since we don't want to encode the div separator if data_type.startswith("["): internal_data_type = data_type[1:-1] - data = [ - self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" - for d - in data - ] - if not kwargs.get('skip_quote', False): - data = [ - quote(str(d), safe='') - for d - in data - ] + data = [self.serialize_data(d, internal_data_type, **kwargs) if d is not None else "" for d in data] + if not kwargs.get("skip_quote", False): + data = [quote(str(d), safe="") for d in data] return str(self.serialize_iter(data, internal_data_type, **kwargs)) # Not a list, regular serialization output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) - if kwargs.get('skip_quote') is True: + if kwargs.get("skip_quote") is True: output = str(output) else: - output = quote(str(output), safe='') + output = quote(str(output), safe="") except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) else: @@ -756,11 +754,11 @@ def header(self, name, data, data_type, **kwargs): :raises: ValueError if data is None """ try: - if data_type in ['[str]']: + if data_type in ["[str]"]: data = ["" if d is None else d for d in data] output = self.serialize_data(data, data_type, **kwargs) - if data_type == 'bool': + if data_type == "bool": output = json.dumps(output) except SerializationError: raise TypeError("{} must be type {}.".format(name, data_type)) @@ -796,13 +794,11 @@ def serialize_data(self, data, data_type, **kwargs): iter_type = data_type[0] + data_type[-1] if iter_type in self.serialize_type: - return self.serialize_type[iter_type]( - data, data_type[1:-1], **kwargs) + return self.serialize_type[iter_type](data, data_type[1:-1], **kwargs) except (ValueError, TypeError) as err: msg = "Unable to serialize value: {!r} as type: {!r}." - raise_with_traceback( - SerializationError, msg.format(data, data_type), err) + raise_with_traceback(SerializationError, msg.format(data, data_type), err) else: return self._serialize(data, **kwargs) @@ -829,7 +825,7 @@ def serialize_basic(cls, data, data_type, **kwargs): custom_serializer = cls._get_custom_serializers(data_type, **kwargs) if custom_serializer: return custom_serializer(data) - if data_type == 'str': + if data_type == "str": return cls.serialize_unicode(data) return eval(data_type)(data) @@ -886,25 +882,21 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): serialized.append(None) if div: - serialized = ['' if s is None else str(s) for s in serialized] + serialized = ["" if s is None else str(s) for s in serialized] serialized = div.join(serialized) - if 'xml' in serialization_ctxt or is_xml: + if "xml" in serialization_ctxt or is_xml: # XML serialization is more complicated - xml_desc = serialization_ctxt.get('xml', {}) - xml_name = xml_desc.get('name') + xml_desc = serialization_ctxt.get("xml", {}) + xml_name = xml_desc.get("name") if not xml_name: - xml_name = serialization_ctxt['key'] + xml_name = serialization_ctxt["key"] # Create a wrap node if necessary (use the fact that Element and list have "append") is_wrapped = xml_desc.get("wrapped", False) node_name = xml_desc.get("itemsName", xml_name) if is_wrapped: - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) else: final_result = [] # All list elements to "local_node" @@ -912,11 +904,7 @@ def serialize_iter(self, data, iter_type, div=None, **kwargs): if isinstance(el, ET.Element): el_node = el else: - el_node = _create_xml_node( - node_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + el_node = _create_xml_node(node_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) if el is not None: # Otherwise it writes "None" :-p el_node.text = str(el) final_result.append(el_node) @@ -936,21 +924,16 @@ def serialize_dict(self, attr, dict_type, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_data( - value, dict_type, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_data(value, dict_type, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None - if 'xml' in serialization_ctxt: + if "xml" in serialization_ctxt: # XML serialization is more complicated - xml_desc = serialization_ctxt['xml'] - xml_name = xml_desc['name'] + xml_desc = serialization_ctxt["xml"] + xml_name = xml_desc["name"] - final_result = _create_xml_node( - xml_name, - xml_desc.get('prefix', None), - xml_desc.get('ns', None) - ) + final_result = _create_xml_node(xml_name, xml_desc.get("prefix", None), xml_desc.get("ns", None)) for key, value in serialized.items(): ET.SubElement(final_result, key).text = value return final_result @@ -996,8 +979,7 @@ def serialize_object(self, attr, **kwargs): serialized = {} for key, value in attr.items(): try: - serialized[self.serialize_unicode(key)] = self.serialize_object( - value, **kwargs) + serialized[self.serialize_unicode(key)] = self.serialize_object(value, **kwargs) except ValueError: serialized[self.serialize_unicode(key)] = None return serialized @@ -1006,8 +988,7 @@ def serialize_object(self, attr, **kwargs): serialized = [] for obj in attr: try: - serialized.append(self.serialize_object( - obj, **kwargs)) + serialized.append(self.serialize_object(obj, **kwargs)) except ValueError: pass return serialized @@ -1045,8 +1026,8 @@ def serialize_base64(attr, **kwargs): :param attr: Object to be serialized. :rtype: str """ - encoded = b64encode(attr).decode('ascii') - return encoded.strip('=').replace('+', '-').replace('/', '_') + encoded = b64encode(attr).decode("ascii") + return encoded.strip("=").replace("+", "-").replace("/", "_") @staticmethod def serialize_decimal(attr, **kwargs): @@ -1113,16 +1094,20 @@ def serialize_rfc(attr, **kwargs): """ try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() except AttributeError: raise TypeError("RFC1123 object must be valid Datetime object.") return "{}, {:02} {} {:04} {:02}:{:02}:{:02} GMT".format( - Serializer.days[utc.tm_wday], utc.tm_mday, - Serializer.months[utc.tm_mon], utc.tm_year, - utc.tm_hour, utc.tm_min, utc.tm_sec) + Serializer.days[utc.tm_wday], + utc.tm_mday, + Serializer.months[utc.tm_mon], + utc.tm_year, + utc.tm_hour, + utc.tm_min, + utc.tm_sec, + ) @staticmethod def serialize_iso(attr, **kwargs): @@ -1136,19 +1121,18 @@ def serialize_iso(attr, **kwargs): attr = isodate.parse_datetime(attr) try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") utc = attr.utctimetuple() if utc.tm_year > 9999 or utc.tm_year < 1: raise OverflowError("Hit max or min date") - microseconds = str(attr.microsecond).rjust(6,'0').rstrip('0').ljust(3, '0') + microseconds = str(attr.microsecond).rjust(6, "0").rstrip("0").ljust(3, "0") if microseconds: - microseconds = '.'+microseconds + microseconds = "." + microseconds date = "{:04}-{:02}-{:02}T{:02}:{:02}:{:02}".format( - utc.tm_year, utc.tm_mon, utc.tm_mday, - utc.tm_hour, utc.tm_min, utc.tm_sec) - return date + microseconds + 'Z' + utc.tm_year, utc.tm_mon, utc.tm_mday, utc.tm_hour, utc.tm_min, utc.tm_sec + ) + return date + microseconds + "Z" except (ValueError, OverflowError) as err: msg = "Unable to serialize datetime object." raise_with_traceback(SerializationError, msg, err) @@ -1169,17 +1153,17 @@ def serialize_unix(attr, **kwargs): return attr try: if not attr.tzinfo: - _LOGGER.warning( - "Datetime with no tzinfo will be considered UTC.") + _LOGGER.warning("Datetime with no tzinfo will be considered UTC.") return int(calendar.timegm(attr.utctimetuple())) except AttributeError: raise TypeError("Unix time object must be valid Datetime object.") + def rest_key_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1191,15 +1175,16 @@ def rest_key_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) return working_data.get(key) + def rest_key_case_insensitive_extractor(attr, attr_desc, data): - key = attr_desc['key'] + key = attr_desc["key"] working_data = data - while '.' in key: + while "." in key: dict_keys = _FLATTEN.split(key) if len(dict_keys) == 1: key = _decode_attribute_map_key(dict_keys[0]) @@ -1211,30 +1196,33 @@ def rest_key_case_insensitive_extractor(attr, attr_desc, data): # that all properties under are None as well # https://github.com/Azure/msrest-for-python/issues/197 return None - key = '.'.join(dict_keys[1:]) + key = ".".join(dict_keys[1:]) if working_data: return attribute_key_case_insensitive_extractor(key, None, working_data) + def last_rest_key_extractor(attr, attr_desc, data): - """Extract the attribute in "data" based on the last part of the JSON path key. - """ - key = attr_desc['key'] + """Extract the attribute in "data" based on the last part of the JSON path key.""" + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_extractor(dict_keys[-1], None, data) + def last_rest_key_case_insensitive_extractor(attr, attr_desc, data): """Extract the attribute in "data" based on the last part of the JSON path key. This is the case insensitive version of "last_rest_key_extractor" """ - key = attr_desc['key'] + key = attr_desc["key"] dict_keys = _FLATTEN.split(key) return attribute_key_case_insensitive_extractor(dict_keys[-1], None, data) + def attribute_key_extractor(attr, _, data): return data.get(attr) + def attribute_key_case_insensitive_extractor(attr, _, data): found_key = None lower_attr = attr.lower() @@ -1245,6 +1233,7 @@ def attribute_key_case_insensitive_extractor(attr, _, data): return data.get(found_key) + def _extract_name_from_internal_type(internal_type): """Given an internal type XML description, extract correct XML name with namespace. @@ -1253,7 +1242,7 @@ def _extract_name_from_internal_type(internal_type): :returns: A tuple XML name + namespace dict """ internal_type_xml_map = getattr(internal_type, "_xml_map", {}) - xml_name = internal_type_xml_map.get('name', internal_type.__name__) + xml_name = internal_type_xml_map.get("name", internal_type.__name__) xml_ns = internal_type_xml_map.get("ns", None) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1268,17 +1257,17 @@ def xml_key_extractor(attr, attr_desc, data): if not isinstance(data, ET.Element): return None - xml_desc = attr_desc.get('xml', {}) - xml_name = xml_desc.get('name', attr_desc['key']) + xml_desc = attr_desc.get("xml", {}) + xml_name = xml_desc.get("name", attr_desc["key"]) # Look for a children - is_iter_type = attr_desc['type'].startswith("[") + is_iter_type = attr_desc["type"].startswith("[") is_wrapped = xml_desc.get("wrapped", False) internal_type = attr_desc.get("internalType", None) internal_type_xml_map = getattr(internal_type, "_xml_map", {}) # Integrate namespace if necessary - xml_ns = xml_desc.get('ns', internal_type_xml_map.get("ns", None)) + xml_ns = xml_desc.get("ns", internal_type_xml_map.get("ns", None)) if xml_ns: xml_name = "{}{}".format(xml_ns, xml_name) @@ -1294,15 +1283,15 @@ def xml_key_extractor(attr, attr_desc, data): # - Wrapped node # - Internal type is an enum (considered basic types) # - Internal type has no XML/Name node - if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or 'name' not in internal_type_xml_map)): + if is_wrapped or (internal_type and (issubclass(internal_type, Enum) or "name" not in internal_type_xml_map)): children = data.findall(xml_name) # If internal type has a local name and it's not a list, I use that name - elif not is_iter_type and internal_type and 'name' in internal_type_xml_map: + elif not is_iter_type and internal_type and "name" in internal_type_xml_map: xml_name = _extract_name_from_internal_type(internal_type) children = data.findall(xml_name) # That's an array else: - if internal_type: # Complex type, ignore itemsName and use the complex type name + if internal_type: # Complex type, ignore itemsName and use the complex type name items_name = _extract_name_from_internal_type(internal_type) else: items_name = xml_desc.get("itemsName", xml_name) @@ -1311,21 +1300,22 @@ def xml_key_extractor(attr, attr_desc, data): if len(children) == 0: if is_iter_type: if is_wrapped: - return None # is_wrapped no node, we want None + return None # is_wrapped no node, we want None else: - return [] # not wrapped, assume empty list + return [] # not wrapped, assume empty list return None # Assume it's not there, maybe an optional node. # If is_iter_type and not wrapped, return all found children if is_iter_type: if not is_wrapped: return children - else: # Iter and wrapped, should have found one node only (the wrap one) + else: # Iter and wrapped, should have found one node only (the wrap one) if len(children) != 1: raise DeserializationError( "Tried to deserialize an array not wrapped, and found several nodes '{}'. Maybe you should declare this array as wrapped?".format( xml_name - )) + ) + ) return list(children[0]) # Might be empty list and that's ok. # Here it's not a itertype, we should have found one element only or empty @@ -1333,6 +1323,7 @@ def xml_key_extractor(attr, attr_desc, data): raise DeserializationError("Find several XML '{}' where it was not expected".format(xml_name)) return children[0] + class Deserializer(object): """Response object model deserializer. @@ -1340,37 +1331,32 @@ class Deserializer(object): :ivar list key_extractors: Ordered list of extractors to be used by this deserializer. """ - basic_types = {str: 'str', int: 'int', bool: 'bool', float: 'float'} + basic_types = {str: "str", int: "int", bool: "bool", float: "float"} - valid_date = re.compile( - r'\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}' - r'\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?') + valid_date = re.compile(r"\d{4}[-]\d{2}[-]\d{2}T\d{2}:\d{2}:\d{2}" r"\.?\d*Z?[-+]?[\d{2}]?:?[\d{2}]?") def __init__(self, classes=None): self.deserialize_type = { - 'iso-8601': Deserializer.deserialize_iso, - 'rfc-1123': Deserializer.deserialize_rfc, - 'unix-time': Deserializer.deserialize_unix, - 'duration': Deserializer.deserialize_duration, - 'date': Deserializer.deserialize_date, - 'time': Deserializer.deserialize_time, - 'decimal': Deserializer.deserialize_decimal, - 'long': Deserializer.deserialize_long, - 'bytearray': Deserializer.deserialize_bytearray, - 'base64': Deserializer.deserialize_base64, - 'object': self.deserialize_object, - '[]': self.deserialize_iter, - '{}': self.deserialize_dict - } + "iso-8601": Deserializer.deserialize_iso, + "rfc-1123": Deserializer.deserialize_rfc, + "unix-time": Deserializer.deserialize_unix, + "duration": Deserializer.deserialize_duration, + "date": Deserializer.deserialize_date, + "time": Deserializer.deserialize_time, + "decimal": Deserializer.deserialize_decimal, + "long": Deserializer.deserialize_long, + "bytearray": Deserializer.deserialize_bytearray, + "base64": Deserializer.deserialize_base64, + "object": self.deserialize_object, + "[]": self.deserialize_iter, + "{}": self.deserialize_dict, + } self.deserialize_expected_types = { - 'duration': (isodate.Duration, datetime.timedelta), - 'iso-8601': (datetime.datetime) + "duration": (isodate.Duration, datetime.timedelta), + "iso-8601": (datetime.datetime), } self.dependencies = dict(classes) if classes else {} - self.key_extractors = [ - rest_key_extractor, - xml_key_extractor - ] + self.key_extractors = [rest_key_extractor, xml_key_extractor] # Additional properties only works if the "rest_key_extractor" is used to # extract the keys. Making it to work whatever the key extractor is too much # complicated, with no real scenario for now. @@ -1403,8 +1389,7 @@ def _deserialize(self, target_obj, data): """ # This is already a model, go recursive just in case if hasattr(data, "_attribute_map"): - constants = [name for name, config in getattr(data, '_validation', {}).items() - if config.get('constant')] + constants = [name for name, config in getattr(data, "_validation", {}).items() if config.get("constant")] try: for attr, mapconfig in data._attribute_map.items(): if attr in constants: @@ -1412,15 +1397,11 @@ def _deserialize(self, target_obj, data): value = getattr(data, attr) if value is None: continue - local_type = mapconfig['type'] - internal_data_type = local_type.strip('[]{}') + local_type = mapconfig["type"] + internal_data_type = local_type.strip("[]{}") if internal_data_type not in self.dependencies or isinstance(internal_data_type, Enum): continue - setattr( - data, - attr, - self._deserialize(local_type, value) - ) + setattr(data, attr, self._deserialize(local_type, value)) return data except AttributeError: return @@ -1439,12 +1420,12 @@ def _deserialize(self, target_obj, data): d_attrs = {} for attr, attr_desc in attributes.items(): # Check empty string. If it's not empty, someone has a real "additionalProperties"... - if attr == "additional_properties" and attr_desc["key"] == '': + if attr == "additional_properties" and attr_desc["key"] == "": continue raw_value = None # Enhance attr_desc with some dynamic data - attr_desc = attr_desc.copy() # Do a copy, do not change the real one - internal_data_type = attr_desc["type"].strip('[]{}') + attr_desc = attr_desc.copy() # Do a copy, do not change the real one + internal_data_type = attr_desc["type"].strip("[]{}") if internal_data_type in self.dependencies: attr_desc["internalType"] = self.dependencies[internal_data_type] @@ -1452,18 +1433,15 @@ def _deserialize(self, target_obj, data): found_value = key_extractor(attr, attr_desc, data) if found_value is not None: if raw_value is not None and raw_value != found_value: - msg = ("Ignoring extracted value '%s' from %s for key '%s'" - " (duplicate extraction, follow extractors order)" ) - _LOGGER.warning( - msg, - found_value, - key_extractor, - attr + msg = ( + "Ignoring extracted value '%s' from %s for key '%s'" + " (duplicate extraction, follow extractors order)" ) + _LOGGER.warning(msg, found_value, key_extractor, attr) continue raw_value = found_value - value = self.deserialize_data(raw_value, attr_desc['type']) + value = self.deserialize_data(raw_value, attr_desc["type"]) d_attrs[attr] = value except (AttributeError, TypeError, KeyError) as err: msg = "Unable to deserialize to object: " + class_name @@ -1475,14 +1453,17 @@ def _deserialize(self, target_obj, data): def _build_additional_properties(self, attribute_map, data): if not self.additional_properties_detection: return None - if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != '': + if "additional_properties" in attribute_map and attribute_map.get("additional_properties", {}).get("key") != "": # Check empty string. If it's not empty, someone has a real "additionalProperties" return None if isinstance(data, ET.Element): data = {el.tag: el.text for el in data} - known_keys = {_decode_attribute_map_key(_FLATTEN.split(desc['key'])[0]) - for desc in attribute_map.values() if desc['key'] != ''} + known_keys = { + _decode_attribute_map_key(_FLATTEN.split(desc["key"])[0]) + for desc in attribute_map.values() + if desc["key"] != "" + } present_keys = set(data.keys()) missing_keys = present_keys - known_keys return {key: data[key] for key in missing_keys} @@ -1525,8 +1506,7 @@ def failsafe_deserialize(self, target_obj, data, content_type=None): return self(target_obj, data, content_type=content_type) except: _LOGGER.warning( - "Ran into a deserialization error. Ignoring since this is failsafe deserialization", - exc_info=True + "Ran into a deserialization error. Ignoring since this is failsafe deserialization", exc_info=True ) return None @@ -1554,21 +1534,15 @@ def _unpack_content(raw_data, content_type=None): return context[RawDeserializer.CONTEXT_NAME] raise ValueError("This pipeline didn't have the RawDeserializer policy; can't deserialize") - #Assume this is enough to recognize universal_http.ClientResponse without importing it + # Assume this is enough to recognize universal_http.ClientResponse without importing it if hasattr(raw_data, "body"): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text(), - raw_data.headers - ) + return RawDeserializer.deserialize_from_http_generics(raw_data.text(), raw_data.headers) # Assume this enough to recognize requests.Response without importing it. - if hasattr(raw_data, '_content_consumed'): - return RawDeserializer.deserialize_from_http_generics( - raw_data.text, - raw_data.headers - ) + if hasattr(raw_data, "_content_consumed"): + return RawDeserializer.deserialize_from_http_generics(raw_data.text, raw_data.headers) - if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, 'read'): + if isinstance(raw_data, (basestring, bytes)) or hasattr(raw_data, "read"): return RawDeserializer.deserialize_from_text(raw_data, content_type) return raw_data @@ -1579,14 +1553,11 @@ def _instantiate_model(self, response, attrs, additional_properties=None): :param d_attrs: The deserialized response attributes. """ if callable(response): - subtype = getattr(response, '_subtype_map', {}) + subtype = getattr(response, "_subtype_map", {}) try: - readonly = [k for k, v in response._validation.items() - if v.get('readonly')] - const = [k for k, v in response._validation.items() - if v.get('constant')] - kwargs = {k: v for k, v in attrs.items() - if k not in subtype and k not in readonly + const} + readonly = [k for k, v in response._validation.items() if v.get("readonly")] + const = [k for k, v in response._validation.items() if v.get("constant")] + kwargs = {k: v for k, v in attrs.items() if k not in subtype and k not in readonly + const} response_obj = response(**kwargs) for attr in readonly: setattr(response_obj, attr, attrs.get(attr)) @@ -1594,8 +1565,7 @@ def _instantiate_model(self, response, attrs, additional_properties=None): response_obj.additional_properties = additional_properties return response_obj except TypeError as err: - msg = "Unable to deserialize {} into model {}. ".format( - kwargs, response) + msg = "Unable to deserialize {} into model {}. ".format(kwargs, response) raise DeserializationError(msg + str(err)) else: try: @@ -1659,13 +1629,10 @@ def deserialize_iter(self, attr, iter_type): """ if attr is None: return None - if isinstance(attr, ET.Element): # If I receive an element here, get the children + if isinstance(attr, ET.Element): # If I receive an element here, get the children attr = list(attr) if not isinstance(attr, (list, set)): - raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format( - iter_type, - type(attr) - )) + raise DeserializationError("Cannot deserialize as [{}] an object of type {}".format(iter_type, type(attr))) return [self.deserialize_data(a, iter_type) for a in attr] def deserialize_dict(self, attr, dict_type): @@ -1677,7 +1644,7 @@ def deserialize_dict(self, attr, dict_type): :rtype: dict """ if isinstance(attr, list): - return {x['key']: self.deserialize_data(x['value'], dict_type) for x in attr} + return {x["key"]: self.deserialize_data(x["value"], dict_type) for x in attr} if isinstance(attr, ET.Element): # Transform value into {"Key": "value"} @@ -1698,7 +1665,7 @@ def deserialize_object(self, attr, **kwargs): # Do no recurse on XML, just return the tree as-is return attr if isinstance(attr, basestring): - return self.deserialize_basic(attr, 'str') + return self.deserialize_basic(attr, "str") obj_type = type(attr) if obj_type in self.basic_types: return self.deserialize_basic(attr, self.basic_types[obj_type]) @@ -1709,8 +1676,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = {} for key, value in attr.items(): try: - deserialized[key] = self.deserialize_object( - value, **kwargs) + deserialized[key] = self.deserialize_object(value, **kwargs) except ValueError: deserialized[key] = None return deserialized @@ -1719,8 +1685,7 @@ def deserialize_object(self, attr, **kwargs): deserialized = [] for obj in attr: try: - deserialized.append(self.deserialize_object( - obj, **kwargs)) + deserialized.append(self.deserialize_object(obj, **kwargs)) except ValueError: pass return deserialized @@ -1747,23 +1712,23 @@ def deserialize_basic(self, attr, data_type): if not attr: if data_type == "str": # None or '', node is empty string. - return '' + return "" else: # None or '', node with a strong type is None. # Don't try to model "empty bool" or "empty int" return None - if data_type == 'bool': + if data_type == "bool": if attr in [True, False, 1, 0]: return bool(attr) elif isinstance(attr, basestring): - if attr.lower() in ['true', '1']: + if attr.lower() in ["true", "1"]: return True - elif attr.lower() in ['false', '0']: + elif attr.lower() in ["false", "0"]: return False raise TypeError("Invalid boolean value: {}".format(attr)) - if data_type == 'str': + if data_type == "str": return self.deserialize_unicode(attr) return eval(data_type)(attr) @@ -1845,9 +1810,9 @@ def deserialize_base64(attr): """ if isinstance(attr, ET.Element): attr = attr.text - padding = '=' * (3 - (len(attr) + 3) % 4) + padding = "=" * (3 - (len(attr) + 3) % 4) attr = attr + padding - encoded = attr.replace('-', '+').replace('_', '/') + encoded = attr.replace("-", "+").replace("_", "/") return b64decode(encoded) @staticmethod @@ -1890,7 +1855,7 @@ def deserialize_duration(attr): attr = attr.text try: duration = isodate.parse_duration(attr) - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize duration object." raise_with_traceback(DeserializationError, msg, err) else: @@ -1938,8 +1903,7 @@ def deserialize_rfc(attr): try: parsed_date = email.utils.parsedate_tz(attr) date_obj = datetime.datetime( - *parsed_date[:6], - tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0)/60)) + *parsed_date[:6], tzinfo=_FixedOffset(datetime.timedelta(minutes=(parsed_date[9] or 0) / 60)) ) if not date_obj.tzinfo: date_obj = date_obj.astimezone(tz=TZ_UTC) @@ -1965,7 +1929,7 @@ def deserialize_iso(attr): if not match: raise ValueError("Invalid datetime string: " + attr) - check_decimal = attr.split('.') + check_decimal = attr.split(".") if len(check_decimal) > 1: decimal_str = "" for digit in check_decimal[1]: @@ -1980,7 +1944,7 @@ def deserialize_iso(attr): test_utc = date_obj.utctimetuple() if test_utc.tm_year > 9999 or test_utc.tm_year < 1: raise OverflowError("Hit max or min date") - except(ValueError, OverflowError, AttributeError) as err: + except (ValueError, OverflowError, AttributeError) as err: msg = "Cannot deserialize datetime object." raise_with_traceback(DeserializationError, msg, err) else: @@ -2003,4 +1967,4 @@ def deserialize_unix(attr): msg = "Cannot deserialize to unix datetime object." raise_with_traceback(DeserializationError, msg, err) else: - return date_obj \ No newline at end of file + return date_obj diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_vendor.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_vendor.py index 138f663c53a..9aad73fc743 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_vendor.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/_vendor.py @@ -7,6 +7,7 @@ from azure.core.pipeline.transport import HttpRequest + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -14,6 +15,7 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + def _format_url_section(template, **kwargs): components = template.split("/") while components: @@ -21,7 +23,5 @@ def _format_url_section(template, **kwargs): return template.format(**kwargs) except KeyError as key: formatted_components = template.split("/") - components = [ - c for c in formatted_components if "{}".format(key.args[0]) not in c - ] + components = [c for c in formatted_components if "{}".format(key.args[0]) not in c] template = "/".join(components) diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/__init__.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/__init__.py index faf76ea53a7..d6b9798039a 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/__init__.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['AutoRestPagingTestService'] + +__all__ = ["AutoRestPagingTestService"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_auto_rest_paging_test_service.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_auto_rest_paging_test_service.py index d1a5634a379..8d0d183535c 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_auto_rest_paging_test_service.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_auto_rest_paging_test_service.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class AutoRestPagingTestService: # pylint: disable=client-accepts-api-version-keyword """Long-running Operation for AutoRest. @@ -35,10 +36,7 @@ class AutoRestPagingTestService: # pylint: disable=client-accepts-api-version-k """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = AutoRestPagingTestServiceConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -47,16 +45,9 @@ def __init__( self._serialize = Serializer(client_models) self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - self.paging = PagingOperations( - self._client, self._config, self._serialize, self._deserialize - ) - + self.paging = PagingOperations(self._client, self._config, self._serialize, self._deserialize) - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_configuration.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_configuration.py index df504785a2b..abcb38a81fc 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_configuration.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_configuration.py @@ -29,32 +29,27 @@ class AutoRestPagingTestServiceConfiguration(Configuration): # pylint: disable= :type credential: ~azure.core.credentials_async.AsyncTokenCredential """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(AutoRestPagingTestServiceConfiguration, self).__init__(**kwargs) if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'custompollerpager/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "custompollerpager/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_patch.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_patch.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/__init__.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/__init__.py index 0538c60ff77..4ee078bba5c 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/__init__.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'PagingOperations', + "PagingOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/_paging_operations.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/_paging_operations.py index 1aa8a5d48dc..1d0c4931638 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/_paging_operations.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/_paging_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar, Union, cast from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncNoPolling, AsyncPollingMethod @@ -23,10 +29,34 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._paging_operations import build_duplicate_params_request, build_first_response_empty_request, build_get_multiple_pages_failure_request, build_get_multiple_pages_failure_uri_request, build_get_multiple_pages_fragment_next_link_request, build_get_multiple_pages_fragment_with_grouping_next_link_request, build_get_multiple_pages_lro_request, build_get_multiple_pages_request, build_get_multiple_pages_retry_first_request, build_get_multiple_pages_retry_second_request, build_get_multiple_pages_with_offset_request, build_get_no_item_name_pages_request, build_get_null_next_link_name_pages_request, build_get_odata_multiple_pages_request, build_get_paging_model_with_item_name_with_xms_client_name_request, build_get_single_pages_failure_request, build_get_single_pages_request, build_get_with_query_params_request, build_next_fragment_request, build_next_fragment_with_grouping_request, build_next_operation_with_query_params_request -T = TypeVar('T') +from ...operations._paging_operations import ( + build_duplicate_params_request, + build_first_response_empty_request, + build_get_multiple_pages_failure_request, + build_get_multiple_pages_failure_uri_request, + build_get_multiple_pages_fragment_next_link_request, + build_get_multiple_pages_fragment_with_grouping_next_link_request, + build_get_multiple_pages_lro_request, + build_get_multiple_pages_request, + build_get_multiple_pages_retry_first_request, + build_get_multiple_pages_retry_second_request, + build_get_multiple_pages_with_offset_request, + build_get_no_item_name_pages_request, + build_get_null_next_link_name_pages_request, + build_get_odata_multiple_pages_request, + build_get_paging_model_with_item_name_with_xms_client_name_request, + build_get_single_pages_failure_request, + build_get_single_pages_request, + build_get_with_query_params_request, + build_next_fragment_request, + build_next_fragment_with_grouping_request, + build_next_operation_with_query_params_request, +) + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class PagingOperations: """ .. warning:: @@ -46,12 +76,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def get_no_item_name_pages( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_no_item_name_pages(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that must return result of the default 'value' node. :keyword callable cls: A custom type or function that will be passed the direct response @@ -62,17 +88,16 @@ def get_no_item_name_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResultValue] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResultValue] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_no_item_name_pages_request( - template_url=self.get_no_item_name_pages.metadata['url'], + template_url=self.get_no_item_name_pages.metadata["url"], headers=_headers, params=_params, ) @@ -80,7 +105,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_no_item_name_pages_request( template_url=next_link, headers=_headers, @@ -102,9 +127,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -114,17 +137,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_no_item_name_pages.metadata = {'url': "/paging/noitemname"} # type: ignore + get_no_item_name_pages.metadata = {"url": "/paging/noitemname"} # type: ignore @distributed_trace - def get_null_next_link_name_pages( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_null_next_link_name_pages(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that must ignore any kind of nextLink, and stop after page 1. :keyword callable cls: A custom type or function that will be passed the direct response @@ -135,17 +153,16 @@ def get_null_next_link_name_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_null_next_link_name_pages_request( - template_url=self.get_null_next_link_name_pages.metadata['url'], + template_url=self.get_null_next_link_name_pages.metadata["url"], headers=_headers, params=_params, ) @@ -153,7 +170,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_null_next_link_name_pages_request( template_url=next_link, headers=_headers, @@ -175,9 +192,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -187,17 +202,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_null_next_link_name_pages.metadata = {'url': "/paging/nullnextlink"} # type: ignore + get_null_next_link_name_pages.metadata = {"url": "/paging/nullnextlink"} # type: ignore @distributed_trace - def get_single_pages( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_single_pages(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that finishes on the first call without a nextlink. :keyword callable cls: A custom type or function that will be passed the direct response @@ -208,17 +218,16 @@ def get_single_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_single_pages_request( - template_url=self.get_single_pages.metadata['url'], + template_url=self.get_single_pages.metadata["url"], headers=_headers, params=_params, ) @@ -226,7 +235,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_single_pages_request( template_url=next_link, headers=_headers, @@ -248,9 +257,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -260,17 +267,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncCustomPager(get_next, extract_data) - return AsyncCustomPager( - get_next, extract_data - ) - get_single_pages.metadata = {'url': "/paging/single"} # type: ignore + get_single_pages.metadata = {"url": "/paging/single"} # type: ignore @distributed_trace - def first_response_empty( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def first_response_empty(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation whose first response's items list is empty, but still returns a next link. Second (and final) call, will give you an items list of 1. @@ -282,17 +284,16 @@ def first_response_empty( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResultValue] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResultValue] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_first_response_empty_request( - template_url=self.first_response_empty.metadata['url'], + template_url=self.first_response_empty.metadata["url"], headers=_headers, params=_params, ) @@ -300,7 +301,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_first_response_empty_request( template_url=next_link, headers=_headers, @@ -322,9 +323,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -334,11 +333,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - first_response_empty.metadata = {'url': "/paging/firstResponseEmpty/1"} # type: ignore + first_response_empty.metadata = {"url": "/paging/firstResponseEmpty/1"} # type: ignore @distributed_trace def get_multiple_pages( @@ -362,12 +359,11 @@ def get_multiple_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -375,12 +371,12 @@ def prepare_request(next_link=None): if paging_get_multiple_pages_options is not None: _maxresults = paging_get_multiple_pages_options.maxresults _timeout = paging_get_multiple_pages_options.timeout - + request = build_get_multiple_pages_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.get_multiple_pages.metadata['url'], + template_url=self.get_multiple_pages.metadata["url"], headers=_headers, params=_params, ) @@ -393,7 +389,7 @@ def prepare_request(next_link=None): if paging_get_multiple_pages_options is not None: _maxresults = paging_get_multiple_pages_options.maxresults _timeout = paging_get_multiple_pages_options.timeout - + request = build_get_multiple_pages_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -418,9 +414,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -430,18 +424,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_multiple_pages.metadata = {'url': "/paging/multiple"} # type: ignore + get_multiple_pages.metadata = {"url": "/paging/multiple"} # type: ignore @distributed_trace - def get_with_query_params( - self, - required_query_parameter: int, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_with_query_params(self, required_query_parameter: int, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that includes a next operation. It has a different query parameter from it's next operation nextOperationWithQueryParams. Returns a ProductResult. @@ -460,20 +448,19 @@ def get_with_query_params( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - query_constant = kwargs.pop('query_constant', _params.pop('queryConstant', True)) # type: bool - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + query_constant = kwargs.pop("query_constant", _params.pop("queryConstant", True)) # type: bool + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_with_query_params_request( required_query_parameter=required_query_parameter, query_constant=query_constant, - template_url=self.get_with_query_params.metadata['url'], + template_url=self.get_with_query_params.metadata["url"], headers=_headers, params=_params, ) @@ -481,10 +468,10 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_next_operation_with_query_params_request( query_constant=query_constant, - template_url='/paging/multiple/nextOperationWithQueryParams', + template_url="/paging/multiple/nextOperationWithQueryParams", headers=_headers, params=_params, ) @@ -504,9 +491,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -516,18 +501,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_with_query_params.metadata = {'url': "/paging/multiple/getWithQueryParams"} # type: ignore + get_with_query_params.metadata = {"url": "/paging/multiple/getWithQueryParams"} # type: ignore @distributed_trace - def duplicate_params( - self, - filter: Optional[str] = None, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def duplicate_params(self, filter: Optional[str] = None, **kwargs: Any) -> AsyncIterable["_models.Product"]: """Define ``filter`` as a query param for all calls. However, the returned next link will also include the ``filter`` as part of it. Make sure you don't end up duplicating the ``filter`` param in the url sent. @@ -542,18 +521,17 @@ def duplicate_params( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_duplicate_params_request( filter=filter, - template_url=self.duplicate_params.metadata['url'], + template_url=self.duplicate_params.metadata["url"], headers=_headers, params=_params, ) @@ -561,7 +539,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_duplicate_params_request( template_url=next_link, headers=_headers, @@ -583,9 +561,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -595,11 +571,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - duplicate_params.metadata = {'url': "/paging/multiple/duplicateParams/1"} # type: ignore + duplicate_params.metadata = {"url": "/paging/multiple/duplicateParams/1"} # type: ignore @distributed_trace def get_odata_multiple_pages( @@ -623,12 +597,11 @@ def get_odata_multiple_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.OdataProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.OdataProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -636,12 +609,12 @@ def prepare_request(next_link=None): if paging_get_odata_multiple_pages_options is not None: _maxresults = paging_get_odata_multiple_pages_options.maxresults _timeout = paging_get_odata_multiple_pages_options.timeout - + request = build_get_odata_multiple_pages_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.get_odata_multiple_pages.metadata['url'], + template_url=self.get_odata_multiple_pages.metadata["url"], headers=_headers, params=_params, ) @@ -654,7 +627,7 @@ def prepare_request(next_link=None): if paging_get_odata_multiple_pages_options is not None: _maxresults = paging_get_odata_multiple_pages_options.maxresults _timeout = paging_get_odata_multiple_pages_options.timeout - + request = build_get_odata_multiple_pages_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -679,9 +652,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -691,11 +662,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_odata_multiple_pages.metadata = {'url': "/paging/multiple/odata"} # type: ignore + get_odata_multiple_pages.metadata = {"url": "/paging/multiple/odata"} # type: ignore @distributed_trace def get_multiple_pages_with_offset( @@ -719,12 +688,11 @@ def get_multiple_pages_with_offset( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -734,13 +702,13 @@ def prepare_request(next_link=None): _maxresults = paging_get_multiple_pages_with_offset_options.maxresults _offset = paging_get_multiple_pages_with_offset_options.offset _timeout = paging_get_multiple_pages_with_offset_options.timeout - + request = build_get_multiple_pages_with_offset_request( offset=_offset, client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.get_multiple_pages_with_offset.metadata['url'], + template_url=self.get_multiple_pages_with_offset.metadata["url"], headers=_headers, params=_params, ) @@ -755,7 +723,7 @@ def prepare_request(next_link=None): _maxresults = paging_get_multiple_pages_with_offset_options.maxresults _offset = paging_get_multiple_pages_with_offset_options.offset _timeout = paging_get_multiple_pages_with_offset_options.timeout - + request = build_get_multiple_pages_with_offset_request( offset=_offset, client_request_id=client_request_id, @@ -781,9 +749,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -793,17 +759,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_multiple_pages_with_offset.metadata = {'url': "/paging/multiple/withpath/{offset}"} # type: ignore + get_multiple_pages_with_offset.metadata = {"url": "/paging/multiple/withpath/{offset}"} # type: ignore @distributed_trace - def get_multiple_pages_retry_first( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_multiple_pages_retry_first(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that fails on the first call with 500 and then retries and then get a response including a nextLink that has 10 pages. @@ -815,17 +776,16 @@ def get_multiple_pages_retry_first( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_retry_first_request( - template_url=self.get_multiple_pages_retry_first.metadata['url'], + template_url=self.get_multiple_pages_retry_first.metadata["url"], headers=_headers, params=_params, ) @@ -833,7 +793,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_multiple_pages_retry_first_request( template_url=next_link, headers=_headers, @@ -855,9 +815,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -867,17 +825,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_multiple_pages_retry_first.metadata = {'url': "/paging/multiple/retryfirst"} # type: ignore + get_multiple_pages_retry_first.metadata = {"url": "/paging/multiple/retryfirst"} # type: ignore @distributed_trace - def get_multiple_pages_retry_second( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_multiple_pages_retry_second(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that includes a nextLink that has 10 pages, of which the 2nd call fails first with 500. The client should retry and finish all 10 pages eventually. @@ -889,17 +842,16 @@ def get_multiple_pages_retry_second( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_retry_second_request( - template_url=self.get_multiple_pages_retry_second.metadata['url'], + template_url=self.get_multiple_pages_retry_second.metadata["url"], headers=_headers, params=_params, ) @@ -907,7 +859,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_multiple_pages_retry_second_request( template_url=next_link, headers=_headers, @@ -929,9 +881,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -941,17 +891,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_multiple_pages_retry_second.metadata = {'url': "/paging/multiple/retrysecond"} # type: ignore + get_multiple_pages_retry_second.metadata = {"url": "/paging/multiple/retrysecond"} # type: ignore @distributed_trace - def get_single_pages_failure( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_single_pages_failure(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that receives a 400 on the first call. :keyword callable cls: A custom type or function that will be passed the direct response @@ -962,17 +907,16 @@ def get_single_pages_failure( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_single_pages_failure_request( - template_url=self.get_single_pages_failure.metadata['url'], + template_url=self.get_single_pages_failure.metadata["url"], headers=_headers, params=_params, ) @@ -980,7 +924,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_single_pages_failure_request( template_url=next_link, headers=_headers, @@ -1002,9 +946,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1014,17 +956,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_single_pages_failure.metadata = {'url': "/paging/single/failure"} # type: ignore + get_single_pages_failure.metadata = {"url": "/paging/single/failure"} # type: ignore @distributed_trace - def get_multiple_pages_failure( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_multiple_pages_failure(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that receives a 400 on the second call. :keyword callable cls: A custom type or function that will be passed the direct response @@ -1035,17 +972,16 @@ def get_multiple_pages_failure( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_failure_request( - template_url=self.get_multiple_pages_failure.metadata['url'], + template_url=self.get_multiple_pages_failure.metadata["url"], headers=_headers, params=_params, ) @@ -1053,7 +989,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_multiple_pages_failure_request( template_url=next_link, headers=_headers, @@ -1075,9 +1011,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1087,17 +1021,12 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_multiple_pages_failure.metadata = {'url': "/paging/multiple/failure"} # type: ignore + get_multiple_pages_failure.metadata = {"url": "/paging/multiple/failure"} # type: ignore @distributed_trace - def get_multiple_pages_failure_uri( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_multiple_pages_failure_uri(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that receives an invalid nextLink. :keyword callable cls: A custom type or function that will be passed the direct response @@ -1108,17 +1037,16 @@ def get_multiple_pages_failure_uri( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_failure_uri_request( - template_url=self.get_multiple_pages_failure_uri.metadata['url'], + template_url=self.get_multiple_pages_failure_uri.metadata["url"], headers=_headers, params=_params, ) @@ -1126,7 +1054,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_multiple_pages_failure_uri_request( template_url=next_link, headers=_headers, @@ -1148,9 +1076,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1160,18 +1086,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_multiple_pages_failure_uri.metadata = {'url': "/paging/multiple/failureuri"} # type: ignore + get_multiple_pages_failure_uri.metadata = {"url": "/paging/multiple/failureuri"} # type: ignore @distributed_trace def get_multiple_pages_fragment_next_link( - self, - api_version: str, - tenant: str, - **kwargs: Any + self, api_version: str, tenant: str, **kwargs: Any ) -> AsyncIterable["_models.Product"]: """A paging operation that doesn't return a full URL, just a fragment. @@ -1187,19 +1108,18 @@ def get_multiple_pages_fragment_next_link( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.OdataProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.OdataProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_fragment_next_link_request( tenant=tenant, api_version=api_version, - template_url=self.get_multiple_pages_fragment_next_link.metadata['url'], + template_url=self.get_multiple_pages_fragment_next_link.metadata["url"], headers=_headers, params=_params, ) @@ -1207,12 +1127,12 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_next_fragment_request( tenant=tenant, next_link=next_link, api_version=api_version, - template_url='/paging/multiple/fragment/{tenant}/{nextLink}', + template_url="/paging/multiple/fragment/{tenant}/{nextLink}", headers=_headers, params=_params, ) @@ -1232,9 +1152,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1244,17 +1162,13 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_multiple_pages_fragment_next_link.metadata = {'url': "/paging/multiple/fragment/{tenant}"} # type: ignore + get_multiple_pages_fragment_next_link.metadata = {"url": "/paging/multiple/fragment/{tenant}"} # type: ignore @distributed_trace def get_multiple_pages_fragment_with_grouping_next_link( - self, - custom_parameter_group: _models.CustomParameterGroup, - **kwargs: Any + self, custom_parameter_group: _models.CustomParameterGroup, **kwargs: Any ) -> AsyncIterable["_models.Product"]: """A paging operation that doesn't return a full URL, just a fragment with parameters grouped. @@ -1268,12 +1182,11 @@ def get_multiple_pages_fragment_with_grouping_next_link( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.OdataProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.OdataProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _api_version = None @@ -1281,11 +1194,11 @@ def prepare_request(next_link=None): if custom_parameter_group is not None: _api_version = custom_parameter_group.api_version _tenant = custom_parameter_group.tenant - + request = build_get_multiple_pages_fragment_with_grouping_next_link_request( tenant=_tenant, api_version=_api_version, - template_url=self.get_multiple_pages_fragment_with_grouping_next_link.metadata['url'], + template_url=self.get_multiple_pages_fragment_with_grouping_next_link.metadata["url"], headers=_headers, params=_params, ) @@ -1298,12 +1211,12 @@ def prepare_request(next_link=None): if custom_parameter_group is not None: _api_version = custom_parameter_group.api_version _tenant = custom_parameter_group.tenant - + request = build_next_fragment_with_grouping_request( tenant=_tenant, next_link=next_link, api_version=_api_version, - template_url='/paging/multiple/fragmentwithgrouping/{tenant}/{nextLink}', + template_url="/paging/multiple/fragmentwithgrouping/{tenant}/{nextLink}", headers=_headers, params=_params, ) @@ -1323,9 +1236,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1335,11 +1246,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_multiple_pages_fragment_with_grouping_next_link.metadata = {'url': "/paging/multiple/fragmentwithgrouping/{tenant}"} # type: ignore + get_multiple_pages_fragment_with_grouping_next_link.metadata = {"url": "/paging/multiple/fragmentwithgrouping/{tenant}"} # type: ignore async def _get_multiple_pages_lro_initial( self, @@ -1347,15 +1256,13 @@ async def _get_multiple_pages_lro_initial( paging_get_multiple_pages_lro_options: Optional[_models.PagingGetMultiplePagesLroOptions] = None, **kwargs: Any ) -> _models.ProductResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] _maxresults = None _timeout = None @@ -1367,7 +1274,7 @@ async def _get_multiple_pages_lro_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._get_multiple_pages_lro_initial.metadata['url'], + template_url=self._get_multiple_pages_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -1375,9 +1282,7 @@ async def _get_multiple_pages_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1386,15 +1291,14 @@ async def _get_multiple_pages_lro_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('ProductResult', pipeline_response) + deserialized = self._deserialize("ProductResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _get_multiple_pages_lro_initial.metadata = {'url': "/paging/multiple/lro"} # type: ignore - + _get_multiple_pages_lro_initial.metadata = {"url": "/paging/multiple/lro"} # type: ignore @distributed_trace_async async def begin_get_multiple_pages_lro( @@ -1428,12 +1332,11 @@ async def begin_get_multiple_pages_lro( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -1441,12 +1344,12 @@ def prepare_request(next_link=None): if paging_get_multiple_pages_lro_options is not None: _maxresults = paging_get_multiple_pages_lro_options.maxresults _timeout = paging_get_multiple_pages_lro_options.timeout - + request = build_get_multiple_pages_lro_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_get_multiple_pages_lro.metadata['url'], + template_url=self.begin_get_multiple_pages_lro.metadata["url"], headers=_headers, params=_params, ) @@ -1459,7 +1362,7 @@ def prepare_request(next_link=None): if paging_get_multiple_pages_lro_options is not None: _maxresults = paging_get_multiple_pages_lro_options.maxresults _timeout = paging_get_multiple_pages_lro_options.timeout - + request = build_get_multiple_pages_lro_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -1484,9 +1387,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1496,23 +1397,19 @@ async def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._get_multiple_pages_lro_initial( # type: ignore client_request_id=client_request_id, paging_get_multiple_pages_lro_options=paging_get_multiple_pages_lro_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): async def internal_get_next(next_link=None): @@ -1520,36 +1417,27 @@ async def internal_get_next(next_link=None): return pipeline_response return await get_next(next_link) - return AsyncItemPaged( - internal_get_next, extract_data - ) + return AsyncItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncCustomPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncCustomPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_get_multiple_pages_lro.metadata = {'url': "/paging/multiple/lro"} # type: ignore - + begin_get_multiple_pages_lro.metadata = {"url": "/paging/multiple/lro"} # type: ignore @distributed_trace - def get_paging_model_with_item_name_with_xms_client_name( - self, - **kwargs: Any - ) -> AsyncIterable["_models.Product"]: + def get_paging_model_with_item_name_with_xms_client_name(self, **kwargs: Any) -> AsyncIterable["_models.Product"]: """A paging operation that returns a paging model whose item name is is overriden by x-ms-client-name 'indexes'. @@ -1561,17 +1449,16 @@ def get_paging_model_with_item_name_with_xms_client_name( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResultValueWithXMSClientName] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResultValueWithXMSClientName] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_paging_model_with_item_name_with_xms_client_name_request( - template_url=self.get_paging_model_with_item_name_with_xms_client_name.metadata['url'], + template_url=self.get_paging_model_with_item_name_with_xms_client_name.metadata["url"], headers=_headers, params=_params, ) @@ -1579,7 +1466,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_paging_model_with_item_name_with_xms_client_name_request( template_url=next_link, headers=_headers, @@ -1601,9 +1488,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1613,8 +1498,6 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - get_paging_model_with_item_name_with_xms_client_name.metadata = {'url': "/paging/itemNameWithXMSClientName"} # type: ignore + get_paging_model_with_item_name_with_xms_client_name.metadata = {"url": "/paging/itemNameWithXMSClientName"} # type: ignore diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/_patch.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/_patch.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/__init__.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/__init__.py index e66ed8beed9..f5974b8c406 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/__init__.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/__init__.py @@ -23,20 +23,21 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'CustomParameterGroup', - 'OdataProductResult', - 'OperationResult', - 'PagingGetMultiplePagesLroOptions', - 'PagingGetMultiplePagesOptions', - 'PagingGetMultiplePagesWithOffsetOptions', - 'PagingGetOdataMultiplePagesOptions', - 'Product', - 'ProductProperties', - 'ProductResult', - 'ProductResultValue', - 'ProductResultValueWithXMSClientName', - 'OperationResultStatus', + "CustomParameterGroup", + "OdataProductResult", + "OperationResult", + "PagingGetMultiplePagesLroOptions", + "PagingGetMultiplePagesOptions", + "PagingGetMultiplePagesWithOffsetOptions", + "PagingGetOdataMultiplePagesOptions", + "Product", + "ProductProperties", + "ProductResult", + "ProductResultValue", + "ProductResultValueWithXMSClientName", + "OperationResultStatus", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_auto_rest_paging_test_service_enums.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_auto_rest_paging_test_service_enums.py index e0abd428123..1e429779f5f 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_auto_rest_paging_test_service_enums.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_auto_rest_paging_test_service_enums.py @@ -11,8 +11,7 @@ class OperationResultStatus(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """The status of the request. - """ + """The status of the request.""" SUCCEEDED = "Succeeded" FAILED = "Failed" diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_models_py3.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_models_py3.py index eaf9f79b45b..633cd27e77a 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_models_py3.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_models_py3.py @@ -28,8 +28,8 @@ class CustomParameterGroup(_serialization.Model): """ _validation = { - 'api_version': {'required': True}, - 'tenant': {'required': True}, + "api_version": {"required": True}, + "tenant": {"required": True}, } _attribute_map = { @@ -37,13 +37,7 @@ class CustomParameterGroup(_serialization.Model): "tenant": {"key": "tenant", "type": "str"}, } - def __init__( - self, - *, - api_version: str, - tenant: str, - **kwargs - ): + def __init__(self, *, api_version: str, tenant: str, **kwargs): """ :keyword api_version: Sets the api version to use. Required. :paramtype api_version: str @@ -70,11 +64,7 @@ class OdataProductResult(_serialization.Model): } def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - odata_next_link: Optional[str] = None, - **kwargs + self, *, values: Optional[List["_models.Product"]] = None, odata_next_link: Optional[str] = None, **kwargs ): """ :keyword values: @@ -99,12 +89,7 @@ class OperationResult(_serialization.Model): "status": {"key": "status", "type": "str"}, } - def __init__( - self, - *, - status: Optional[Union[str, "_models.OperationResultStatus"]] = None, - **kwargs - ): + def __init__(self, *, status: Optional[Union[str, "_models.OperationResultStatus"]] = None, **kwargs): """ :keyword status: The status of the request. Known values are: "Succeeded", "Failed", "canceled", "Accepted", "Creating", "Created", "Updating", "Updated", "Deleting", "Deleted", @@ -130,13 +115,7 @@ class PagingGetMultiplePagesLroOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int @@ -164,13 +143,7 @@ class PagingGetMultiplePagesOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int @@ -198,7 +171,7 @@ class PagingGetMultiplePagesWithOffsetOptions(_serialization.Model): """ _validation = { - 'offset': {'required': True}, + "offset": {"required": True}, } _attribute_map = { @@ -207,14 +180,7 @@ class PagingGetMultiplePagesWithOffsetOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - offset: int, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, offset: int, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int @@ -245,13 +211,7 @@ class PagingGetOdataMultiplePagesOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int @@ -275,12 +235,7 @@ class Product(_serialization.Model): "properties": {"key": "properties", "type": "ProductProperties"}, } - def __init__( - self, - *, - properties: Optional["_models.ProductProperties"] = None, - **kwargs - ): + def __init__(self, *, properties: Optional["_models.ProductProperties"] = None, **kwargs): """ :keyword properties: :paramtype properties: ~custompollerpager.models.ProductProperties @@ -304,11 +259,7 @@ class ProductProperties(_serialization.Model): } def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - name: Optional[str] = None, - **kwargs + self, *, id: Optional[int] = None, name: Optional[str] = None, **kwargs # pylint: disable=redefined-builtin ): """ :keyword id: @@ -335,13 +286,7 @@ class ProductResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~custompollerpager.models.Product] @@ -367,13 +312,7 @@ class ProductResultValue(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - value: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, value: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword value: :paramtype value: list[~custompollerpager.models.Product] @@ -399,13 +338,7 @@ class ProductResultValueWithXMSClientName(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - indexes: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, indexes: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword indexes: :paramtype indexes: list[~custompollerpager.models.Product] diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_patch.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_patch.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/__init__.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/__init__.py index 0538c60ff77..4ee078bba5c 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/__init__.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'PagingOperations', + "PagingOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/_paging_operations.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/_paging_operations.py index c7a30fa74db..a3026d0e3e4 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/_paging_operations.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/_paging_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Iterable, Optional, TypeVar, Union, cast -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -23,243 +29,170 @@ from .. import models as _models from .._serialization import Serializer from .._vendor import _convert_request, _format_url_section -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_get_no_item_name_pages_request( - **kwargs: Any -) -> HttpRequest: +def build_get_no_item_name_pages_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/noitemname") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_null_next_link_name_pages_request( - **kwargs: Any -) -> HttpRequest: +def build_get_null_next_link_name_pages_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/nullnextlink") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_single_pages_request( - **kwargs: Any -) -> HttpRequest: +def build_get_single_pages_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/single") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_first_response_empty_request( - **kwargs: Any -) -> HttpRequest: +def build_first_response_empty_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/firstResponseEmpty/1") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) def build_get_multiple_pages_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_with_query_params_request( - *, - required_query_parameter: int, - **kwargs: Any -) -> HttpRequest: +def build_get_with_query_params_request(*, required_query_parameter: int, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - query_constant = kwargs.pop('query_constant', _params.pop('queryConstant', True)) # type: bool - accept = _headers.pop('Accept', "application/json") + query_constant = kwargs.pop("query_constant", _params.pop("queryConstant", True)) # type: bool + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/getWithQueryParams") # Construct parameters - _params['requiredQueryParameter'] = _SERIALIZER.query("required_query_parameter", required_query_parameter, 'int') - _params['queryConstant'] = _SERIALIZER.query("query_constant", query_constant, 'bool') + _params["requiredQueryParameter"] = _SERIALIZER.query("required_query_parameter", required_query_parameter, "int") + _params["queryConstant"] = _SERIALIZER.query("query_constant", query_constant, "bool") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_next_operation_with_query_params_request( - **kwargs: Any -) -> HttpRequest: +def build_next_operation_with_query_params_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - query_constant = kwargs.pop('query_constant', _params.pop('queryConstant', True)) # type: bool - accept = _headers.pop('Accept', "application/json") + query_constant = kwargs.pop("query_constant", _params.pop("queryConstant", True)) # type: bool + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/nextOperationWithQueryParams") # Construct parameters - _params['queryConstant'] = _SERIALIZER.query("query_constant", query_constant, 'bool') + _params["queryConstant"] = _SERIALIZER.query("query_constant", query_constant, "bool") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_duplicate_params_request( - *, - filter: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_duplicate_params_request(*, filter: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/duplicateParams/1") # Construct parameters if filter is not None: - _params['$filter'] = _SERIALIZER.query("filter", filter, 'str') + _params["$filter"] = _SERIALIZER.query("filter", filter, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) def build_get_odata_multiple_pages_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/odata") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) def build_get_multiple_pages_with_offset_request( @@ -272,328 +205,231 @@ def build_get_multiple_pages_with_offset_request( ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/withpath/{offset}") path_format_arguments = { - "offset": _SERIALIZER.url("offset", offset, 'int'), + "offset": _SERIALIZER.url("offset", offset, "int"), } _url = _format_url_section(_url, **path_format_arguments) # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_multiple_pages_retry_first_request( - **kwargs: Any -) -> HttpRequest: +def build_get_multiple_pages_retry_first_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/retryfirst") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_multiple_pages_retry_second_request( - **kwargs: Any -) -> HttpRequest: +def build_get_multiple_pages_retry_second_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/retrysecond") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_single_pages_failure_request( - **kwargs: Any -) -> HttpRequest: +def build_get_single_pages_failure_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/single/failure") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_multiple_pages_failure_request( - **kwargs: Any -) -> HttpRequest: +def build_get_multiple_pages_failure_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/failure") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_multiple_pages_failure_uri_request( - **kwargs: Any -) -> HttpRequest: +def build_get_multiple_pages_failure_uri_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/failureuri") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) -def build_get_multiple_pages_fragment_next_link_request( - tenant: str, - *, - api_version: str, - **kwargs: Any -) -> HttpRequest: +def build_get_multiple_pages_fragment_next_link_request(tenant: str, *, api_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/fragment/{tenant}") path_format_arguments = { - "tenant": _SERIALIZER.url("tenant", tenant, 'str'), + "tenant": _SERIALIZER.url("tenant", tenant, "str"), } _url = _format_url_section(_url, **path_format_arguments) # Construct parameters - _params['api_version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api_version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_next_fragment_request( - tenant: str, - next_link: str, - *, - api_version: str, - **kwargs: Any -) -> HttpRequest: +def build_next_fragment_request(tenant: str, next_link: str, *, api_version: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/fragment/{tenant}/{nextLink}") path_format_arguments = { - "tenant": _SERIALIZER.url("tenant", tenant, 'str'), - "nextLink": _SERIALIZER.url("next_link", next_link, 'str', skip_quote=True), + "tenant": _SERIALIZER.url("tenant", tenant, "str"), + "nextLink": _SERIALIZER.url("next_link", next_link, "str", skip_quote=True), } _url = _format_url_section(_url, **path_format_arguments) # Construct parameters - _params['api_version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api_version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) def build_get_multiple_pages_fragment_with_grouping_next_link_request( - tenant: str, - *, - api_version: str, - **kwargs: Any + tenant: str, *, api_version: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/fragmentwithgrouping/{tenant}") path_format_arguments = { - "tenant": _SERIALIZER.url("tenant", tenant, 'str'), + "tenant": _SERIALIZER.url("tenant", tenant, "str"), } _url = _format_url_section(_url, **path_format_arguments) # Construct parameters - _params['api_version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api_version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) def build_next_fragment_with_grouping_request( - tenant: str, - next_link: str, - *, - api_version: str, - **kwargs: Any + tenant: str, next_link: str, *, api_version: str, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/fragmentwithgrouping/{tenant}/{nextLink}") path_format_arguments = { - "tenant": _SERIALIZER.url("tenant", tenant, 'str'), - "nextLink": _SERIALIZER.url("next_link", next_link, 'str', skip_quote=True), + "tenant": _SERIALIZER.url("tenant", tenant, "str"), + "nextLink": _SERIALIZER.url("next_link", next_link, "str", skip_quote=True), } _url = _format_url_section(_url, **path_format_arguments) # Construct parameters - _params['api_version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api_version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) def build_get_multiple_pages_lro_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/multiple/lro") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, headers=_headers, **kwargs) -def build_get_paging_model_with_item_name_with_xms_client_name_request( - **kwargs: Any -) -> HttpRequest: +def build_get_paging_model_with_item_name_with_xms_client_name_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/paging/itemNameWithXMSClientName") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) class PagingOperations: """ @@ -614,12 +450,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def get_no_item_name_pages( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_no_item_name_pages(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that must return result of the default 'value' node. :keyword callable cls: A custom type or function that will be passed the direct response @@ -630,17 +462,16 @@ def get_no_item_name_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResultValue] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResultValue] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_no_item_name_pages_request( - template_url=self.get_no_item_name_pages.metadata['url'], + template_url=self.get_no_item_name_pages.metadata["url"], headers=_headers, params=_params, ) @@ -648,7 +479,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_no_item_name_pages_request( template_url=next_link, headers=_headers, @@ -670,9 +501,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -682,17 +511,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_no_item_name_pages.metadata = {'url': "/paging/noitemname"} # type: ignore + get_no_item_name_pages.metadata = {"url": "/paging/noitemname"} # type: ignore @distributed_trace - def get_null_next_link_name_pages( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_null_next_link_name_pages(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that must ignore any kind of nextLink, and stop after page 1. :keyword callable cls: A custom type or function that will be passed the direct response @@ -703,17 +527,16 @@ def get_null_next_link_name_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_null_next_link_name_pages_request( - template_url=self.get_null_next_link_name_pages.metadata['url'], + template_url=self.get_null_next_link_name_pages.metadata["url"], headers=_headers, params=_params, ) @@ -721,7 +544,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_null_next_link_name_pages_request( template_url=next_link, headers=_headers, @@ -743,9 +566,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -755,17 +576,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_null_next_link_name_pages.metadata = {'url': "/paging/nullnextlink"} # type: ignore + get_null_next_link_name_pages.metadata = {"url": "/paging/nullnextlink"} # type: ignore @distributed_trace - def get_single_pages( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_single_pages(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that finishes on the first call without a nextlink. :keyword callable cls: A custom type or function that will be passed the direct response @@ -776,17 +592,16 @@ def get_single_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_single_pages_request( - template_url=self.get_single_pages.metadata['url'], + template_url=self.get_single_pages.metadata["url"], headers=_headers, params=_params, ) @@ -794,7 +609,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_single_pages_request( template_url=next_link, headers=_headers, @@ -816,9 +631,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -828,17 +641,12 @@ def get_next(next_link=None): return pipeline_response + return CustomPager(get_next, extract_data) - return CustomPager( - get_next, extract_data - ) - get_single_pages.metadata = {'url': "/paging/single"} # type: ignore + get_single_pages.metadata = {"url": "/paging/single"} # type: ignore @distributed_trace - def first_response_empty( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def first_response_empty(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation whose first response's items list is empty, but still returns a next link. Second (and final) call, will give you an items list of 1. @@ -850,17 +658,16 @@ def first_response_empty( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResultValue] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResultValue] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_first_response_empty_request( - template_url=self.first_response_empty.metadata['url'], + template_url=self.first_response_empty.metadata["url"], headers=_headers, params=_params, ) @@ -868,7 +675,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_first_response_empty_request( template_url=next_link, headers=_headers, @@ -890,9 +697,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -902,11 +707,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - first_response_empty.metadata = {'url': "/paging/firstResponseEmpty/1"} # type: ignore + first_response_empty.metadata = {"url": "/paging/firstResponseEmpty/1"} # type: ignore @distributed_trace def get_multiple_pages( @@ -930,12 +733,11 @@ def get_multiple_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -943,12 +745,12 @@ def prepare_request(next_link=None): if paging_get_multiple_pages_options is not None: _maxresults = paging_get_multiple_pages_options.maxresults _timeout = paging_get_multiple_pages_options.timeout - + request = build_get_multiple_pages_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.get_multiple_pages.metadata['url'], + template_url=self.get_multiple_pages.metadata["url"], headers=_headers, params=_params, ) @@ -961,7 +763,7 @@ def prepare_request(next_link=None): if paging_get_multiple_pages_options is not None: _maxresults = paging_get_multiple_pages_options.maxresults _timeout = paging_get_multiple_pages_options.timeout - + request = build_get_multiple_pages_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -986,9 +788,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -998,18 +798,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_multiple_pages.metadata = {'url': "/paging/multiple"} # type: ignore + get_multiple_pages.metadata = {"url": "/paging/multiple"} # type: ignore @distributed_trace - def get_with_query_params( - self, - required_query_parameter: int, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_with_query_params(self, required_query_parameter: int, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that includes a next operation. It has a different query parameter from it's next operation nextOperationWithQueryParams. Returns a ProductResult. @@ -1028,20 +822,19 @@ def get_with_query_params( _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - query_constant = kwargs.pop('query_constant', _params.pop('queryConstant', True)) # type: bool - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + query_constant = kwargs.pop("query_constant", _params.pop("queryConstant", True)) # type: bool + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_with_query_params_request( required_query_parameter=required_query_parameter, query_constant=query_constant, - template_url=self.get_with_query_params.metadata['url'], + template_url=self.get_with_query_params.metadata["url"], headers=_headers, params=_params, ) @@ -1049,10 +842,10 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_next_operation_with_query_params_request( query_constant=query_constant, - template_url='/paging/multiple/nextOperationWithQueryParams', + template_url="/paging/multiple/nextOperationWithQueryParams", headers=_headers, params=_params, ) @@ -1072,9 +865,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1084,18 +875,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_with_query_params.metadata = {'url': "/paging/multiple/getWithQueryParams"} # type: ignore + get_with_query_params.metadata = {"url": "/paging/multiple/getWithQueryParams"} # type: ignore @distributed_trace - def duplicate_params( - self, - filter: Optional[str] = None, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def duplicate_params(self, filter: Optional[str] = None, **kwargs: Any) -> Iterable["_models.Product"]: """Define ``filter`` as a query param for all calls. However, the returned next link will also include the ``filter`` as part of it. Make sure you don't end up duplicating the ``filter`` param in the url sent. @@ -1110,18 +895,17 @@ def duplicate_params( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_duplicate_params_request( filter=filter, - template_url=self.duplicate_params.metadata['url'], + template_url=self.duplicate_params.metadata["url"], headers=_headers, params=_params, ) @@ -1129,7 +913,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_duplicate_params_request( template_url=next_link, headers=_headers, @@ -1151,9 +935,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1163,11 +945,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - duplicate_params.metadata = {'url': "/paging/multiple/duplicateParams/1"} # type: ignore + duplicate_params.metadata = {"url": "/paging/multiple/duplicateParams/1"} # type: ignore @distributed_trace def get_odata_multiple_pages( @@ -1191,12 +971,11 @@ def get_odata_multiple_pages( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.OdataProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.OdataProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -1204,12 +983,12 @@ def prepare_request(next_link=None): if paging_get_odata_multiple_pages_options is not None: _maxresults = paging_get_odata_multiple_pages_options.maxresults _timeout = paging_get_odata_multiple_pages_options.timeout - + request = build_get_odata_multiple_pages_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.get_odata_multiple_pages.metadata['url'], + template_url=self.get_odata_multiple_pages.metadata["url"], headers=_headers, params=_params, ) @@ -1222,7 +1001,7 @@ def prepare_request(next_link=None): if paging_get_odata_multiple_pages_options is not None: _maxresults = paging_get_odata_multiple_pages_options.maxresults _timeout = paging_get_odata_multiple_pages_options.timeout - + request = build_get_odata_multiple_pages_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -1247,9 +1026,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1259,11 +1036,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_odata_multiple_pages.metadata = {'url': "/paging/multiple/odata"} # type: ignore + get_odata_multiple_pages.metadata = {"url": "/paging/multiple/odata"} # type: ignore @distributed_trace def get_multiple_pages_with_offset( @@ -1287,12 +1062,11 @@ def get_multiple_pages_with_offset( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -1302,13 +1076,13 @@ def prepare_request(next_link=None): _maxresults = paging_get_multiple_pages_with_offset_options.maxresults _offset = paging_get_multiple_pages_with_offset_options.offset _timeout = paging_get_multiple_pages_with_offset_options.timeout - + request = build_get_multiple_pages_with_offset_request( offset=_offset, client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.get_multiple_pages_with_offset.metadata['url'], + template_url=self.get_multiple_pages_with_offset.metadata["url"], headers=_headers, params=_params, ) @@ -1323,7 +1097,7 @@ def prepare_request(next_link=None): _maxresults = paging_get_multiple_pages_with_offset_options.maxresults _offset = paging_get_multiple_pages_with_offset_options.offset _timeout = paging_get_multiple_pages_with_offset_options.timeout - + request = build_get_multiple_pages_with_offset_request( offset=_offset, client_request_id=client_request_id, @@ -1349,9 +1123,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1361,17 +1133,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_multiple_pages_with_offset.metadata = {'url': "/paging/multiple/withpath/{offset}"} # type: ignore + get_multiple_pages_with_offset.metadata = {"url": "/paging/multiple/withpath/{offset}"} # type: ignore @distributed_trace - def get_multiple_pages_retry_first( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_multiple_pages_retry_first(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that fails on the first call with 500 and then retries and then get a response including a nextLink that has 10 pages. @@ -1383,17 +1150,16 @@ def get_multiple_pages_retry_first( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_retry_first_request( - template_url=self.get_multiple_pages_retry_first.metadata['url'], + template_url=self.get_multiple_pages_retry_first.metadata["url"], headers=_headers, params=_params, ) @@ -1401,7 +1167,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_multiple_pages_retry_first_request( template_url=next_link, headers=_headers, @@ -1423,9 +1189,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1435,17 +1199,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_multiple_pages_retry_first.metadata = {'url': "/paging/multiple/retryfirst"} # type: ignore + get_multiple_pages_retry_first.metadata = {"url": "/paging/multiple/retryfirst"} # type: ignore @distributed_trace - def get_multiple_pages_retry_second( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_multiple_pages_retry_second(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that includes a nextLink that has 10 pages, of which the 2nd call fails first with 500. The client should retry and finish all 10 pages eventually. @@ -1457,17 +1216,16 @@ def get_multiple_pages_retry_second( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_retry_second_request( - template_url=self.get_multiple_pages_retry_second.metadata['url'], + template_url=self.get_multiple_pages_retry_second.metadata["url"], headers=_headers, params=_params, ) @@ -1475,7 +1233,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_multiple_pages_retry_second_request( template_url=next_link, headers=_headers, @@ -1497,9 +1255,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1509,17 +1265,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_multiple_pages_retry_second.metadata = {'url': "/paging/multiple/retrysecond"} # type: ignore + get_multiple_pages_retry_second.metadata = {"url": "/paging/multiple/retrysecond"} # type: ignore @distributed_trace - def get_single_pages_failure( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_single_pages_failure(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that receives a 400 on the first call. :keyword callable cls: A custom type or function that will be passed the direct response @@ -1530,17 +1281,16 @@ def get_single_pages_failure( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_single_pages_failure_request( - template_url=self.get_single_pages_failure.metadata['url'], + template_url=self.get_single_pages_failure.metadata["url"], headers=_headers, params=_params, ) @@ -1548,7 +1298,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_single_pages_failure_request( template_url=next_link, headers=_headers, @@ -1570,9 +1320,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1582,17 +1330,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_single_pages_failure.metadata = {'url': "/paging/single/failure"} # type: ignore + get_single_pages_failure.metadata = {"url": "/paging/single/failure"} # type: ignore @distributed_trace - def get_multiple_pages_failure( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_multiple_pages_failure(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that receives a 400 on the second call. :keyword callable cls: A custom type or function that will be passed the direct response @@ -1603,17 +1346,16 @@ def get_multiple_pages_failure( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_failure_request( - template_url=self.get_multiple_pages_failure.metadata['url'], + template_url=self.get_multiple_pages_failure.metadata["url"], headers=_headers, params=_params, ) @@ -1621,7 +1363,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_multiple_pages_failure_request( template_url=next_link, headers=_headers, @@ -1643,9 +1385,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1655,17 +1395,12 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_multiple_pages_failure.metadata = {'url': "/paging/multiple/failure"} # type: ignore + get_multiple_pages_failure.metadata = {"url": "/paging/multiple/failure"} # type: ignore @distributed_trace - def get_multiple_pages_failure_uri( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_multiple_pages_failure_uri(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that receives an invalid nextLink. :keyword callable cls: A custom type or function that will be passed the direct response @@ -1676,17 +1411,16 @@ def get_multiple_pages_failure_uri( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_failure_uri_request( - template_url=self.get_multiple_pages_failure_uri.metadata['url'], + template_url=self.get_multiple_pages_failure_uri.metadata["url"], headers=_headers, params=_params, ) @@ -1694,7 +1428,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_multiple_pages_failure_uri_request( template_url=next_link, headers=_headers, @@ -1716,9 +1450,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1728,18 +1460,13 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_multiple_pages_failure_uri.metadata = {'url': "/paging/multiple/failureuri"} # type: ignore + get_multiple_pages_failure_uri.metadata = {"url": "/paging/multiple/failureuri"} # type: ignore @distributed_trace def get_multiple_pages_fragment_next_link( - self, - api_version: str, - tenant: str, - **kwargs: Any + self, api_version: str, tenant: str, **kwargs: Any ) -> Iterable["_models.Product"]: """A paging operation that doesn't return a full URL, just a fragment. @@ -1755,19 +1482,18 @@ def get_multiple_pages_fragment_next_link( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.OdataProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.OdataProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_multiple_pages_fragment_next_link_request( tenant=tenant, api_version=api_version, - template_url=self.get_multiple_pages_fragment_next_link.metadata['url'], + template_url=self.get_multiple_pages_fragment_next_link.metadata["url"], headers=_headers, params=_params, ) @@ -1775,12 +1501,12 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_next_fragment_request( tenant=tenant, next_link=next_link, api_version=api_version, - template_url='/paging/multiple/fragment/{tenant}/{nextLink}', + template_url="/paging/multiple/fragment/{tenant}/{nextLink}", headers=_headers, params=_params, ) @@ -1800,9 +1526,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1812,17 +1536,13 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_multiple_pages_fragment_next_link.metadata = {'url': "/paging/multiple/fragment/{tenant}"} # type: ignore + get_multiple_pages_fragment_next_link.metadata = {"url": "/paging/multiple/fragment/{tenant}"} # type: ignore @distributed_trace def get_multiple_pages_fragment_with_grouping_next_link( - self, - custom_parameter_group: _models.CustomParameterGroup, - **kwargs: Any + self, custom_parameter_group: _models.CustomParameterGroup, **kwargs: Any ) -> Iterable["_models.Product"]: """A paging operation that doesn't return a full URL, just a fragment with parameters grouped. @@ -1836,12 +1556,11 @@ def get_multiple_pages_fragment_with_grouping_next_link( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.OdataProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.OdataProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _api_version = None @@ -1849,11 +1568,11 @@ def prepare_request(next_link=None): if custom_parameter_group is not None: _api_version = custom_parameter_group.api_version _tenant = custom_parameter_group.tenant - + request = build_get_multiple_pages_fragment_with_grouping_next_link_request( tenant=_tenant, api_version=_api_version, - template_url=self.get_multiple_pages_fragment_with_grouping_next_link.metadata['url'], + template_url=self.get_multiple_pages_fragment_with_grouping_next_link.metadata["url"], headers=_headers, params=_params, ) @@ -1866,12 +1585,12 @@ def prepare_request(next_link=None): if custom_parameter_group is not None: _api_version = custom_parameter_group.api_version _tenant = custom_parameter_group.tenant - + request = build_next_fragment_with_grouping_request( tenant=_tenant, next_link=next_link, api_version=_api_version, - template_url='/paging/multiple/fragmentwithgrouping/{tenant}/{nextLink}', + template_url="/paging/multiple/fragmentwithgrouping/{tenant}/{nextLink}", headers=_headers, params=_params, ) @@ -1891,9 +1610,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1903,11 +1620,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_multiple_pages_fragment_with_grouping_next_link.metadata = {'url': "/paging/multiple/fragmentwithgrouping/{tenant}"} # type: ignore + get_multiple_pages_fragment_with_grouping_next_link.metadata = {"url": "/paging/multiple/fragmentwithgrouping/{tenant}"} # type: ignore def _get_multiple_pages_lro_initial( self, @@ -1915,15 +1630,13 @@ def _get_multiple_pages_lro_initial( paging_get_multiple_pages_lro_options: Optional[_models.PagingGetMultiplePagesLroOptions] = None, **kwargs: Any ) -> _models.ProductResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] _maxresults = None _timeout = None @@ -1935,7 +1648,7 @@ def _get_multiple_pages_lro_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._get_multiple_pages_lro_initial.metadata['url'], + template_url=self._get_multiple_pages_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -1943,9 +1656,7 @@ def _get_multiple_pages_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -1954,15 +1665,14 @@ def _get_multiple_pages_lro_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('ProductResult', pipeline_response) + deserialized = self._deserialize("ProductResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _get_multiple_pages_lro_initial.metadata = {'url': "/paging/multiple/lro"} # type: ignore - + _get_multiple_pages_lro_initial.metadata = {"url": "/paging/multiple/lro"} # type: ignore @distributed_trace def begin_get_multiple_pages_lro( @@ -1996,12 +1706,11 @@ def begin_get_multiple_pages_lro( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -2009,12 +1718,12 @@ def prepare_request(next_link=None): if paging_get_multiple_pages_lro_options is not None: _maxresults = paging_get_multiple_pages_lro_options.maxresults _timeout = paging_get_multiple_pages_lro_options.timeout - + request = build_get_multiple_pages_lro_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_get_multiple_pages_lro.metadata['url'], + template_url=self.begin_get_multiple_pages_lro.metadata["url"], headers=_headers, params=_params, ) @@ -2027,7 +1736,7 @@ def prepare_request(next_link=None): if paging_get_multiple_pages_lro_options is not None: _maxresults = paging_get_multiple_pages_lro_options.maxresults _timeout = paging_get_multiple_pages_lro_options.timeout - + request = build_get_multiple_pages_lro_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -2052,9 +1761,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -2064,23 +1771,19 @@ def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._get_multiple_pages_lro_initial( # type: ignore client_request_id=client_request_id, paging_get_multiple_pages_lro_options=paging_get_multiple_pages_lro_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): def internal_get_next(next_link=None): @@ -2088,36 +1791,27 @@ def internal_get_next(next_link=None): return pipeline_response return get_next(next_link) - return ItemPaged( - internal_get_next, extract_data - ) + return ItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return CustomPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return CustomPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_get_multiple_pages_lro.metadata = {'url': "/paging/multiple/lro"} # type: ignore - + begin_get_multiple_pages_lro.metadata = {"url": "/paging/multiple/lro"} # type: ignore @distributed_trace - def get_paging_model_with_item_name_with_xms_client_name( - self, - **kwargs: Any - ) -> Iterable["_models.Product"]: + def get_paging_model_with_item_name_with_xms_client_name(self, **kwargs: Any) -> Iterable["_models.Product"]: """A paging operation that returns a paging model whose item name is is overriden by x-ms-client-name 'indexes'. @@ -2129,17 +1823,16 @@ def get_paging_model_with_item_name_with_xms_client_name( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.ProductResultValueWithXMSClientName] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ProductResultValueWithXMSClientName] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_get_paging_model_with_item_name_with_xms_client_name_request( - template_url=self.get_paging_model_with_item_name_with_xms_client_name.metadata['url'], + template_url=self.get_paging_model_with_item_name_with_xms_client_name.metadata["url"], headers=_headers, params=_params, ) @@ -2147,7 +1840,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_get_paging_model_with_item_name_with_xms_client_name_request( template_url=next_link, headers=_headers, @@ -2169,9 +1862,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -2181,8 +1872,6 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - get_paging_model_with_item_name_with_xms_client_name.metadata = {'url': "/paging/itemNameWithXMSClientName"} # type: ignore + get_paging_model_with_item_name_with_xms_client_name.metadata = {"url": "/paging/itemNameWithXMSClientName"} # type: ignore diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/_patch.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/_patch.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/custompollerpager/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/setup.py b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/setup.py index 5d73fcaec98..a0d62a120fd 100644 --- a/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/setup.py +++ b/test/azure/legacy/Expected/AcceptanceTests/CustomPollerPager/setup.py @@ -26,5 +26,5 @@ ], long_description="""\ Long-running Operation for AutoRest. - """ + """, ) diff --git a/test/azure/legacy/specification/custompollerpager/README.md b/test/azure/legacy/specification/custompollerpager/README.md index d5d805ee872..6f3e5f67079 100644 --- a/test/azure/legacy/specification/custompollerpager/README.md +++ b/test/azure/legacy/specification/custompollerpager/README.md @@ -16,6 +16,7 @@ output-artifact: code-model-v4-no-tags payload-flattening-threshold: 1 clear-output-folder: true python3-only: true +version-tolerant: false ``` ### Override ItemPaged to custom Pager diff --git a/test/azure/legacy/specification/packagemodecustomize/README.md b/test/azure/legacy/specification/packagemodecustomize/README.md index 106d6677eb4..f6782d0ad69 100644 --- a/test/azure/legacy/specification/packagemodecustomize/README.md +++ b/test/azure/legacy/specification/packagemodecustomize/README.md @@ -16,6 +16,7 @@ payload-flattening-threshold: 1 clear-output-folder: true black: true package-mode: test/azure/legacy/specification/packagemodecustomize/template +version-tolerant: false ``` ```yaml $(package-mode) diff --git a/test/azure/legacy/specification/packagemodedataplane/README.md b/test/azure/legacy/specification/packagemodedataplane/README.md index 5ca9e9abdc7..8cb84d3ed76 100644 --- a/test/azure/legacy/specification/packagemodedataplane/README.md +++ b/test/azure/legacy/specification/packagemodedataplane/README.md @@ -17,4 +17,5 @@ payload-flattening-threshold: 1 clear-output-folder: true black: true package-mode: dataplane +version-tolerant: false ``` diff --git a/test/azure/legacy/specification/packagemodemgmtplane/README.md b/test/azure/legacy/specification/packagemodemgmtplane/README.md index a4c9348015f..10a99e7ee42 100644 --- a/test/azure/legacy/specification/packagemodemgmtplane/README.md +++ b/test/azure/legacy/specification/packagemodemgmtplane/README.md @@ -17,4 +17,5 @@ payload-flattening-threshold: 1 clear-output-folder: true black: true package-mode: mgmtplane +version-tolerant: false ``` diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_configuration.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_configuration.py index b43b076da15..95eff1475e0 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "0.0.0") # type: str + api_version = kwargs.pop("api_version", "0.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_multiapi_service_client.py index c5b45b41b73..36423968d52 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient: # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -35,12 +36,7 @@ class MultiapiServiceClient: # pylint: disable=client-accepts-api-version-keywo :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -52,12 +48,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_vendor.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_vendor.py index 9a223d15524..0dafe0e287f 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/_vendor.py @@ -7,6 +7,7 @@ from azure.core.pipeline.transport import HttpRequest + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_configuration.py index c243f736220..dd93e8e7486 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "0.0.0") # type: str + api_version = kwargs.pop("api_version", "0.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_multiapi_service_client.py index d792d667182..25ee20c4975 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient: # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -36,10 +37,7 @@ class MultiapiServiceClient: # pylint: disable=client-accepts-api-version-keywo """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -52,12 +50,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/__init__.py index 4efa8c8a882..0bd5533d079 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'OperationGroupOneOperations', + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/_operation_group_one_operations.py index 3f4ba0b787e..bd06852bb8d 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,9 +25,11 @@ from ... import models as _models from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -41,12 +49,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -54,21 +58,18 @@ async def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "0.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "0.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -76,9 +77,7 @@ async def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -91,5 +90,4 @@ async def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/__init__.py index 82d439459f8..e456b9f7fca 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/__init__.py @@ -12,10 +12,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', + "Error", + "PagingResult", + "Product", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/_models_py3.py index f2d56fb477a..acbbd66dd8d 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~multiapi.v0.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/__init__.py index 4efa8c8a882..0bd5533d079 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'OperationGroupOneOperations', + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/_operation_group_one_operations.py index d5ec3dbf7c9..66771c54a37 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,38 +25,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "0.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "0.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -71,12 +71,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -84,21 +80,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "0.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "0.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -106,9 +99,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -121,5 +112,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v0/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_configuration.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_configuration.py index 0405f9d9c8a..ef48459c526 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_multiapi_service_client.py index 454ecf816ad..ebc94ff2d89 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di Retry-After header is present. """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -54,12 +50,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_vendor.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_configuration.py index 280ca262fc1..7f63fc733ab 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_multiapi_service_client.py index 654b5409629..66b9a9f443a 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -38,10 +39,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -54,12 +52,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_multiapi_service_client_operations.py index b2169458fad..8fe59679a12 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod @@ -22,19 +28,22 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_lro_and_paging_request, build_test_lro_request, build_test_one_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_lro_and_paging_request, + build_test_lro_request, + build_test_one_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async async def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -47,23 +56,20 @@ async def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -71,9 +77,7 @@ async def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -86,24 +90,19 @@ async def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore async def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -112,7 +111,7 @@ async def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -120,7 +119,7 @@ async def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -128,9 +127,7 @@ async def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -142,23 +139,18 @@ async def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload async def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -183,11 +175,7 @@ async def begin_test_lro( @overload async def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -210,12 +198,9 @@ async def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -240,51 +225,44 @@ async def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore async def _test_lro_and_paging_initial( self, @@ -292,15 +270,13 @@ async def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -312,7 +288,7 @@ async def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -320,9 +296,7 @@ async def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -331,15 +305,14 @@ async def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def begin_test_lro_and_paging( @@ -372,12 +345,11 @@ async def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -385,12 +357,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -403,7 +375,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -428,9 +400,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -440,23 +410,19 @@ async def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): async def internal_get_next(next_link=None): @@ -464,36 +430,28 @@ async def internal_get_next(next_link=None): return pipeline_response return await get_next(next_link) - return AsyncItemPaged( - internal_get_next, extract_data - ) + return AsyncItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -504,22 +462,19 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -527,9 +482,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -542,5 +495,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_operation_group_one_operations.py index 847b97c94f0..8a8bf321597 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,12 +50,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -55,21 +59,18 @@ async def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -77,9 +78,7 @@ async def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -92,5 +91,4 @@ async def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/__init__.py index 134ebf1ea8f..ee955d7ee76 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/__init__.py @@ -13,11 +13,12 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', - 'TestLroAndPagingOptions', + "Error", + "PagingResult", + "Product", + "TestLroAndPagingOptions", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/_models_py3.py index 7727a93861c..bafcee44eae 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~multiapi.v1.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int @@ -116,13 +99,7 @@ class TestLroAndPagingOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_multiapi_service_client_operations.py index 2cec5e160d7..cc1bf7ef671 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -22,138 +28,99 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_lro_request( - **kwargs: Any -) -> HttpRequest: +def build_test_lro_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lro") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, headers=_headers, **kwargs) def build_test_lro_and_paging_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lroAndPaging") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, headers=_headers, **kwargs) -def build_test_different_calls_request( - *, - greeting_in_english: str, - **kwargs: Any -) -> HttpRequest: +def build_test_different_calls_request(*, greeting_in_english: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -166,23 +133,20 @@ def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -190,9 +154,7 @@ def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -205,24 +167,19 @@ def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -231,7 +188,7 @@ def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -239,7 +196,7 @@ def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -247,9 +204,7 @@ def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -261,23 +216,18 @@ def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -301,11 +251,7 @@ def begin_test_lro( @overload def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -327,12 +273,9 @@ def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -356,51 +299,44 @@ def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore def _test_lro_and_paging_initial( self, @@ -408,15 +344,13 @@ def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -428,7 +362,7 @@ def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -436,9 +370,7 @@ def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -447,15 +379,14 @@ def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def begin_test_lro_and_paging( @@ -488,12 +419,11 @@ def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -501,12 +431,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -519,7 +449,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -544,9 +474,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -556,23 +484,19 @@ def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): def internal_get_next(next_link=None): @@ -580,36 +504,28 @@ def internal_get_next(next_link=None): return pipeline_response return get_next(next_link) - return ItemPaged( - internal_get_next, extract_data - ) + return ItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -620,22 +536,19 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -643,9 +556,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -658,5 +569,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_operation_group_one_operations.py index 395686f7feb..db6fe81cf6e 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,38 +25,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -71,12 +71,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -84,21 +80,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -106,9 +99,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -121,5 +112,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v1/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_configuration.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_configuration.py index 62781352cd1..1f51c24fadc 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_multiapi_service_client.py index 7030ce79d16..93f4313557b 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_vendor.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_configuration.py index c6e6797cc40..a59e2e5a4ef 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_multiapi_service_client.py index bfe0e6570b8..6956aa688e2 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -38,10 +39,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +55,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_multiapi_service_client_operations.py index 96f4f0c6d70..26a95b45bbe 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,18 +26,14 @@ from ..._vendor import _convert_request from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_one_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async - async def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + async def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -43,23 +45,20 @@ async def test_one( :rtype: ~multiapi.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -67,9 +66,7 @@ async def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -79,22 +76,18 @@ async def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -107,23 +100,20 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -131,9 +121,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -146,5 +134,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_operation_group_one_operations.py index 147a71a977c..7f2db91d891 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_three_request, build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,14 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -66,11 +69,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -85,12 +84,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -105,17 +101,15 @@ async def test_two( :rtype: ~multiapi.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -124,7 +118,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -133,7 +127,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +135,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -153,21 +145,17 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace_async - async def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -175,21 +163,18 @@ async def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -197,9 +182,7 @@ async def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,5 +195,4 @@ async def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_operation_group_two_operations.py index 00cc7a63a56..ffff1b50f1b 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -42,12 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any + self, parameter_one: bool, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -58,22 +63,19 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -81,9 +83,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -96,5 +96,4 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/__init__.py index 8a114791bc4..94ee92cd4eb 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/__init__.py @@ -11,9 +11,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelTwo', + "Error", + "ModelTwo", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/_models_py3.py index 98011f2aa4e..128cec341f5 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -56,7 +50,7 @@ class ModelTwo(_serialization.Model): """ _validation = { - 'id': {'required': True}, + "id": {"required": True}, } _attribute_map = { @@ -64,13 +58,7 @@ class ModelTwo(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - id: int, # pylint: disable=redefined-builtin - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, id: int, message: Optional[str] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: Required. :paramtype id: int diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_multiapi_service_client_operations.py index 133cb81f375..49a2f28d681 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,87 +25,63 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) def build_test_different_calls_request( - *, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + *, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -111,23 +93,20 @@ def test_one( :rtype: ~multiapi.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -135,9 +114,7 @@ def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -147,22 +124,18 @@ def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -175,23 +148,20 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -199,9 +169,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -214,5 +182,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_operation_group_one_operations.py index 865314e0c8f..9263cdc1909 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_three_request( - **kwargs: Any -) -> HttpRequest: +def build_test_three_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testThreeEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -125,11 +112,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -144,13 +127,8 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace - def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_two(self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. :param parameter_one: A ModelTwo parameter. Is either a model type or a IO type. Default value @@ -164,17 +142,15 @@ def test_two( :rtype: ~multiapi.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -183,7 +159,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -192,7 +168,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +176,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,21 +186,17 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace - def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -234,21 +204,18 @@ def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -256,9 +223,7 @@ def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -271,5 +236,4 @@ def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_operation_group_two_operations.py index b9c2b00a2c4..90e5a99f69b 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,33 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - *, - parameter_one: bool, - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(*, parameter_one: bool, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['parameterOne'] = _SERIALIZER.query("parameter_one", parameter_one, 'bool') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["parameterOne"] = _SERIALIZER.query("parameter_one", parameter_one, "bool") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -74,13 +72,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any - ) -> None: + def test_four(self, parameter_one: bool, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFour should be in OperationGroupTwoOperations. :param parameter_one: A boolean parameter. Required. @@ -90,22 +83,19 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -113,9 +103,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -128,5 +116,4 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v2/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_configuration.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_configuration.py index ca6598b8a0b..751e5705268 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_multiapi_service_client.py index c5dcf174f17..e44bcf7fc6e 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_vendor.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_configuration.py index 065ab150afb..481a72d286a 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapi/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapi/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_multiapi_service_client.py index 049a7df0947..d6e7349ca0f 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -38,10 +39,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +55,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_multiapi_service_client_operations.py index cd79e3bac2a..15ecbe2364d 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,18 +26,19 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_paging_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_paging_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> AsyncIterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> AsyncIterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -42,17 +49,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -60,7 +66,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -82,9 +88,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -94,11 +98,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -121,24 +123,21 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -146,9 +145,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -161,5 +158,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_operation_group_one_operations.py index f3f265c2382..15e59f0492c 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,7 +50,6 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( self, @@ -66,11 +73,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -85,12 +88,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -105,17 +105,15 @@ async def test_two( :rtype: ~multiapi.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -124,7 +122,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -133,7 +131,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +139,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -153,12 +149,11 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_operation_group_two_operations.py index a7bce203f7e..38546a27f66 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_five_request, build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -42,14 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -66,11 +69,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -86,12 +85,9 @@ async def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -105,17 +101,15 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -123,7 +117,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -133,7 +127,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +135,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -156,14 +148,10 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace_async - async def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -171,21 +159,18 @@ async def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -193,9 +178,7 @@ async def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -208,5 +191,4 @@ async def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/__init__.py index 5fdae05688a..0e34072c503 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/__init__.py @@ -15,12 +15,13 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelThree', - 'PagingResult', - 'SourcePath', - 'ContentType', + "Error", + "ModelThree", + "PagingResult", + "SourcePath", + "ContentType", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_models_py3.py index e2194e63b49..cb750217706 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -55,12 +49,7 @@ class ModelThree(_serialization.Model): "optional_property": {"key": "optionalProperty", "type": "str"}, } - def __init__( - self, - *, - optional_property: Optional[str] = None, - **kwargs - ): + def __init__(self, *, optional_property: Optional[str] = None, **kwargs): """ :keyword optional_property: :paramtype optional_property: str @@ -84,11 +73,7 @@ class PagingResult(_serialization.Model): } def __init__( - self, - *, - values: Optional[List["_models.ModelThree"]] = None, - next_link: Optional[str] = None, - **kwargs + self, *, values: Optional[List["_models.ModelThree"]] = None, next_link: Optional[str] = None, **kwargs ): """ :keyword values: @@ -109,19 +94,14 @@ class SourcePath(_serialization.Model): """ _validation = { - 'source': {'max_length': 2048}, + "source": {"max_length": 2048}, } _attribute_map = { "source": {"key": "source", "type": "str"}, } - def __init__( - self, - *, - source: Optional[str] = None, - **kwargs - ): + def __init__(self, *, source: Optional[str] = None, **kwargs): """ :keyword source: File source path. :paramtype source: str diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_multiapi_service_client_enums.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_multiapi_service_client_enums.py index e1cacc66105..a60e2b8579a 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_multiapi_service_client_enums.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_multiapi_service_client_enums.py @@ -11,8 +11,7 @@ class ContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Content type for upload. - """ + """Content type for upload.""" #: Content Type 'application/pdf' APPLICATION_PDF = "application/pdf" diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_multiapi_service_client_operations.py index 524bea4ca57..dca9d95c7c2 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Iterable, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -20,32 +26,26 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_paging_request( - **kwargs: Any -) -> HttpRequest: +def build_test_paging_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/paging") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) def build_test_different_calls_request( @@ -58,38 +58,29 @@ def build_test_different_calls_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") if greeting_in_french is not None: - _headers['greetingInFrench'] = _SERIALIZER.header("greeting_in_french", greeting_in_french, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInFrench"] = _SERIALIZER.header("greeting_in_french", greeting_in_french, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> Iterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> Iterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -100,17 +91,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -118,7 +108,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -140,9 +130,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -152,11 +140,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -179,24 +165,21 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -204,9 +187,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -219,5 +200,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_operation_group_one_operations.py index d1739c00aa7..76f16f42ead 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,35 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -74,7 +74,6 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( self, @@ -98,11 +97,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -117,12 +112,9 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -137,17 +129,15 @@ def test_two( :rtype: ~multiapi.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -156,7 +146,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -165,7 +155,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -173,9 +163,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -185,12 +173,11 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_operation_group_two_operations.py index c0e85364101..e1854803e63 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_five_request( - **kwargs: Any -) -> HttpRequest: +def build_test_five_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFiveEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -125,11 +112,7 @@ def test_four( # pylint: disable=inconsistent-return-statements @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -145,12 +128,9 @@ def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -164,17 +144,15 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -182,7 +160,7 @@ def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -192,7 +170,7 @@ def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +178,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -215,14 +191,10 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace - def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -230,21 +202,18 @@ def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -252,9 +221,7 @@ def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -267,5 +234,4 @@ def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/Multiapi/multiapi/v3/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_configuration.py index 4ec90aeb213..04353a68e6d 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_configuration.py @@ -15,6 +15,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -28,35 +29,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - kwargs.setdefault('sdk_moniker', 'multiapicredentialdefaultpolicy/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "multiapicredentialdefaultpolicy/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, "api-key", **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_multiapi_service_client.py index 69d9e83fac4..206261b5b5e 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_multiapi_service_client.py @@ -18,6 +18,7 @@ from ._configuration import MultiapiServiceClientConfiguration from .operations import MultiapiServiceClientOperationsMixin, OperationGroupOneOperations + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -35,12 +36,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di Retry-After header is present. """ - def __init__( - self, - credential: AzureKeyCredential, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -52,12 +48,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_configuration.py index c33e0cb275c..041eb5fc10d 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_configuration.py @@ -15,6 +15,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -28,34 +29,27 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - kwargs.setdefault('sdk_moniker', 'multiapicredentialdefaultpolicy/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "multiapicredentialdefaultpolicy/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, "api-key", **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_multiapi_service_client.py index 346ce9a3fe4..268668c3ea6 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_multiapi_service_client.py @@ -18,6 +18,7 @@ from ._configuration import MultiapiServiceClientConfiguration from .operations import MultiapiServiceClientOperationsMixin, OperationGroupOneOperations + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -35,12 +36,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di Retry-After header is present. """ - def __init__( - self, - credential: AzureKeyCredential, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -52,12 +48,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_multiapi_service_client_operations.py index 42ff4ac81fc..a7df273a288 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod @@ -22,19 +28,22 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_lro_and_paging_request, build_test_lro_request, build_test_one_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_lro_and_paging_request, + build_test_lro_request, + build_test_one_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async async def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -47,23 +56,20 @@ async def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -71,9 +77,7 @@ async def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -86,24 +90,19 @@ async def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore async def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -112,7 +111,7 @@ async def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -120,7 +119,7 @@ async def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -128,9 +127,7 @@ async def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -142,23 +139,18 @@ async def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload async def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -183,11 +175,7 @@ async def begin_test_lro( @overload async def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -210,12 +198,9 @@ async def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -240,51 +225,44 @@ async def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore async def _test_lro_and_paging_initial( self, @@ -292,15 +270,13 @@ async def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -312,7 +288,7 @@ async def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -320,9 +296,7 @@ async def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -331,15 +305,14 @@ async def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def begin_test_lro_and_paging( @@ -373,12 +346,11 @@ async def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -386,12 +358,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -404,7 +376,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -429,9 +401,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -441,23 +411,19 @@ async def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): async def internal_get_next(next_link=None): @@ -465,36 +431,28 @@ async def internal_get_next(next_link=None): return pipeline_response return await get_next(next_link) - return AsyncItemPaged( - internal_get_next, extract_data - ) + return AsyncItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -505,22 +463,19 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -528,9 +483,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -543,5 +496,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_operation_group_one_operations.py index fc9665cd663..2d08ebd17e9 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,12 +50,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -55,21 +59,18 @@ async def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -77,9 +78,7 @@ async def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -92,5 +91,4 @@ async def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/__init__.py index 134ebf1ea8f..ee955d7ee76 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/__init__.py @@ -13,11 +13,12 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', - 'TestLroAndPagingOptions', + "Error", + "PagingResult", + "Product", + "TestLroAndPagingOptions", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/_models_py3.py index 5184cad9edc..5fbee115d52 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~multiapicredentialdefaultpolicy.v1.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int @@ -116,13 +99,7 @@ class TestLroAndPagingOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_multiapi_service_client_operations.py index aca9e4f6fbb..46695e998b8 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -22,138 +28,99 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_lro_request( - **kwargs: Any -) -> HttpRequest: +def build_test_lro_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lro") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, headers=_headers, **kwargs) def build_test_lro_and_paging_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lroAndPaging") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, headers=_headers, **kwargs) -def build_test_different_calls_request( - *, - greeting_in_english: str, - **kwargs: Any -) -> HttpRequest: +def build_test_different_calls_request(*, greeting_in_english: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -166,23 +133,20 @@ def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -190,9 +154,7 @@ def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -205,24 +167,19 @@ def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -231,7 +188,7 @@ def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -239,7 +196,7 @@ def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -247,9 +204,7 @@ def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -261,23 +216,18 @@ def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -301,11 +251,7 @@ def begin_test_lro( @overload def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -327,12 +273,9 @@ def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -356,51 +299,44 @@ def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore def _test_lro_and_paging_initial( self, @@ -408,15 +344,13 @@ def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -428,7 +362,7 @@ def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -436,9 +370,7 @@ def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -447,15 +379,14 @@ def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def begin_test_lro_and_paging( @@ -489,12 +420,11 @@ def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -502,12 +432,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -520,7 +450,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -545,9 +475,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -557,23 +485,19 @@ def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): def internal_get_next(next_link=None): @@ -581,36 +505,28 @@ def internal_get_next(next_link=None): return pipeline_response return get_next(next_link) - return ItemPaged( - internal_get_next, extract_data - ) + return ItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -621,22 +537,19 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -644,9 +557,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -659,5 +570,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_operation_group_one_operations.py index 67064dfad41..8a7c9739ca9 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,38 +25,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -71,12 +71,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -84,21 +80,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -106,9 +99,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -121,5 +112,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v1/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_configuration.py index 7b08ebe5f3c..ce0e9c69406 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_configuration.py @@ -15,6 +15,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -28,35 +29,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - kwargs.setdefault('sdk_moniker', 'multiapicredentialdefaultpolicy/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "multiapicredentialdefaultpolicy/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, "api-key", **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_multiapi_service_client.py index 12f83f711e6..4eb63ea4c7f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_multiapi_service_client.py @@ -18,6 +18,7 @@ from ._configuration import MultiapiServiceClientConfiguration from .operations import MultiapiServiceClientOperationsMixin, OperationGroupOneOperations, OperationGroupTwoOperations + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -36,12 +37,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -56,12 +52,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_configuration.py index 892e17f4632..6e595a9fd4c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_configuration.py @@ -15,6 +15,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -28,34 +29,27 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - kwargs.setdefault('sdk_moniker', 'multiapicredentialdefaultpolicy/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "multiapicredentialdefaultpolicy/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, "api-key", **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_multiapi_service_client.py index 25fc8afeeba..82a9b1d7a15 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_multiapi_service_client.py @@ -18,6 +18,7 @@ from ._configuration import MultiapiServiceClientConfiguration from .operations import MultiapiServiceClientOperationsMixin, OperationGroupOneOperations, OperationGroupTwoOperations + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -36,12 +37,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -56,12 +52,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_multiapi_service_client_operations.py index dd50e0508d8..bc8b92e87be 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,18 +26,14 @@ from ..._vendor import _convert_request from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_one_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async - async def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + async def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -43,23 +45,20 @@ async def test_one( :rtype: ~multiapicredentialdefaultpolicy.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -67,9 +66,7 @@ async def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -79,22 +76,18 @@ async def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -107,23 +100,20 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -131,9 +121,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -146,5 +134,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_operation_group_one_operations.py index 0070a830777..75d8901e3f7 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_three_request, build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,14 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -66,11 +69,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -85,12 +84,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -105,17 +101,15 @@ async def test_two( :rtype: ~multiapicredentialdefaultpolicy.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -124,7 +118,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -133,7 +127,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +135,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -153,21 +145,17 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace_async - async def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -175,21 +163,18 @@ async def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -197,9 +182,7 @@ async def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,5 +195,4 @@ async def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_operation_group_two_operations.py index 5b741d4d91c..a9c7661a522 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -42,12 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any + self, parameter_one: bool, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -58,22 +63,19 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -81,9 +83,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -96,5 +96,4 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/__init__.py index 8a114791bc4..94ee92cd4eb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/__init__.py @@ -11,9 +11,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelTwo', + "Error", + "ModelTwo", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/_models_py3.py index 98011f2aa4e..128cec341f5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -56,7 +50,7 @@ class ModelTwo(_serialization.Model): """ _validation = { - 'id': {'required': True}, + "id": {"required": True}, } _attribute_map = { @@ -64,13 +58,7 @@ class ModelTwo(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - id: int, # pylint: disable=redefined-builtin - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, id: int, message: Optional[str] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: Required. :paramtype id: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_multiapi_service_client_operations.py index 1f2a64b90dc..c1821207f46 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,87 +25,63 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) def build_test_different_calls_request( - *, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + *, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -111,23 +93,20 @@ def test_one( :rtype: ~multiapicredentialdefaultpolicy.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -135,9 +114,7 @@ def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -147,22 +124,18 @@ def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -175,23 +148,20 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -199,9 +169,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -214,5 +182,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_operation_group_one_operations.py index adebdcfe806..cd03e0a3ee2 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_three_request( - **kwargs: Any -) -> HttpRequest: +def build_test_three_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testThreeEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -125,11 +112,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -144,13 +127,8 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace - def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_two(self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. :param parameter_one: A ModelTwo parameter. Is either a model type or a IO type. Default value @@ -164,17 +142,15 @@ def test_two( :rtype: ~multiapicredentialdefaultpolicy.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -183,7 +159,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -192,7 +168,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +176,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,21 +186,17 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace - def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -234,21 +204,18 @@ def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -256,9 +223,7 @@ def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -271,5 +236,4 @@ def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_operation_group_two_operations.py index f4d15cb6211..52f3686e246 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,33 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - *, - parameter_one: bool, - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(*, parameter_one: bool, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['parameterOne'] = _SERIALIZER.query("parameter_one", parameter_one, 'bool') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["parameterOne"] = _SERIALIZER.query("parameter_one", parameter_one, "bool") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -74,13 +72,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any - ) -> None: + def test_four(self, parameter_one: bool, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFour should be in OperationGroupTwoOperations. :param parameter_one: A boolean parameter. Required. @@ -90,22 +83,19 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -113,9 +103,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -128,5 +116,4 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v2/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_configuration.py index 6c999ec1d45..b859b08226e 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_configuration.py @@ -15,6 +15,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -28,35 +29,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - kwargs.setdefault('sdk_moniker', 'multiapicredentialdefaultpolicy/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "multiapicredentialdefaultpolicy/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, "api-key", **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_multiapi_service_client.py index d95b209df8b..5ac2534c495 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_multiapi_service_client.py @@ -18,6 +18,7 @@ from ._configuration import MultiapiServiceClientConfiguration from .operations import MultiapiServiceClientOperationsMixin, OperationGroupOneOperations, OperationGroupTwoOperations + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -36,12 +37,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -56,12 +52,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_configuration.py index 70915c0238b..31efb82259a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_configuration.py @@ -15,6 +15,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -28,34 +29,27 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - kwargs.setdefault('sdk_moniker', 'multiapicredentialdefaultpolicy/{}'.format(VERSION)) + kwargs.setdefault("sdk_moniker", "multiapicredentialdefaultpolicy/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: self.authentication_policy = policies.AzureKeyCredentialPolicy(self.credential, "api-key", **kwargs) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_multiapi_service_client.py index 1c7e7ca6111..3d9dcb24966 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_multiapi_service_client.py @@ -18,6 +18,7 @@ from ._configuration import MultiapiServiceClientConfiguration from .operations import MultiapiServiceClientOperationsMixin, OperationGroupOneOperations, OperationGroupTwoOperations + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -36,12 +37,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: AzureKeyCredential, - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: AzureKeyCredential, base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -56,12 +52,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_multiapi_service_client_operations.py index 8adb9f00fa4..3b55603ed98 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,18 +26,19 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_paging_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_paging_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> AsyncIterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> AsyncIterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -43,17 +50,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -61,7 +67,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -83,9 +89,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -95,11 +99,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -122,24 +124,21 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -147,9 +146,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -162,5 +159,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_operation_group_one_operations.py index 1b688f9d8bd..48c38acbebf 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,7 +50,6 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( self, @@ -66,11 +73,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -85,12 +88,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -105,17 +105,15 @@ async def test_two( :rtype: ~multiapicredentialdefaultpolicy.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -124,7 +122,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -133,7 +131,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +139,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -153,12 +149,11 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_operation_group_two_operations.py index 5838299031c..9c2d775a8fe 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_five_request, build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -42,14 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -66,11 +69,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -86,12 +85,9 @@ async def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -105,17 +101,15 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -123,7 +117,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -133,7 +127,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +135,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -156,14 +148,10 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace_async - async def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -171,21 +159,18 @@ async def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -193,9 +178,7 @@ async def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -208,5 +191,4 @@ async def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/__init__.py index 5fdae05688a..0e34072c503 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/__init__.py @@ -15,12 +15,13 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelThree', - 'PagingResult', - 'SourcePath', - 'ContentType', + "Error", + "ModelThree", + "PagingResult", + "SourcePath", + "ContentType", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_models_py3.py index a70e69e04f6..1d5ab5c2bc3 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -55,12 +49,7 @@ class ModelThree(_serialization.Model): "optional_property": {"key": "optionalProperty", "type": "str"}, } - def __init__( - self, - *, - optional_property: Optional[str] = None, - **kwargs - ): + def __init__(self, *, optional_property: Optional[str] = None, **kwargs): """ :keyword optional_property: :paramtype optional_property: str @@ -84,11 +73,7 @@ class PagingResult(_serialization.Model): } def __init__( - self, - *, - values: Optional[List["_models.ModelThree"]] = None, - next_link: Optional[str] = None, - **kwargs + self, *, values: Optional[List["_models.ModelThree"]] = None, next_link: Optional[str] = None, **kwargs ): """ :keyword values: @@ -109,19 +94,14 @@ class SourcePath(_serialization.Model): """ _validation = { - 'source': {'max_length': 2048}, + "source": {"max_length": 2048}, } _attribute_map = { "source": {"key": "source", "type": "str"}, } - def __init__( - self, - *, - source: Optional[str] = None, - **kwargs - ): + def __init__(self, *, source: Optional[str] = None, **kwargs): """ :keyword source: File source path. :paramtype source: str diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_multiapi_service_client_enums.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_multiapi_service_client_enums.py index e1cacc66105..a60e2b8579a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_multiapi_service_client_enums.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_multiapi_service_client_enums.py @@ -11,8 +11,7 @@ class ContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Content type for upload. - """ + """Content type for upload.""" #: Content Type 'application/pdf' APPLICATION_PDF = "application/pdf" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_multiapi_service_client_operations.py index 1a9b4975f98..1fd3e16eb45 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Iterable, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -20,32 +26,26 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_paging_request( - **kwargs: Any -) -> HttpRequest: +def build_test_paging_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/paging") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) def build_test_different_calls_request( @@ -58,38 +58,29 @@ def build_test_different_calls_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") if greeting_in_french is not None: - _headers['greetingInFrench'] = _SERIALIZER.header("greeting_in_french", greeting_in_french, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInFrench"] = _SERIALIZER.header("greeting_in_french", greeting_in_french, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> Iterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> Iterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -100,17 +91,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -118,7 +108,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -140,9 +130,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -152,11 +140,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -179,24 +165,21 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -204,9 +187,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -219,5 +200,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_operation_group_one_operations.py index 813b4c5a104..fa9c17d0dda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,35 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -74,7 +74,6 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( self, @@ -98,11 +97,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -117,12 +112,9 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -137,17 +129,15 @@ def test_two( :rtype: ~multiapicredentialdefaultpolicy.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -156,7 +146,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -165,7 +155,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -173,9 +163,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -185,12 +173,11 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_operation_group_two_operations.py index d7eaf53cef4..e0c57f0c823 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_five_request( - **kwargs: Any -) -> HttpRequest: +def build_test_five_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFiveEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -125,11 +112,7 @@ def test_four( # pylint: disable=inconsistent-return-statements @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -145,12 +128,9 @@ def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -164,17 +144,15 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -182,7 +160,7 @@ def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -192,7 +170,7 @@ def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +178,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -215,14 +191,10 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace - def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -230,21 +202,18 @@ def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -252,9 +221,7 @@ def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -267,5 +234,4 @@ def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCredentialDefaultPolicy/multiapicredentialdefaultpolicy/v3/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/__init__.py index f46be289f59..d54abac2542 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiCustomBaseUrlServiceClient'] + +__all__ = ["MultiapiCustomBaseUrlServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_configuration.py index 2395eec1a31..d370388d581 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiCustomBaseUrlServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiCustomBaseUrlServiceClient. @@ -32,14 +33,9 @@ class MultiapiCustomBaseUrlServiceClientConfiguration(Configuration): # pylint: :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - endpoint: str, - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", endpoint: str, **kwargs: Any) -> None: super(MultiapiCustomBaseUrlServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -49,25 +45,26 @@ def __init__( self.credential = credential self.endpoint = endpoint self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapicustombaseurl/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapicustombaseurl/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.BearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_multiapi_custom_base_url_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_multiapi_custom_base_url_service_client.py index 7959c49da18..2bbbc5e7145 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_multiapi_custom_base_url_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_multiapi_custom_base_url_service_client.py @@ -21,7 +21,10 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential -class MultiapiCustomBaseUrlServiceClient(MultiapiCustomBaseUrlServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword + +class MultiapiCustomBaseUrlServiceClient( + MultiapiCustomBaseUrlServiceClientOperationsMixin +): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi custom base url testing. :param credential: Credential needed for the client to connect to Azure. Required. @@ -33,14 +36,11 @@ class MultiapiCustomBaseUrlServiceClient(MultiapiCustomBaseUrlServiceClientOpera :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - endpoint: str, - **kwargs: Any - ) -> None: - _endpoint = '{Endpoint}/multiapiCustomBaseUrl/v1' - self._config = MultiapiCustomBaseUrlServiceClientConfiguration(credential=credential, endpoint=endpoint, **kwargs) + def __init__(self, credential: "TokenCredential", endpoint: str, **kwargs: Any) -> None: + _endpoint = "{Endpoint}/multiapiCustomBaseUrl/v1" + self._config = MultiapiCustomBaseUrlServiceClientConfiguration( + credential=credential, endpoint=endpoint, **kwargs + ) self._client = PipelineClient(base_url=_endpoint, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} @@ -48,12 +48,7 @@ def __init__( self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest @@ -73,7 +68,7 @@ def _send_request( request_copy = deepcopy(request) path_format_arguments = { - "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), } request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_vendor.py index 5a1296bf576..6d8c700cc31 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiCustomBaseUrlServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/__init__.py index f46be289f59..d54abac2542 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiCustomBaseUrlServiceClient'] + +__all__ = ["MultiapiCustomBaseUrlServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_configuration.py index b9011630a3c..4b1a08574a6 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiCustomBaseUrlServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiCustomBaseUrlServiceClient. @@ -32,14 +33,9 @@ class MultiapiCustomBaseUrlServiceClientConfiguration(Configuration): # pylint: :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - endpoint: str, - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", endpoint: str, **kwargs: Any) -> None: super(MultiapiCustomBaseUrlServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -49,24 +45,23 @@ def __init__( self.credential = credential self.endpoint = endpoint self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapicustombaseurl/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapicustombaseurl/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_multiapi_custom_base_url_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_multiapi_custom_base_url_service_client.py index 4b7d83b5fd3..157440473b6 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_multiapi_custom_base_url_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_multiapi_custom_base_url_service_client.py @@ -21,7 +21,10 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -class MultiapiCustomBaseUrlServiceClient(MultiapiCustomBaseUrlServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword + +class MultiapiCustomBaseUrlServiceClient( + MultiapiCustomBaseUrlServiceClientOperationsMixin +): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi custom base url testing. :param credential: Credential needed for the client to connect to Azure. Required. @@ -33,14 +36,11 @@ class MultiapiCustomBaseUrlServiceClient(MultiapiCustomBaseUrlServiceClientOpera :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - endpoint: str, - **kwargs: Any - ) -> None: - _endpoint = '{Endpoint}/multiapiCustomBaseUrl/v1' - self._config = MultiapiCustomBaseUrlServiceClientConfiguration(credential=credential, endpoint=endpoint, **kwargs) + def __init__(self, credential: "AsyncTokenCredential", endpoint: str, **kwargs: Any) -> None: + _endpoint = "{Endpoint}/multiapiCustomBaseUrl/v1" + self._config = MultiapiCustomBaseUrlServiceClientConfiguration( + credential=credential, endpoint=endpoint, **kwargs + ) self._client = AsyncPipelineClient(base_url=_endpoint, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} @@ -48,12 +48,7 @@ def __init__( self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest @@ -73,7 +68,7 @@ def _send_request( request_copy = deepcopy(request) path_format_arguments = { - "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), } request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_vendor.py index 6d419449fe8..a7eccdafd02 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiCustomBaseUrlServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/__init__.py index f52fd145cca..31c719daa45 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiCustomBaseUrlServiceClientOperationsMixin', + "MultiapiCustomBaseUrlServiceClientOperationsMixin", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/_multiapi_custom_base_url_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/_multiapi_custom_base_url_service_client_operations.py index 80648b62939..a5a938d30c1 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/_multiapi_custom_base_url_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/_multiapi_custom_base_url_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,17 +25,14 @@ from ..._vendor import _convert_request from ...operations._multiapi_custom_base_url_service_client_operations import build_test_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiCustomBaseUrlServiceClientOperationsMixin(MixinABC): +class MultiapiCustomBaseUrlServiceClientOperationsMixin(MixinABC): @distributed_trace_async - async def test( # pylint: disable=inconsistent-return-statements - self, - id: int, - **kwargs: Any - ) -> None: + async def test(self, id: int, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Should be a mixin operation. Put in 1 for the required parameter and have the correct api version of 1.0.0 to pass. @@ -40,35 +43,30 @@ async def test( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_request( id=id, api_version=api_version, - template_url=self.test.metadata['url'], + template_url=self.test.metadata["url"], headers=_headers, params=_params, ) request = _convert_request(request) path_format_arguments = { - "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), } request.url = self._client.format_url(request.url, **path_format_arguments) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -81,5 +79,4 @@ async def test( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test.metadata = {'url': "/test"} # type: ignore - + test.metadata = {"url": "/test"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/__init__.py index 0b7cd153702..925b67c63d5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/__init__.py @@ -10,8 +10,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', + "Error", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/_models_py3.py index b5faa0b9e15..58a41ab9d6d 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/__init__.py index f52fd145cca..31c719daa45 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiCustomBaseUrlServiceClientOperationsMixin', + "MultiapiCustomBaseUrlServiceClientOperationsMixin", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/_multiapi_custom_base_url_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/_multiapi_custom_base_url_service_client_operations.py index e3122294e47..891820e0bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/_multiapi_custom_base_url_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/_multiapi_custom_base_url_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,50 +24,37 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_request( - *, - id: int, - **kwargs: Any -) -> HttpRequest: +def build_test_request(*, id: int, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/test") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["id"] = _SERIALIZER.query("id", id, "int") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiCustomBaseUrlServiceClientOperationsMixin(MixinABC): +class MultiapiCustomBaseUrlServiceClientOperationsMixin(MixinABC): @distributed_trace - def test( # pylint: disable=inconsistent-return-statements - self, - id: int, - **kwargs: Any - ) -> None: + def test(self, id: int, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Should be a mixin operation. Put in 1 for the required parameter and have the correct api version of 1.0.0 to pass. @@ -72,35 +65,30 @@ def test( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_request( id=id, api_version=api_version, - template_url=self.test.metadata['url'], + template_url=self.test.metadata["url"], headers=_headers, params=_params, ) request = _convert_request(request) path_format_arguments = { - "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), } request.url = self._client.format_url(request.url, **path_format_arguments) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -113,5 +101,4 @@ def test( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test.metadata = {'url': "/test"} # type: ignore - + test.metadata = {"url": "/test"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v1/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/__init__.py index f46be289f59..d54abac2542 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiCustomBaseUrlServiceClient'] + +__all__ = ["MultiapiCustomBaseUrlServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_configuration.py index 13b5f56f531..8a242e1d6ff 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiCustomBaseUrlServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiCustomBaseUrlServiceClient. @@ -32,14 +33,9 @@ class MultiapiCustomBaseUrlServiceClientConfiguration(Configuration): # pylint: :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - endpoint: str, - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", endpoint: str, **kwargs: Any) -> None: super(MultiapiCustomBaseUrlServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -49,25 +45,26 @@ def __init__( self.credential = credential self.endpoint = endpoint self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapicustombaseurl/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapicustombaseurl/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.BearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_multiapi_custom_base_url_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_multiapi_custom_base_url_service_client.py index 39e0574260f..3ca0f7e5e4f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_multiapi_custom_base_url_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_multiapi_custom_base_url_service_client.py @@ -21,7 +21,10 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential -class MultiapiCustomBaseUrlServiceClient(MultiapiCustomBaseUrlServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword + +class MultiapiCustomBaseUrlServiceClient( + MultiapiCustomBaseUrlServiceClientOperationsMixin +): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi custom base url testing. :param credential: Credential needed for the client to connect to Azure. Required. @@ -33,14 +36,11 @@ class MultiapiCustomBaseUrlServiceClient(MultiapiCustomBaseUrlServiceClientOpera :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - endpoint: str, - **kwargs: Any - ) -> None: - _endpoint = '{Endpoint}/multiapiCustomBaseUrl/v2' - self._config = MultiapiCustomBaseUrlServiceClientConfiguration(credential=credential, endpoint=endpoint, **kwargs) + def __init__(self, credential: "TokenCredential", endpoint: str, **kwargs: Any) -> None: + _endpoint = "{Endpoint}/multiapiCustomBaseUrl/v2" + self._config = MultiapiCustomBaseUrlServiceClientConfiguration( + credential=credential, endpoint=endpoint, **kwargs + ) self._client = PipelineClient(base_url=_endpoint, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} @@ -48,12 +48,7 @@ def __init__( self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest @@ -73,7 +68,7 @@ def _send_request( request_copy = deepcopy(request) path_format_arguments = { - "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), } request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_vendor.py index 5a1296bf576..6d8c700cc31 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiCustomBaseUrlServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/__init__.py index f46be289f59..d54abac2542 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiCustomBaseUrlServiceClient'] + +__all__ = ["MultiapiCustomBaseUrlServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_configuration.py index e43af760cbe..386f1d2dc66 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiCustomBaseUrlServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiCustomBaseUrlServiceClient. @@ -32,14 +33,9 @@ class MultiapiCustomBaseUrlServiceClientConfiguration(Configuration): # pylint: :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - endpoint: str, - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", endpoint: str, **kwargs: Any) -> None: super(MultiapiCustomBaseUrlServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") @@ -49,24 +45,23 @@ def __init__( self.credential = credential self.endpoint = endpoint self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapicustombaseurl/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapicustombaseurl/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_multiapi_custom_base_url_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_multiapi_custom_base_url_service_client.py index 0d54251d124..1a36ce78cd3 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_multiapi_custom_base_url_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_multiapi_custom_base_url_service_client.py @@ -21,7 +21,10 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential -class MultiapiCustomBaseUrlServiceClient(MultiapiCustomBaseUrlServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword + +class MultiapiCustomBaseUrlServiceClient( + MultiapiCustomBaseUrlServiceClientOperationsMixin +): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi custom base url testing. :param credential: Credential needed for the client to connect to Azure. Required. @@ -33,14 +36,11 @@ class MultiapiCustomBaseUrlServiceClient(MultiapiCustomBaseUrlServiceClientOpera :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - endpoint: str, - **kwargs: Any - ) -> None: - _endpoint = '{Endpoint}/multiapiCustomBaseUrl/v2' - self._config = MultiapiCustomBaseUrlServiceClientConfiguration(credential=credential, endpoint=endpoint, **kwargs) + def __init__(self, credential: "AsyncTokenCredential", endpoint: str, **kwargs: Any) -> None: + _endpoint = "{Endpoint}/multiapiCustomBaseUrl/v2" + self._config = MultiapiCustomBaseUrlServiceClientConfiguration( + credential=credential, endpoint=endpoint, **kwargs + ) self._client = AsyncPipelineClient(base_url=_endpoint, config=self._config, **kwargs) client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} @@ -48,12 +48,7 @@ def __init__( self._deserialize = Deserializer(client_models) self._serialize.client_side_validation = False - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest @@ -73,7 +68,7 @@ def _send_request( request_copy = deepcopy(request) path_format_arguments = { - "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), } request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_vendor.py index 6d419449fe8..a7eccdafd02 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiCustomBaseUrlServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/__init__.py index f52fd145cca..31c719daa45 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiCustomBaseUrlServiceClientOperationsMixin', + "MultiapiCustomBaseUrlServiceClientOperationsMixin", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/_multiapi_custom_base_url_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/_multiapi_custom_base_url_service_client_operations.py index 7e3a0b3c2d9..4d1037c457f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/_multiapi_custom_base_url_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/_multiapi_custom_base_url_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,17 +25,14 @@ from ..._vendor import _convert_request from ...operations._multiapi_custom_base_url_service_client_operations import build_test_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiCustomBaseUrlServiceClientOperationsMixin(MixinABC): +class MultiapiCustomBaseUrlServiceClientOperationsMixin(MixinABC): @distributed_trace_async - async def test( # pylint: disable=inconsistent-return-statements - self, - id: int, - **kwargs: Any - ) -> None: + async def test(self, id: int, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Should be a mixin operation. Put in 2 for the required parameter and have the correct api version of 2.0.0 to pass. @@ -40,35 +43,30 @@ async def test( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_request( id=id, api_version=api_version, - template_url=self.test.metadata['url'], + template_url=self.test.metadata["url"], headers=_headers, params=_params, ) request = _convert_request(request) path_format_arguments = { - "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), } request.url = self._client.format_url(request.url, **path_format_arguments) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -81,5 +79,4 @@ async def test( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test.metadata = {'url': "/test"} # type: ignore - + test.metadata = {"url": "/test"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/__init__.py index 0b7cd153702..925b67c63d5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/__init__.py @@ -10,8 +10,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', + "Error", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/_models_py3.py index b5faa0b9e15..58a41ab9d6d 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/__init__.py index f52fd145cca..31c719daa45 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiCustomBaseUrlServiceClientOperationsMixin', + "MultiapiCustomBaseUrlServiceClientOperationsMixin", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/_multiapi_custom_base_url_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/_multiapi_custom_base_url_service_client_operations.py index f788c536668..5794c0b357e 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/_multiapi_custom_base_url_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/_multiapi_custom_base_url_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,50 +24,37 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_request( - *, - id: int, - **kwargs: Any -) -> HttpRequest: +def build_test_request(*, id: int, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/test") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["id"] = _SERIALIZER.query("id", id, "int") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiCustomBaseUrlServiceClientOperationsMixin(MixinABC): +class MultiapiCustomBaseUrlServiceClientOperationsMixin(MixinABC): @distributed_trace - def test( # pylint: disable=inconsistent-return-statements - self, - id: int, - **kwargs: Any - ) -> None: + def test(self, id: int, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """Should be a mixin operation. Put in 2 for the required parameter and have the correct api version of 2.0.0 to pass. @@ -72,35 +65,30 @@ def test( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_request( id=id, api_version=api_version, - template_url=self.test.metadata['url'], + template_url=self.test.metadata["url"], headers=_headers, params=_params, ) request = _convert_request(request) path_format_arguments = { - "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, 'str', skip_quote=True), + "Endpoint": self._serialize.url("self._config.endpoint", self._config.endpoint, "str", skip_quote=True), } request.url = self._client.format_url(request.url, **path_format_arguments) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -113,5 +101,4 @@ def test( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test.metadata = {'url': "/test"} # type: ignore - + test.metadata = {"url": "/test"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiCustomBaseUrl/multiapicustombaseurl/v2/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_configuration.py index b8cdb06f73e..9da4b9a546f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,38 +31,35 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapidataplane/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapidataplane/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.BearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_multiapi_service_client.py index 9e892c5b2bb..924551b5e74 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di Retry-After header is present. """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -54,12 +50,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_configuration.py index 08f079e2d95..0662f38a7ab 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,37 +31,32 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapidataplane/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapidataplane/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_multiapi_service_client.py index a65d74af5e1..d3129453e05 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -38,10 +39,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -54,12 +52,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_multiapi_service_client_operations.py index ba246ccf14c..3a66e899806 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod @@ -21,19 +27,22 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_lro_and_paging_request, build_test_lro_request, build_test_one_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_lro_and_paging_request, + build_test_lro_request, + build_test_one_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async async def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -46,23 +55,20 @@ async def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -70,9 +76,7 @@ async def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -85,24 +89,19 @@ async def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore async def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -111,7 +110,7 @@ async def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -119,7 +118,7 @@ async def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -127,9 +126,7 @@ async def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -141,23 +138,18 @@ async def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload async def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -182,11 +174,7 @@ async def begin_test_lro( @overload async def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -209,12 +197,9 @@ async def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -239,51 +224,46 @@ async def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncLROBasePolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast( + AsyncPollingMethod, AsyncLROBasePolling(lro_delay, **kwargs) + ) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore async def _test_lro_and_paging_initial( self, @@ -291,15 +271,13 @@ async def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -311,7 +289,7 @@ async def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -319,9 +297,7 @@ async def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -330,15 +306,14 @@ async def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def begin_test_lro_and_paging( @@ -371,12 +346,11 @@ async def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -384,12 +358,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -402,7 +376,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -427,9 +401,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -439,23 +411,19 @@ async def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): async def internal_get_next(next_link=None): @@ -463,36 +431,30 @@ async def internal_get_next(next_link=None): return pipeline_response return await get_next(next_link) - return AsyncItemPaged( - internal_get_next, extract_data - ) + return AsyncItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncLROBasePolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast( + AsyncPollingMethod, AsyncLROBasePolling(lro_delay, **kwargs) + ) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -503,22 +465,19 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -526,9 +485,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -541,5 +498,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_operation_group_one_operations.py index 4b6e2a1b55f..89fe670a652 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,9 +25,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -41,12 +49,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -54,21 +58,18 @@ async def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -76,9 +77,7 @@ async def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -91,5 +90,4 @@ async def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/__init__.py index 134ebf1ea8f..ee955d7ee76 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/__init__.py @@ -13,11 +13,12 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', - 'TestLroAndPagingOptions', + "Error", + "PagingResult", + "Product", + "TestLroAndPagingOptions", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/_models_py3.py index 1b8396bb4b3..ea1f4e85327 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~multiapidataplane.v1.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int @@ -116,13 +99,7 @@ class TestLroAndPagingOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_multiapi_service_client_operations.py index ea7443571c1..5d9900d0cfa 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -21,138 +27,99 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_lro_request( - **kwargs: Any -) -> HttpRequest: +def build_test_lro_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lro") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, headers=_headers, **kwargs) def build_test_lro_and_paging_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lroAndPaging") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, headers=_headers, **kwargs) -def build_test_different_calls_request( - *, - greeting_in_english: str, - **kwargs: Any -) -> HttpRequest: +def build_test_different_calls_request(*, greeting_in_english: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -165,23 +132,20 @@ def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -189,9 +153,7 @@ def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -204,24 +166,19 @@ def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -230,7 +187,7 @@ def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -238,7 +195,7 @@ def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -246,9 +203,7 @@ def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -260,23 +215,18 @@ def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -300,11 +250,7 @@ def begin_test_lro( @overload def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -326,12 +272,9 @@ def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -355,51 +298,44 @@ def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(PollingMethod, LROBasePolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, LROBasePolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore def _test_lro_and_paging_initial( self, @@ -407,15 +343,13 @@ def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -427,7 +361,7 @@ def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -435,9 +369,7 @@ def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -446,15 +378,14 @@ def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def begin_test_lro_and_paging( @@ -487,12 +418,11 @@ def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -500,12 +430,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -518,7 +448,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -543,9 +473,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -555,23 +483,19 @@ def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): def internal_get_next(next_link=None): @@ -579,36 +503,28 @@ def internal_get_next(next_link=None): return pipeline_response return get_next(next_link) - return ItemPaged( - internal_get_next, extract_data - ) + return ItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(PollingMethod, LROBasePolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, LROBasePolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -619,22 +535,19 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -642,9 +555,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -657,5 +568,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_operation_group_one_operations.py index bc90c3a1090..3c7d4306c45 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,38 +24,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -70,12 +70,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -83,21 +79,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -105,9 +98,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -120,5 +111,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v1/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_configuration.py index aa821277994..55a0e86b7cc 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,38 +31,35 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapidataplane/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapidataplane/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.BearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_multiapi_service_client.py index 1c87b9e3d28..816943c0f44 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_configuration.py index 835eea20a96..739e7953c85 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,37 +31,32 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapidataplane/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapidataplane/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_multiapi_service_client.py index abaf3800791..07ba51cad35 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -38,10 +39,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +55,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_multiapi_service_client_operations.py index b9f167f566b..5a41b76f6de 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,18 +25,14 @@ from ..._vendor import _convert_request from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_one_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async - async def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + async def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -42,23 +44,20 @@ async def test_one( :rtype: ~multiapidataplane.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -66,9 +65,7 @@ async def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -78,22 +75,18 @@ async def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -106,23 +99,20 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -130,9 +120,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -145,5 +133,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_operation_group_one_operations.py index 5285fecdc76..743545969a9 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,9 +25,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_three_request, build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -41,14 +49,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -65,11 +68,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -84,12 +83,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -104,17 +100,15 @@ async def test_two( :rtype: ~multiapidataplane.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -123,7 +117,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -132,7 +126,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -140,9 +134,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -152,21 +144,17 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace_async - async def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -174,21 +162,18 @@ async def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -196,9 +181,7 @@ async def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -211,5 +194,4 @@ async def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_operation_group_two_operations.py index 44f93d83282..f9ce1825ca4 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,9 +25,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -41,12 +49,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any + self, parameter_one: bool, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -57,22 +62,19 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -80,9 +82,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -95,5 +95,4 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/__init__.py index 8a114791bc4..94ee92cd4eb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/__init__.py @@ -11,9 +11,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelTwo', + "Error", + "ModelTwo", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/_models_py3.py index 98011f2aa4e..128cec341f5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -56,7 +50,7 @@ class ModelTwo(_serialization.Model): """ _validation = { - 'id': {'required': True}, + "id": {"required": True}, } _attribute_map = { @@ -64,13 +58,7 @@ class ModelTwo(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - id: int, # pylint: disable=redefined-builtin - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, id: int, message: Optional[str] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: Required. :paramtype id: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_multiapi_service_client_operations.py index b1172e4f458..4a28d018351 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,87 +24,63 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) def build_test_different_calls_request( - *, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + *, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -110,23 +92,20 @@ def test_one( :rtype: ~multiapidataplane.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -134,9 +113,7 @@ def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -146,22 +123,18 @@ def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -174,23 +147,20 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -198,9 +168,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -213,5 +181,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_operation_group_one_operations.py index a53dabd1dd9..cc5bf039642 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,68 +24,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_three_request( - **kwargs: Any -) -> HttpRequest: +def build_test_three_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testThreeEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -100,14 +92,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -124,11 +111,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -143,13 +126,8 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace - def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_two(self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. :param parameter_one: A ModelTwo parameter. Is either a model type or a IO type. Default value @@ -163,17 +141,15 @@ def test_two( :rtype: ~multiapidataplane.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -182,7 +158,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -191,7 +167,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -199,9 +175,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -211,21 +185,17 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace - def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -233,21 +203,18 @@ def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -255,9 +222,7 @@ def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -270,5 +235,4 @@ def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_operation_group_two_operations.py index 020df6f51b1..a549048f05d 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,41 +24,33 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - *, - parameter_one: bool, - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(*, parameter_one: bool, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['parameterOne'] = _SERIALIZER.query("parameter_one", parameter_one, 'bool') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["parameterOne"] = _SERIALIZER.query("parameter_one", parameter_one, "bool") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -73,13 +71,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any - ) -> None: + def test_four(self, parameter_one: bool, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFour should be in OperationGroupTwoOperations. :param parameter_one: A boolean parameter. Required. @@ -89,22 +82,19 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -112,9 +102,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -127,5 +115,4 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v2/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_configuration.py index 32e1c9384f6..1d9f35ccbb9 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,38 +31,35 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapidataplane/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapidataplane/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.BearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_multiapi_service_client.py index bb7797411a2..c16864da021 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_configuration.py index fc305fd03e7..011de2c99e5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,37 +31,32 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', []) - kwargs.setdefault('sdk_moniker', 'multiapidataplane/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", []) + kwargs.setdefault("sdk_moniker", "multiapidataplane/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if not self.credential_scopes and not self.authentication_policy: raise ValueError("You must provide either credential_scopes or authentication_policy as kwargs") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_multiapi_service_client.py index 4031324d082..06838ba5351 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -38,10 +39,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +55,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_multiapi_service_client_operations.py index ef6d1285db3..37ecb7ff1dc 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,18 +25,19 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_paging_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_paging_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> AsyncIterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> AsyncIterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -41,17 +48,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -59,7 +65,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -81,9 +87,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -93,11 +97,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -120,24 +122,21 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -145,9 +144,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -160,5 +157,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_operation_group_one_operations.py index ea4aacf2017..8f0bdcf1565 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,9 +25,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -41,7 +49,6 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( self, @@ -65,11 +72,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -84,12 +87,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -104,17 +104,15 @@ async def test_two( :rtype: ~multiapidataplane.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -123,7 +121,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -132,7 +130,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -140,9 +138,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -152,12 +148,11 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_operation_group_two_operations.py index 50b63d17caa..e4ec0c99864 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,9 +25,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_five_request, build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -41,14 +49,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -65,11 +68,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -85,12 +84,9 @@ async def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -104,17 +100,15 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -122,7 +116,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -132,7 +126,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -140,9 +134,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -155,14 +147,10 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace_async - async def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -170,21 +158,18 @@ async def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -192,9 +177,7 @@ async def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -207,5 +190,4 @@ async def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/__init__.py index 5fdae05688a..0e34072c503 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/__init__.py @@ -15,12 +15,13 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelThree', - 'PagingResult', - 'SourcePath', - 'ContentType', + "Error", + "ModelThree", + "PagingResult", + "SourcePath", + "ContentType", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_models_py3.py index cd6656c2f22..93730cc1fbe 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -55,12 +49,7 @@ class ModelThree(_serialization.Model): "optional_property": {"key": "optionalProperty", "type": "str"}, } - def __init__( - self, - *, - optional_property: Optional[str] = None, - **kwargs - ): + def __init__(self, *, optional_property: Optional[str] = None, **kwargs): """ :keyword optional_property: :paramtype optional_property: str @@ -84,11 +73,7 @@ class PagingResult(_serialization.Model): } def __init__( - self, - *, - values: Optional[List["_models.ModelThree"]] = None, - next_link: Optional[str] = None, - **kwargs + self, *, values: Optional[List["_models.ModelThree"]] = None, next_link: Optional[str] = None, **kwargs ): """ :keyword values: @@ -109,19 +94,14 @@ class SourcePath(_serialization.Model): """ _validation = { - 'source': {'max_length': 2048}, + "source": {"max_length": 2048}, } _attribute_map = { "source": {"key": "source", "type": "str"}, } - def __init__( - self, - *, - source: Optional[str] = None, - **kwargs - ): + def __init__(self, *, source: Optional[str] = None, **kwargs): """ :keyword source: File source path. :paramtype source: str diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_multiapi_service_client_enums.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_multiapi_service_client_enums.py index e1cacc66105..a60e2b8579a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_multiapi_service_client_enums.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_multiapi_service_client_enums.py @@ -11,8 +11,7 @@ class ContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Content type for upload. - """ + """Content type for upload.""" #: Content Type 'application/pdf' APPLICATION_PDF = "application/pdf" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_multiapi_service_client_operations.py index 49d484db54d..a3e702d4b97 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Iterable, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -19,32 +25,26 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_paging_request( - **kwargs: Any -) -> HttpRequest: +def build_test_paging_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/paging") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) def build_test_different_calls_request( @@ -57,38 +57,29 @@ def build_test_different_calls_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") if greeting_in_french is not None: - _headers['greetingInFrench'] = _SERIALIZER.header("greeting_in_french", greeting_in_french, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInFrench"] = _SERIALIZER.header("greeting_in_french", greeting_in_french, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> Iterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> Iterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -99,17 +90,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -117,7 +107,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -139,9 +129,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -151,11 +139,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -178,24 +164,21 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -203,9 +186,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -218,5 +199,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_operation_group_one_operations.py index 9e74f5d5546..a4ca45a586f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,41 +24,35 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -73,7 +73,6 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( self, @@ -97,11 +96,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -116,12 +111,9 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -136,17 +128,15 @@ def test_two( :rtype: ~multiapidataplane.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -155,7 +145,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -164,7 +154,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -172,9 +162,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -184,12 +172,11 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_operation_group_two_operations.py index 951b8d4e13f..30c44a99034 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,68 +24,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_five_request( - **kwargs: Any -) -> HttpRequest: +def build_test_five_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFiveEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -100,14 +92,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -124,11 +111,7 @@ def test_four( # pylint: disable=inconsistent-return-statements @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -144,12 +127,9 @@ def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -163,17 +143,15 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -181,7 +159,7 @@ def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -191,7 +169,7 @@ def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -199,9 +177,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -214,14 +190,10 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace - def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -229,21 +201,18 @@ def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -251,9 +220,7 @@ def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -266,5 +233,4 @@ def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiDataPlane/multiapidataplane/v3/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_configuration.py index cc1d25c3509..c4837e91705 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapinoasync/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapinoasync/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_multiapi_service_client.py index 2a99b4996f7..50fa8bf88ec 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di Retry-After header is present. """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -54,12 +50,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/__init__.py index 134ebf1ea8f..ee955d7ee76 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/__init__.py @@ -13,11 +13,12 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', - 'TestLroAndPagingOptions', + "Error", + "PagingResult", + "Product", + "TestLroAndPagingOptions", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/_models_py3.py index 56f3cc859df..72298124c4f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~multiapinoasync.v1.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int @@ -116,13 +99,7 @@ class TestLroAndPagingOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_multiapi_service_client_operations.py index f50c6ad08d5..85ca722c3d2 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -22,138 +28,99 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_lro_request( - **kwargs: Any -) -> HttpRequest: +def build_test_lro_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lro") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, headers=_headers, **kwargs) def build_test_lro_and_paging_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lroAndPaging") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, headers=_headers, **kwargs) -def build_test_different_calls_request( - *, - greeting_in_english: str, - **kwargs: Any -) -> HttpRequest: +def build_test_different_calls_request(*, greeting_in_english: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -166,23 +133,20 @@ def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -190,9 +154,7 @@ def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -205,24 +167,19 @@ def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -231,7 +188,7 @@ def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -239,7 +196,7 @@ def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -247,9 +204,7 @@ def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -261,23 +216,18 @@ def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -301,11 +251,7 @@ def begin_test_lro( @overload def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -327,12 +273,9 @@ def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -356,51 +299,44 @@ def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore def _test_lro_and_paging_initial( self, @@ -408,15 +344,13 @@ def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -428,7 +362,7 @@ def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -436,9 +370,7 @@ def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -447,15 +379,14 @@ def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def begin_test_lro_and_paging( @@ -488,12 +419,11 @@ def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -501,12 +431,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -519,7 +449,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -544,9 +474,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -556,23 +484,19 @@ def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): def internal_get_next(next_link=None): @@ -580,36 +504,28 @@ def internal_get_next(next_link=None): return pipeline_response return get_next(next_link) - return ItemPaged( - internal_get_next, extract_data - ) + return ItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -620,22 +536,19 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -643,9 +556,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -658,5 +569,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_operation_group_one_operations.py index eb9d95e4e9e..f63f041cc5b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,38 +25,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -71,12 +71,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -84,21 +80,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -106,9 +99,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -121,5 +112,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v1/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_configuration.py index 33238fb10bb..763ce4e2338 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapinoasync/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapinoasync/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_multiapi_service_client.py index 10dcc66efd9..bed4afc57f6 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/__init__.py index 8a114791bc4..94ee92cd4eb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/__init__.py @@ -11,9 +11,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelTwo', + "Error", + "ModelTwo", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/_models_py3.py index 98011f2aa4e..128cec341f5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -56,7 +50,7 @@ class ModelTwo(_serialization.Model): """ _validation = { - 'id': {'required': True}, + "id": {"required": True}, } _attribute_map = { @@ -64,13 +58,7 @@ class ModelTwo(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - id: int, # pylint: disable=redefined-builtin - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, id: int, message: Optional[str] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: Required. :paramtype id: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_multiapi_service_client_operations.py index c8725297812..bef35275652 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,87 +25,63 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) def build_test_different_calls_request( - *, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + *, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -111,23 +93,20 @@ def test_one( :rtype: ~multiapinoasync.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -135,9 +114,7 @@ def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -147,22 +124,18 @@ def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -175,23 +148,20 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -199,9 +169,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -214,5 +182,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_operation_group_one_operations.py index ee98f66835a..2498584fcea 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_three_request( - **kwargs: Any -) -> HttpRequest: +def build_test_three_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testThreeEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -125,11 +112,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -144,13 +127,8 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace - def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_two(self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. :param parameter_one: A ModelTwo parameter. Is either a model type or a IO type. Default value @@ -164,17 +142,15 @@ def test_two( :rtype: ~multiapinoasync.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -183,7 +159,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -192,7 +168,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +176,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,21 +186,17 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace - def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -234,21 +204,18 @@ def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -256,9 +223,7 @@ def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -271,5 +236,4 @@ def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_operation_group_two_operations.py index a203115ac3a..d00781085c4 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,33 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - *, - parameter_one: bool, - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(*, parameter_one: bool, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['parameterOne'] = _SERIALIZER.query("parameter_one", parameter_one, 'bool') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["parameterOne"] = _SERIALIZER.query("parameter_one", parameter_one, "bool") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -74,13 +72,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any - ) -> None: + def test_four(self, parameter_one: bool, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFour should be in OperationGroupTwoOperations. :param parameter_one: A boolean parameter. Required. @@ -90,22 +83,19 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -113,9 +103,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -128,5 +116,4 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v2/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_configuration.py index 267aeebea34..22ea89884c5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapinoasync/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapinoasync/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_multiapi_service_client.py index 8452407ec63..7491b59bda0 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -57,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/__init__.py index 5fdae05688a..0e34072c503 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/__init__.py @@ -15,12 +15,13 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelThree', - 'PagingResult', - 'SourcePath', - 'ContentType', + "Error", + "ModelThree", + "PagingResult", + "SourcePath", + "ContentType", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_models_py3.py index 40a238821f3..3a3483558f2 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -55,12 +49,7 @@ class ModelThree(_serialization.Model): "optional_property": {"key": "optionalProperty", "type": "str"}, } - def __init__( - self, - *, - optional_property: Optional[str] = None, - **kwargs - ): + def __init__(self, *, optional_property: Optional[str] = None, **kwargs): """ :keyword optional_property: :paramtype optional_property: str @@ -84,11 +73,7 @@ class PagingResult(_serialization.Model): } def __init__( - self, - *, - values: Optional[List["_models.ModelThree"]] = None, - next_link: Optional[str] = None, - **kwargs + self, *, values: Optional[List["_models.ModelThree"]] = None, next_link: Optional[str] = None, **kwargs ): """ :keyword values: @@ -109,19 +94,14 @@ class SourcePath(_serialization.Model): """ _validation = { - 'source': {'max_length': 2048}, + "source": {"max_length": 2048}, } _attribute_map = { "source": {"key": "source", "type": "str"}, } - def __init__( - self, - *, - source: Optional[str] = None, - **kwargs - ): + def __init__(self, *, source: Optional[str] = None, **kwargs): """ :keyword source: File source path. :paramtype source: str diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_multiapi_service_client_enums.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_multiapi_service_client_enums.py index e1cacc66105..a60e2b8579a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_multiapi_service_client_enums.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_multiapi_service_client_enums.py @@ -11,8 +11,7 @@ class ContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Content type for upload. - """ + """Content type for upload.""" #: Content Type 'application/pdf' APPLICATION_PDF = "application/pdf" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_multiapi_service_client_operations.py index aa5b3941fd4..58a8934bf79 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Iterable, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -20,32 +26,26 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_paging_request( - **kwargs: Any -) -> HttpRequest: +def build_test_paging_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/paging") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) def build_test_different_calls_request( @@ -58,38 +58,29 @@ def build_test_different_calls_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") if greeting_in_french is not None: - _headers['greetingInFrench'] = _SERIALIZER.header("greeting_in_french", greeting_in_french, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInFrench"] = _SERIALIZER.header("greeting_in_french", greeting_in_french, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> Iterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> Iterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -100,17 +91,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -118,7 +108,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -140,9 +130,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -152,11 +140,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -179,24 +165,21 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -204,9 +187,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -219,5 +200,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_operation_group_one_operations.py index 611a4b969c3..e2e4649e157 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,35 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -74,7 +74,6 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( self, @@ -98,11 +97,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -117,12 +112,9 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -137,17 +129,15 @@ def test_two( :rtype: ~multiapinoasync.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -156,7 +146,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -165,7 +155,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -173,9 +163,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -185,12 +173,11 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_operation_group_two_operations.py index 72dea106236..6eea70dff66 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_five_request( - **kwargs: Any -) -> HttpRequest: +def build_test_five_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFiveEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -125,11 +112,7 @@ def test_four( # pylint: disable=inconsistent-return-statements @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -145,12 +128,9 @@ def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -164,17 +144,15 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -182,7 +160,7 @@ def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -192,7 +170,7 @@ def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +178,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -215,14 +191,10 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace - def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -230,21 +202,18 @@ def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -252,9 +221,7 @@ def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -267,5 +234,4 @@ def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiNoAsync/multiapinoasync/v3/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_configuration.py index a02149bfdae..bb9c2814e6c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,36 +31,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "0.0.0") # type: str + api_version = kwargs.pop("api_version", "0.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapisecurity/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapisecurity/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.BearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_multiapi_service_client.py index 722c2d2e7c6..6273dd8729a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient: # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -35,12 +36,7 @@ class MultiapiServiceClient: # pylint: disable=client-accepts-api-version-keywo :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -52,12 +48,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_vendor.py index 9a223d15524..0dafe0e287f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/_vendor.py @@ -7,6 +7,7 @@ from azure.core.pipeline.transport import HttpRequest + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_configuration.py index d02f5b2dc9b..2ce9fa28b01 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,35 +31,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "0.0.0") # type: str + api_version = kwargs.pop("api_version", "0.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapisecurity/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapisecurity/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_multiapi_service_client.py index 6e3ad83a124..347338f2746 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient: # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -36,10 +37,7 @@ class MultiapiServiceClient: # pylint: disable=client-accepts-api-version-keywo """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -52,12 +50,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/__init__.py index 4efa8c8a882..0bd5533d079 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'OperationGroupOneOperations', + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/_operation_group_one_operations.py index 0551c4af3e3..9cd9fd2e95f 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -18,9 +24,11 @@ from ... import models as _models from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -40,12 +48,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -53,21 +57,18 @@ async def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "0.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "0.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -75,9 +76,7 @@ async def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -90,5 +89,4 @@ async def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/__init__.py index 82d439459f8..e456b9f7fca 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/__init__.py @@ -12,10 +12,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', + "Error", + "PagingResult", + "Product", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/_models_py3.py index 192ba7cb601..b4fda131d88 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~multiapisecurity.v0.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/__init__.py index 4efa8c8a882..0bd5533d079 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/__init__.py @@ -11,8 +11,9 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'OperationGroupOneOperations', + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/_operation_group_one_operations.py index 4493575114f..1812e7387ad 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,38 +24,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "0.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "0.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -70,12 +70,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -83,21 +79,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "0.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "0.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -105,9 +98,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -120,5 +111,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v0/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_configuration.py index 96b4a0a74b2..65977ac4af5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,36 +31,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapisecurity/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapisecurity/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.BearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.BearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_multiapi_service_client.py index 6e8a33d5092..27cc382292b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -37,12 +38,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di Retry-After header is present. """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = PipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -54,12 +50,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_configuration.py index adcea924f82..9f614b5e60e 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_configuration.py @@ -17,6 +17,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -30,35 +31,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapisecurity/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapisecurity/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or policies.HttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = policies.AsyncBearerTokenCredentialPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_multiapi_service_client.py index 23d8d10f5b4..352f3c56293 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -38,10 +39,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -54,12 +52,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_multiapi_service_client_operations.py index 478423e7843..78c1d19959b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod @@ -21,19 +27,22 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_lro_and_paging_request, build_test_lro_request, build_test_one_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_lro_and_paging_request, + build_test_lro_request, + build_test_one_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async async def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -46,23 +55,20 @@ async def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -70,9 +76,7 @@ async def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -85,24 +89,19 @@ async def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore async def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -111,7 +110,7 @@ async def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -119,7 +118,7 @@ async def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -127,9 +126,7 @@ async def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -141,23 +138,18 @@ async def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload async def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -182,11 +174,7 @@ async def begin_test_lro( @overload async def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -209,12 +197,9 @@ async def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -239,51 +224,46 @@ async def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncLROBasePolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast( + AsyncPollingMethod, AsyncLROBasePolling(lro_delay, **kwargs) + ) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore async def _test_lro_and_paging_initial( self, @@ -291,15 +271,13 @@ async def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -311,7 +289,7 @@ async def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -319,9 +297,7 @@ async def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -330,15 +306,14 @@ async def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def begin_test_lro_and_paging( @@ -371,12 +346,11 @@ async def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -384,12 +358,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -402,7 +376,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -427,9 +401,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -439,23 +411,19 @@ async def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): async def internal_get_next(next_link=None): @@ -463,36 +431,30 @@ async def internal_get_next(next_link=None): return pipeline_response return await get_next(next_link) - return AsyncItemPaged( - internal_get_next, extract_data - ) + return AsyncItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncLROBasePolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast( + AsyncPollingMethod, AsyncLROBasePolling(lro_delay, **kwargs) + ) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -503,22 +465,19 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -526,9 +485,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -541,5 +498,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_operation_group_one_operations.py index 868519f46f3..d69fb41c918 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -19,9 +25,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -41,12 +49,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -54,21 +58,18 @@ async def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -76,9 +77,7 @@ async def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -91,5 +90,4 @@ async def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/__init__.py index 134ebf1ea8f..ee955d7ee76 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/__init__.py @@ -13,11 +13,12 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', - 'TestLroAndPagingOptions', + "Error", + "PagingResult", + "Product", + "TestLroAndPagingOptions", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/_models_py3.py index 1b3f209aa64..67715b16311 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~multiapisecurity.v1.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int @@ -116,13 +99,7 @@ class TestLroAndPagingOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_multiapi_service_client_operations.py index 35c977981a1..0d975d5de48 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -21,138 +27,99 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_lro_request( - **kwargs: Any -) -> HttpRequest: +def build_test_lro_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lro") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, headers=_headers, **kwargs) def build_test_lro_and_paging_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lroAndPaging") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, headers=_headers, **kwargs) -def build_test_different_calls_request( - *, - greeting_in_english: str, - **kwargs: Any -) -> HttpRequest: +def build_test_different_calls_request(*, greeting_in_english: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -165,23 +132,20 @@ def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -189,9 +153,7 @@ def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -204,24 +166,19 @@ def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -230,7 +187,7 @@ def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -238,7 +195,7 @@ def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -246,9 +203,7 @@ def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -260,23 +215,18 @@ def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -300,11 +250,7 @@ def begin_test_lro( @overload def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -326,12 +272,9 @@ def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -355,51 +298,44 @@ def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(PollingMethod, LROBasePolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, LROBasePolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore def _test_lro_and_paging_initial( self, @@ -407,15 +343,13 @@ def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -427,7 +361,7 @@ def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -435,9 +369,7 @@ def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -446,15 +378,14 @@ def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def begin_test_lro_and_paging( @@ -487,12 +418,11 @@ def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -500,12 +430,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -518,7 +448,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -543,9 +473,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -555,23 +483,19 @@ def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): def internal_get_next(next_link=None): @@ -579,36 +503,28 @@ def internal_get_next(next_link=None): return pipeline_response return get_next(next_link) - return ItemPaged( - internal_get_next, extract_data - ) + return ItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(PollingMethod, LROBasePolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, LROBasePolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -619,22 +535,19 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -642,9 +555,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -657,5 +568,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_operation_group_one_operations.py index a0af8b782c3..3db59ad713b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -18,38 +24,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -70,12 +70,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -83,21 +79,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -105,9 +98,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -120,5 +111,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiSecurity/multiapisecurity/v1/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_configuration.py index 141d65a8da7..acf401d7eed 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapiwithsubmodule/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapiwithsubmodule/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_multiapi_service_client.py index b032bb95caa..d4f9cc4bbc2 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -38,12 +39,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di Retry-After header is present. """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -55,12 +51,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_configuration.py index c34cc791242..b3f987e2d96 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "1.0.0") # type: str + api_version = kwargs.pop("api_version", "1.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapiwithsubmodule/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapiwithsubmodule/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_multiapi_service_client.py index 8b98ea1f1fe..c60a84a4028 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -39,10 +40,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -55,12 +53,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_multiapi_service_client_operations.py index d7db1b5728d..fb78b3f0cb4 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, IO, Optional, TypeVar, Union, cast, overload from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.polling import AsyncLROPoller, AsyncNoPolling, AsyncPollingMethod @@ -22,19 +28,22 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_lro_and_paging_request, build_test_lro_request, build_test_one_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_lro_and_paging_request, + build_test_lro_request, + build_test_one_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async async def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -47,23 +56,20 @@ async def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -71,9 +77,7 @@ async def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -86,24 +90,19 @@ async def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore async def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -112,7 +111,7 @@ async def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -120,7 +119,7 @@ async def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -128,9 +127,7 @@ async def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -142,23 +139,18 @@ async def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload async def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -183,11 +175,7 @@ async def begin_test_lro( @overload async def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -210,12 +198,9 @@ async def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> AsyncLROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -240,51 +225,44 @@ async def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore async def _test_lro_and_paging_initial( self, @@ -292,15 +270,13 @@ async def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -312,7 +288,7 @@ async def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -320,9 +296,7 @@ async def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -331,15 +305,14 @@ async def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def begin_test_lro_and_paging( @@ -373,12 +346,11 @@ async def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -386,12 +358,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -404,7 +376,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -429,9 +401,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -441,23 +411,19 @@ async def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, AsyncPollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, AsyncPollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = await self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): async def internal_get_next(next_link=None): @@ -465,36 +431,28 @@ async def internal_get_next(next_link=None): return pipeline_response return await get_next(next_link) - return AsyncItemPaged( - internal_get_next, extract_data - ) + return AsyncItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(AsyncPollingMethod, AsyncARMPolling( - lro_delay, - - - **kwargs - )) # type: AsyncPollingMethod - elif polling is False: polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) - else: polling_method = polling + polling_method = cast(AsyncPollingMethod, AsyncARMPolling(lro_delay, **kwargs)) # type: AsyncPollingMethod + elif polling is False: + polling_method = cast(AsyncPollingMethod, AsyncNoPolling()) + else: + polling_method = polling if cont_token: return AsyncLROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return AsyncLROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -505,22 +463,19 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -528,9 +483,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -543,5 +496,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_operation_group_one_operations.py index 6373768e572..a6bd30b0abd 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,12 +50,8 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async - async def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -55,21 +59,18 @@ async def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -77,9 +78,7 @@ async def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -92,5 +91,4 @@ async def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/__init__.py index 134ebf1ea8f..ee955d7ee76 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/__init__.py @@ -13,11 +13,12 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'PagingResult', - 'Product', - 'TestLroAndPagingOptions', + "Error", + "PagingResult", + "Product", + "TestLroAndPagingOptions", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/_models_py3.py index 2d351e170d7..118a1e89342 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -58,13 +52,7 @@ class PagingResult(_serialization.Model): "next_link": {"key": "nextLink", "type": "str"}, } - def __init__( - self, - *, - values: Optional[List["_models.Product"]] = None, - next_link: Optional[str] = None, - **kwargs - ): + def __init__(self, *, values: Optional[List["_models.Product"]] = None, next_link: Optional[str] = None, **kwargs): """ :keyword values: :paramtype values: list[~multiapiwithsubmodule.submodule.v1.models.Product] @@ -87,12 +75,7 @@ class Product(_serialization.Model): "id": {"key": "id", "type": "int"}, } - def __init__( - self, - *, - id: Optional[int] = None, # pylint: disable=redefined-builtin - **kwargs - ): + def __init__(self, *, id: Optional[int] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: :paramtype id: int @@ -116,13 +99,7 @@ class TestLroAndPagingOptions(_serialization.Model): "timeout": {"key": "timeout", "type": "int"}, } - def __init__( - self, - *, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs - ): + def __init__(self, *, maxresults: Optional[int] = None, timeout: int = 30, **kwargs): """ :keyword maxresults: Sets the maximum number of items to return in the response. :paramtype maxresults: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/__init__.py index 35d9cefcdd0..f169da58bda 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/__init__.py @@ -12,9 +12,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_multiapi_service_client_operations.py index 1588561bcbb..d653758e623 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Iterable, Optional, TypeVar, Union, cast, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -22,138 +28,99 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_lro_request( - **kwargs: Any -) -> HttpRequest: +def build_test_lro_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lro") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, headers=_headers, **kwargs) def build_test_lro_and_paging_request( - *, - client_request_id: Optional[str] = None, - maxresults: Optional[int] = None, - timeout: int = 30, - **kwargs: Any + *, client_request_id: Optional[str] = None, maxresults: Optional[int] = None, timeout: int = 30, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/lroAndPaging") # Construct headers if client_request_id is not None: - _headers['client-request-id'] = _SERIALIZER.header("client_request_id", client_request_id, 'str') + _headers["client-request-id"] = _SERIALIZER.header("client_request_id", client_request_id, "str") if maxresults is not None: - _headers['maxresults'] = _SERIALIZER.header("maxresults", maxresults, 'int') + _headers["maxresults"] = _SERIALIZER.header("maxresults", maxresults, "int") if timeout is not None: - _headers['timeout'] = _SERIALIZER.header("timeout", timeout, 'int') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["timeout"] = _SERIALIZER.header("timeout", timeout, "int") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, headers=_headers, **kwargs) -def build_test_different_calls_request( - *, - greeting_in_english: str, - **kwargs: Any -) -> HttpRequest: +def build_test_different_calls_request(*, greeting_in_english: str, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace def test_one( # pylint: disable=inconsistent-return-statements - self, - id: int, - message: Optional[str] = None, - **kwargs: Any + self, id: int, message: Optional[str] = None, **kwargs: Any ) -> None: """TestOne should be in an FirstVersionOperationsMixin. @@ -166,23 +133,20 @@ def test_one( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -190,9 +154,7 @@ def test_one( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -205,24 +167,19 @@ def test_one( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore def _test_lro_initial( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> Optional[_models.Product]: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[Optional[_models.Product]] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[Optional[_models.Product]] content_type = content_type or "application/json" _json = None @@ -231,7 +188,7 @@ def _test_lro_initial( _content = product else: if product is not None: - _json = self._serialize.body(product, 'Product') + _json = self._serialize.body(product, "Product") else: _json = None @@ -239,7 +196,7 @@ def _test_lro_initial( content_type=content_type, json=_json, content=_content, - template_url=self._test_lro_initial.metadata['url'], + template_url=self._test_lro_initial.metadata["url"], headers=_headers, params=_params, ) @@ -247,9 +204,7 @@ def _test_lro_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -261,23 +216,18 @@ def _test_lro_initial( deserialized = None if response.status_code == 200: - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_initial.metadata = {'url': "/multiapi/lro"} # type: ignore - + _test_lro_initial.metadata = {"url": "/multiapi/lro"} # type: ignore @overload def begin_test_lro( - self, - product: Optional[_models.Product] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[_models.Product] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -301,11 +251,7 @@ def begin_test_lro( @overload def begin_test_lro( - self, - product: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, product: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -327,12 +273,9 @@ def begin_test_lro( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def begin_test_lro( - self, - product: Optional[Union[_models.Product, IO]] = None, - **kwargs: Any + self, product: Optional[Union[_models.Product, IO]] = None, **kwargs: Any ) -> LROPoller[_models.Product]: """Put in whatever shape of Product you want, will return a Product with id equal to 100. @@ -356,51 +299,44 @@ def begin_test_lro( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = kwargs.pop("params", {}) or {} - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.Product] - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.Product] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_initial( # type: ignore product=product, content_type=content_type, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): - deserialized = self._deserialize('Product', pipeline_response) + deserialized = self._deserialize("Product", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro.metadata = {'url': "/multiapi/lro"} # type: ignore + begin_test_lro.metadata = {"url": "/multiapi/lro"} # type: ignore def _test_lro_and_paging_initial( self, @@ -408,15 +344,13 @@ def _test_lro_and_paging_initial( test_lro_and_paging_options: Optional[_models.TestLroAndPagingOptions] = None, **kwargs: Any ) -> _models.PagingResult: - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] _maxresults = None _timeout = None @@ -428,7 +362,7 @@ def _test_lro_and_paging_initial( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self._test_lro_and_paging_initial.metadata['url'], + template_url=self._test_lro_and_paging_initial.metadata["url"], headers=_headers, params=_params, ) @@ -436,9 +370,7 @@ def _test_lro_and_paging_initial( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -447,15 +379,14 @@ def _test_lro_and_paging_initial( map_error(status_code=response.status_code, response=response, error_map=error_map) raise HttpResponseError(response=response, error_format=ARMErrorFormat) - deserialized = self._deserialize('PagingResult', pipeline_response) + deserialized = self._deserialize("PagingResult", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - _test_lro_and_paging_initial.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + _test_lro_and_paging_initial.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def begin_test_lro_and_paging( @@ -489,12 +420,11 @@ def begin_test_lro_and_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: _maxresults = None @@ -502,12 +432,12 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, timeout=_timeout, - template_url=self.begin_test_lro_and_paging.metadata['url'], + template_url=self.begin_test_lro_and_paging.metadata["url"], headers=_headers, params=_params, ) @@ -520,7 +450,7 @@ def prepare_request(next_link=None): if test_lro_and_paging_options is not None: _maxresults = test_lro_and_paging_options.maxresults _timeout = test_lro_and_paging_options.timeout - + request = build_test_lro_and_paging_request( client_request_id=client_request_id, maxresults=_maxresults, @@ -545,9 +475,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -557,23 +485,19 @@ def get_next(next_link=None): return pipeline_response - - polling = kwargs.pop('polling', True) # type: Union[bool, PollingMethod] - lro_delay = kwargs.pop( - 'polling_interval', - self._config.polling_interval - ) - cont_token = kwargs.pop('continuation_token', None) # type: Optional[str] + polling = kwargs.pop("polling", True) # type: Union[bool, PollingMethod] + lro_delay = kwargs.pop("polling_interval", self._config.polling_interval) + cont_token = kwargs.pop("continuation_token", None) # type: Optional[str] if cont_token is None: raw_result = self._test_lro_and_paging_initial( # type: ignore client_request_id=client_request_id, test_lro_and_paging_options=test_lro_and_paging_options, - cls=lambda x,y,z: x, + cls=lambda x, y, z: x, headers=_headers, params=_params, **kwargs ) - kwargs.pop('error_map', None) + kwargs.pop("error_map", None) def get_long_running_output(pipeline_response): def internal_get_next(next_link=None): @@ -581,36 +505,28 @@ def internal_get_next(next_link=None): return pipeline_response return get_next(next_link) - return ItemPaged( - internal_get_next, extract_data - ) + return ItemPaged(internal_get_next, extract_data) if polling is True: - polling_method = cast(PollingMethod, ARMPolling( - lro_delay, - - - **kwargs - )) # type: PollingMethod - elif polling is False: polling_method = cast(PollingMethod, NoPolling()) - else: polling_method = polling + polling_method = cast(PollingMethod, ARMPolling(lro_delay, **kwargs)) # type: PollingMethod + elif polling is False: + polling_method = cast(PollingMethod, NoPolling()) + else: + polling_method = polling if cont_token: return LROPoller.from_continuation_token( polling_method=polling_method, continuation_token=cont_token, client=self._client, - deserialization_callback=get_long_running_output + deserialization_callback=get_long_running_output, ) return LROPoller(self._client, raw_result, get_long_running_output, polling_method) - begin_test_lro_and_paging.metadata = {'url': "/multiapi/lroAndPaging"} # type: ignore - + begin_test_lro_and_paging.metadata = {"url": "/multiapi/lroAndPaging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - **kwargs: Any + self, greeting_in_english: str, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -621,22 +537,19 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -644,9 +557,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -659,5 +570,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_operation_group_one_operations.py index 32926290534..facfcb60be9 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,38 +25,32 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -71,12 +71,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_two( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_two(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestTwo should be in OperationGroupOneOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -84,21 +80,18 @@ def test_two( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "1.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "1.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_two_request( api_version=api_version, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -106,9 +99,7 @@ def test_two( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -121,5 +112,4 @@ def test_two( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v1/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_configuration.py index ec7d7927804..bb3d3a36445 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapiwithsubmodule/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapiwithsubmodule/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_multiapi_service_client.py index 4cf985e7e47..08fb8b78d5b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -39,12 +40,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -59,12 +55,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_configuration.py index 7408c4fd28a..8035897726b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "2.0.0") # type: str + api_version = kwargs.pop("api_version", "2.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapiwithsubmodule/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapiwithsubmodule/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_multiapi_service_client.py index 61f1986a804..441b5fd0290 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -40,10 +41,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -59,12 +57,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_multiapi_service_client_operations.py index 7cfed4acc88..dd603d14918 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,18 +26,14 @@ from ..._vendor import _convert_request from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_one_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace_async - async def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + async def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -43,23 +45,20 @@ async def test_one( :rtype: ~multiapiwithsubmodule.submodule.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -67,9 +66,7 @@ async def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -79,22 +76,18 @@ async def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -107,23 +100,20 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -131,9 +121,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -146,5 +134,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_operation_group_one_operations.py index a0625bd20ec..faecf9d6ee5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_three_request, build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,14 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -66,11 +69,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -85,12 +84,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -105,17 +101,15 @@ async def test_two( :rtype: ~multiapiwithsubmodule.submodule.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -124,7 +118,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -133,7 +127,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +135,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -153,21 +145,17 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace_async - async def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -175,21 +163,18 @@ async def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -197,9 +182,7 @@ async def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,5 +195,4 @@ async def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_operation_group_two_operations.py index f5909045a5b..d693b42edc4 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -42,12 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any + self, parameter_one: bool, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -58,22 +63,19 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -81,9 +83,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -96,5 +96,4 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/__init__.py index 8a114791bc4..94ee92cd4eb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/__init__.py @@ -11,9 +11,10 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelTwo', + "Error", + "ModelTwo", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/_models_py3.py index 98011f2aa4e..128cec341f5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -56,7 +50,7 @@ class ModelTwo(_serialization.Model): """ _validation = { - 'id': {'required': True}, + "id": {"required": True}, } _attribute_map = { @@ -64,13 +58,7 @@ class ModelTwo(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - id: int, # pylint: disable=redefined-builtin - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, id: int, message: Optional[str] = None, **kwargs): # pylint: disable=redefined-builtin """ :keyword id: Required. :paramtype id: int diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_multiapi_service_client_operations.py index 974e77f2a4f..7b7cfac1853 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,87 +25,63 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_one_request( - *, - id: int, - message: Optional[str] = None, - **kwargs: Any -) -> HttpRequest: +def build_test_one_request(*, id: int, message: Optional[str] = None, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testOneEndpoint") # Construct parameters - _params['id'] = _SERIALIZER.query("id", id, 'int') + _params["id"] = _SERIALIZER.query("id", id, "int") if message is not None: - _params['message'] = _SERIALIZER.query("message", message, 'str') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["message"] = _SERIALIZER.query("message", message, "str") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) def build_test_different_calls_request( - *, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + *, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_one( - self, - id: int, - message: Optional[str] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_one(self, id: int, message: Optional[str] = None, **kwargs: Any) -> _models.ModelTwo: """TestOne should be in an SecondVersionOperationsMixin. Returns ModelTwo. :param id: An int parameter. Required. @@ -111,23 +93,20 @@ def test_one( :rtype: ~multiapiwithsubmodule.submodule.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] - request = build_test_one_request( id=id, message=message, api_version=api_version, - template_url=self.test_one.metadata['url'], + template_url=self.test_one.metadata["url"], headers=_headers, params=_params, ) @@ -135,9 +114,7 @@ def test_one( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -147,22 +124,18 @@ def test_one( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_one.metadata = {'url': "/multiapi/testOneEndpoint"} # type: ignore - + test_one.metadata = {"url": "/multiapi/testOneEndpoint"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements - self, - greeting_in_english: str, - greeting_in_chinese: Optional[str] = None, - **kwargs: Any + self, greeting_in_english: str, greeting_in_chinese: Optional[str] = None, **kwargs: Any ) -> None: """Has added parameters across the API versions. @@ -175,23 +148,20 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -199,9 +169,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -214,5 +182,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_operation_group_one_operations.py index 2f417247ee7..6711e0e19b3 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_three_request( - **kwargs: Any -) -> HttpRequest: +def build_test_three_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testThreeEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( - self, - parameter_one: Optional[_models.ModelTwo] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[_models.ModelTwo] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -125,11 +112,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. @@ -144,13 +127,8 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace - def test_two( - self, - parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, - **kwargs: Any - ) -> _models.ModelTwo: + def test_two(self, parameter_one: Optional[Union[_models.ModelTwo, IO]] = None, **kwargs: Any) -> _models.ModelTwo: """TestTwo should be in OperationGroupOneOperations. Takes in ModelTwo and ouputs ModelTwo. :param parameter_one: A ModelTwo parameter. Is either a model type or a IO type. Default value @@ -164,17 +142,15 @@ def test_two( :rtype: ~multiapiwithsubmodule.submodule.v2.models.ModelTwo :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelTwo] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelTwo] content_type = content_type or "application/json" _json = None @@ -183,7 +159,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelTwo') + _json = self._serialize.body(parameter_one, "ModelTwo") else: _json = None @@ -192,7 +168,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +176,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -212,21 +186,17 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelTwo', pipeline_response) + deserialized = self._deserialize("ModelTwo", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore @distributed_trace - def test_three( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_three(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestThree should be in OperationGroupOneOperations. Takes in ModelTwo. :keyword callable cls: A custom type or function that will be passed the direct response @@ -234,21 +204,18 @@ def test_three( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_three_request( api_version=api_version, - template_url=self.test_three.metadata['url'], + template_url=self.test_three.metadata["url"], headers=_headers, params=_params, ) @@ -256,9 +223,7 @@ def test_three( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -271,5 +236,4 @@ def test_three( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_three.metadata = {'url': "/multiapi/one/testThreeEndpoint"} # type: ignore - + test_three.metadata = {"url": "/multiapi/one/testThreeEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_operation_group_two_operations.py index e8326770b6b..541a9ad3ca7 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,33 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - *, - parameter_one: bool, - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(*, parameter_one: bool, **kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['parameterOne'] = _SERIALIZER.query("parameter_one", parameter_one, 'bool') - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["parameterOne"] = _SERIALIZER.query("parameter_one", parameter_one, "bool") + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -74,13 +72,8 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @distributed_trace - def test_four( # pylint: disable=inconsistent-return-statements - self, - parameter_one: bool, - **kwargs: Any - ) -> None: + def test_four(self, parameter_one: bool, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFour should be in OperationGroupTwoOperations. :param parameter_one: A boolean parameter. Required. @@ -90,22 +83,19 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "2.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "2.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_four_request( parameter_one=parameter_one, api_version=api_version, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -113,9 +103,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -128,5 +116,4 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v2/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_configuration.py index aeff88a97b5..3069741aa2b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,36 +32,33 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapiwithsubmodule/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapiwithsubmodule/{}".format(VERSION)) self._configure(**kwargs) def _configure( - self, - **kwargs # type: Any + self, **kwargs # type: Any ): # type: (...) -> None - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.RetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.RedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = ARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = ARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_multiapi_service_client.py index 0e13e9043b6..14f129cf7d5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials import TokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -39,12 +40,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di :paramtype api_version: str """ - def __init__( - self, - credential: "TokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any - ) -> None: + def __init__(self, credential: "TokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = ARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -59,12 +55,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> HttpResponse: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> HttpResponse: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_vendor.py index fc1f3b4c411..6352e571c41 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/_vendor.py @@ -18,6 +18,7 @@ from .._serialization import Deserializer, Serializer + def _convert_request(request, files=None): data = request.content if not files else None request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) @@ -25,8 +26,10 @@ def _convert_request(request, files=None): request.set_formdata_body(files) return request + class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "PipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/__init__.py index 7c425d89a59..f78e2c53a0c 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/__init__.py @@ -14,7 +14,8 @@ except ImportError: _patch_all = [] from ._patch import patch_sdk as _patch_sdk -__all__ = ['MultiapiServiceClient'] + +__all__ = ["MultiapiServiceClient"] __all__.extend([p for p in _patch_all if p not in __all__]) _patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_configuration.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_configuration.py index ffbfbc1bd60..9b283750d31 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_configuration.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_configuration.py @@ -18,6 +18,7 @@ VERSION = "unknown" + class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes """Configuration for MultiapiServiceClient. @@ -31,35 +32,30 @@ class MultiapiServiceClientConfiguration(Configuration): # pylint: disable=too- :paramtype api_version: str """ - def __init__( - self, - credential: "AsyncTokenCredential", - **kwargs: Any - ) -> None: + def __init__(self, credential: "AsyncTokenCredential", **kwargs: Any) -> None: super(MultiapiServiceClientConfiguration, self).__init__(**kwargs) - api_version = kwargs.pop('api_version', "3.0.0") # type: str + api_version = kwargs.pop("api_version", "3.0.0") # type: str if credential is None: raise ValueError("Parameter 'credential' must not be None.") self.credential = credential self.api_version = api_version - self.credential_scopes = kwargs.pop('credential_scopes', ['https://management.azure.com/.default']) - kwargs.setdefault('sdk_moniker', 'multiapiwithsubmodule/{}'.format(VERSION)) + self.credential_scopes = kwargs.pop("credential_scopes", ["https://management.azure.com/.default"]) + kwargs.setdefault("sdk_moniker", "multiapiwithsubmodule/{}".format(VERSION)) self._configure(**kwargs) - def _configure( - self, - **kwargs: Any - ) -> None: - self.user_agent_policy = kwargs.get('user_agent_policy') or policies.UserAgentPolicy(**kwargs) - self.headers_policy = kwargs.get('headers_policy') or policies.HeadersPolicy(**kwargs) - self.proxy_policy = kwargs.get('proxy_policy') or policies.ProxyPolicy(**kwargs) - self.logging_policy = kwargs.get('logging_policy') or policies.NetworkTraceLoggingPolicy(**kwargs) - self.http_logging_policy = kwargs.get('http_logging_policy') or ARMHttpLoggingPolicy(**kwargs) - self.retry_policy = kwargs.get('retry_policy') or policies.AsyncRetryPolicy(**kwargs) - self.custom_hook_policy = kwargs.get('custom_hook_policy') or policies.CustomHookPolicy(**kwargs) - self.redirect_policy = kwargs.get('redirect_policy') or policies.AsyncRedirectPolicy(**kwargs) - self.authentication_policy = kwargs.get('authentication_policy') + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or ARMHttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") if self.credential and not self.authentication_policy: - self.authentication_policy = AsyncARMChallengeAuthenticationPolicy(self.credential, *self.credential_scopes, **kwargs) + self.authentication_policy = AsyncARMChallengeAuthenticationPolicy( + self.credential, *self.credential_scopes, **kwargs + ) diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_multiapi_service_client.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_multiapi_service_client.py index 12c11e2aba5..0a71c50d152 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_multiapi_service_client.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_multiapi_service_client.py @@ -21,6 +21,7 @@ # pylint: disable=unused-import,ungrouped-imports from azure.core.credentials_async import AsyncTokenCredential + class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: disable=client-accepts-api-version-keyword """Service client for multiapi client testing. @@ -40,10 +41,7 @@ class MultiapiServiceClient(MultiapiServiceClientOperationsMixin): # pylint: di """ def __init__( - self, - credential: "AsyncTokenCredential", - base_url: str = "http://localhost:3000", - **kwargs: Any + self, credential: "AsyncTokenCredential", base_url: str = "http://localhost:3000", **kwargs: Any ) -> None: self._config = MultiapiServiceClientConfiguration(credential=credential, **kwargs) self._client = AsyncARMPipelineClient(base_url=base_url, config=self._config, **kwargs) @@ -59,12 +57,7 @@ def __init__( self._client, self._config, self._serialize, self._deserialize ) - - def _send_request( - self, - request: HttpRequest, - **kwargs: Any - ) -> Awaitable[AsyncHttpResponse]: + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: """Runs the network request through the client's chained policies. >>> from azure.core.rest import HttpRequest diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_vendor.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_vendor.py index c2adede4a23..a7cc17dc87b 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_vendor.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/_vendor.py @@ -21,6 +21,7 @@ class MixinABC(ABC): """DO NOT use this class. It is for internal typing use only.""" + _client: "AsyncPipelineClient" _config: MultiapiServiceClientConfiguration _serialize: "Serializer" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_multiapi_service_client_operations.py index 6be88c6cea3..52b28320d4a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_multiapi_service_client_operations.py @@ -9,7 +9,13 @@ from typing import Any, AsyncIterable, Callable, Dict, Optional, TypeVar from azure.core.async_paging import AsyncItemPaged, AsyncList -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,18 +26,19 @@ from ... import models as _models from ..._vendor import _convert_request -from ...operations._multiapi_service_client_operations import build_test_different_calls_request, build_test_paging_request +from ...operations._multiapi_service_client_operations import ( + build_test_different_calls_request, + build_test_paging_request, +) from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> AsyncIterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> AsyncIterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -43,17 +50,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -61,7 +67,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -83,9 +89,7 @@ async def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -95,11 +99,9 @@ async def get_next(next_link=None): return pipeline_response + return AsyncItemPaged(get_next, extract_data) - return AsyncItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace_async async def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -122,24 +124,21 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -147,9 +146,7 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -162,5 +159,4 @@ async def test_different_calls( # pylint: disable=inconsistent-return-statement if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_operation_group_one_operations.py index 926a2cd438d..eb193ab8500 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_one_operations import build_test_two_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupOneOperations: """ .. warning:: @@ -42,7 +50,6 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_two( self, @@ -66,11 +73,7 @@ async def test_two( @overload async def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -85,12 +88,9 @@ async def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -105,17 +105,15 @@ async def test_two( :rtype: ~multiapiwithsubmodule.submodule.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -124,7 +122,7 @@ async def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -133,7 +131,7 @@ async def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +139,7 @@ async def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -153,12 +149,11 @@ async def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_operation_group_two_operations.py index 47e78cb3ce2..d52a3232a0e 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import AsyncHttpResponse from azure.core.rest import HttpRequest @@ -20,9 +26,11 @@ from ..._vendor import _convert_request from ...operations._operation_group_two_operations import build_test_five_request, build_test_four_request from .._vendor import MixinABC -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + class OperationGroupTwoOperations: """ .. warning:: @@ -42,14 +50,9 @@ def __init__(self, *args, **kwargs) -> None: self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -66,11 +69,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements @overload async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -86,12 +85,9 @@ async def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace_async async def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -105,17 +101,15 @@ async def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -123,7 +117,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -133,7 +127,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -141,9 +135,7 @@ async def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -156,14 +148,10 @@ async def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace_async - async def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + async def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -171,21 +159,18 @@ async def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -193,9 +178,7 @@ async def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = await self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -208,5 +191,4 @@ async def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/aio/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/__init__.py index 5fdae05688a..0e34072c503 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/__init__.py @@ -15,12 +15,13 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'Error', - 'ModelThree', - 'PagingResult', - 'SourcePath', - 'ContentType', + "Error", + "ModelThree", + "PagingResult", + "SourcePath", + "ContentType", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_models_py3.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_models_py3.py index 22cf3af4a39..31b9b6bf7b5 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_models_py3.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_models_py3.py @@ -26,13 +26,7 @@ class Error(_serialization.Model): "message": {"key": "message", "type": "str"}, } - def __init__( - self, - *, - status: Optional[int] = None, - message: Optional[str] = None, - **kwargs - ): + def __init__(self, *, status: Optional[int] = None, message: Optional[str] = None, **kwargs): """ :keyword status: :paramtype status: int @@ -55,12 +49,7 @@ class ModelThree(_serialization.Model): "optional_property": {"key": "optionalProperty", "type": "str"}, } - def __init__( - self, - *, - optional_property: Optional[str] = None, - **kwargs - ): + def __init__(self, *, optional_property: Optional[str] = None, **kwargs): """ :keyword optional_property: :paramtype optional_property: str @@ -84,11 +73,7 @@ class PagingResult(_serialization.Model): } def __init__( - self, - *, - values: Optional[List["_models.ModelThree"]] = None, - next_link: Optional[str] = None, - **kwargs + self, *, values: Optional[List["_models.ModelThree"]] = None, next_link: Optional[str] = None, **kwargs ): """ :keyword values: @@ -109,19 +94,14 @@ class SourcePath(_serialization.Model): """ _validation = { - 'source': {'max_length': 2048}, + "source": {"max_length": 2048}, } _attribute_map = { "source": {"key": "source", "type": "str"}, } - def __init__( - self, - *, - source: Optional[str] = None, - **kwargs - ): + def __init__(self, *, source: Optional[str] = None, **kwargs): """ :keyword source: File source path. :paramtype source: str diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_multiapi_service_client_enums.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_multiapi_service_client_enums.py index e1cacc66105..a60e2b8579a 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_multiapi_service_client_enums.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_multiapi_service_client_enums.py @@ -11,8 +11,7 @@ class ContentType(str, Enum, metaclass=CaseInsensitiveEnumMeta): - """Content type for upload. - """ + """Content type for upload.""" #: Content Type 'application/pdf' APPLICATION_PDF = "application/pdf" diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/models/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/__init__.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/__init__.py index fcbc9a201de..ea8d25c71fb 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/__init__.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/__init__.py @@ -13,10 +13,11 @@ from ._patch import __all__ as _patch_all from ._patch import * # type: ignore # pylint: disable=unused-wildcard-import from ._patch import patch_sdk as _patch_sdk + __all__ = [ - 'MultiapiServiceClientOperationsMixin', - 'OperationGroupOneOperations', - 'OperationGroupTwoOperations', + "MultiapiServiceClientOperationsMixin", + "OperationGroupOneOperations", + "OperationGroupTwoOperations", ] __all__.extend([p for p in _patch_all if p not in __all__]) -_patch_sdk() \ No newline at end of file +_patch_sdk() diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_multiapi_service_client_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_multiapi_service_client_operations.py index da5348cdb1d..5f9bde6e9f6 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_multiapi_service_client_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_multiapi_service_client_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, Iterable, Optional, TypeVar -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.paging import ItemPaged from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse @@ -20,32 +26,26 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_paging_request( - **kwargs: Any -) -> HttpRequest: +def build_test_paging_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) - accept = _headers.pop('Accept', "application/json") + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/paging") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, headers=_headers, **kwargs) def build_test_different_calls_request( @@ -58,38 +58,29 @@ def build_test_different_calls_request( _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/testDifferentCalls") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['greetingInEnglish'] = _SERIALIZER.header("greeting_in_english", greeting_in_english, 'str') + _headers["greetingInEnglish"] = _SERIALIZER.header("greeting_in_english", greeting_in_english, "str") if greeting_in_chinese is not None: - _headers['greetingInChinese'] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, 'str') + _headers["greetingInChinese"] = _SERIALIZER.header("greeting_in_chinese", greeting_in_chinese, "str") if greeting_in_french is not None: - _headers['greetingInFrench'] = _SERIALIZER.header("greeting_in_french", greeting_in_french, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["greetingInFrench"] = _SERIALIZER.header("greeting_in_french", greeting_in_french, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) -class MultiapiServiceClientOperationsMixin(MixinABC): +class MultiapiServiceClientOperationsMixin(MixinABC): @distributed_trace - def test_paging( - self, - **kwargs: Any - ) -> Iterable["_models.ModelThree"]: + def test_paging(self, **kwargs: Any) -> Iterable["_models.ModelThree"]: """Returns ModelThree with optionalProperty 'paged'. :keyword callable cls: A custom type or function that will be passed the direct response @@ -100,17 +91,16 @@ def test_paging( _headers = kwargs.pop("headers", {}) or {} _params = kwargs.pop("params", {}) or {} - cls = kwargs.pop('cls', None) # type: ClsType[_models.PagingResult] + cls = kwargs.pop("cls", None) # type: ClsType[_models.PagingResult] + + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) def prepare_request(next_link=None): if not next_link: - + request = build_test_paging_request( - template_url=self.test_paging.metadata['url'], + template_url=self.test_paging.metadata["url"], headers=_headers, params=_params, ) @@ -118,7 +108,7 @@ def prepare_request(next_link=None): request.url = self._client.format_url(request.url) # type: ignore else: - + request = build_test_paging_request( template_url=next_link, headers=_headers, @@ -140,9 +130,7 @@ def get_next(next_link=None): request = prepare_request(next_link) pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -152,11 +140,9 @@ def get_next(next_link=None): return pipeline_response + return ItemPaged(get_next, extract_data) - return ItemPaged( - get_next, extract_data - ) - test_paging.metadata = {'url': "/multiapi/paging"} # type: ignore + test_paging.metadata = {"url": "/multiapi/paging"} # type: ignore @distributed_trace def test_different_calls( # pylint: disable=inconsistent-return-statements @@ -179,24 +165,21 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_different_calls_request( greeting_in_english=greeting_in_english, greeting_in_chinese=greeting_in_chinese, greeting_in_french=greeting_in_french, api_version=api_version, - template_url=self.test_different_calls.metadata['url'], + template_url=self.test_different_calls.metadata["url"], headers=_headers, params=_params, ) @@ -204,9 +187,7 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -219,5 +200,4 @@ def test_different_calls( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_different_calls.metadata = {'url': "/multiapi/testDifferentCalls"} # type: ignore - + test_different_calls.metadata = {"url": "/multiapi/testDifferentCalls"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_operation_group_one_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_operation_group_one_operations.py index 2ecb390e536..272d3512905 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_operation_group_one_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_operation_group_one_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,41 +25,35 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_two_request( - **kwargs: Any -) -> HttpRequest: +def build_test_two_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/one/testTwoEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="GET", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="GET", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupOneOperations: """ @@ -74,7 +74,6 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_two( self, @@ -98,11 +97,7 @@ def test_two( @overload def test_two( - self, - parameter_one: Optional[IO] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, parameter_one: Optional[IO] = None, *, content_type: str = "application/json", **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -117,12 +112,9 @@ def test_two( :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_two( - self, - parameter_one: Optional[Union[_models.ModelThree, IO]] = None, - **kwargs: Any + self, parameter_one: Optional[Union[_models.ModelThree, IO]] = None, **kwargs: Any ) -> _models.ModelThree: """TestTwo should be in OperationGroupOneOperations. Takes in ModelThree and ouputs ModelThree. @@ -137,17 +129,15 @@ def test_two( :rtype: ~multiapiwithsubmodule.submodule.v3.models.ModelThree :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[_models.ModelThree] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[_models.ModelThree] content_type = content_type or "application/json" _json = None @@ -156,7 +146,7 @@ def test_two( _content = parameter_one else: if parameter_one is not None: - _json = self._serialize.body(parameter_one, 'ModelThree') + _json = self._serialize.body(parameter_one, "ModelThree") else: _json = None @@ -165,7 +155,7 @@ def test_two( content_type=content_type, json=_json, content=_content, - template_url=self.test_two.metadata['url'], + template_url=self.test_two.metadata["url"], headers=_headers, params=_params, ) @@ -173,9 +163,7 @@ def test_two( request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -185,12 +173,11 @@ def test_two( error = self._deserialize.failsafe_deserialize(_models.Error, pipeline_response) raise HttpResponseError(response=response, model=error, error_format=ARMErrorFormat) - deserialized = self._deserialize('ModelThree', pipeline_response) + deserialized = self._deserialize("ModelThree", pipeline_response) if cls: return cls(pipeline_response, deserialized, {}) return deserialized - test_two.metadata = {'url': "/multiapi/one/testTwoEndpoint"} # type: ignore - + test_two.metadata = {"url": "/multiapi/one/testTwoEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_operation_group_two_operations.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_operation_group_two_operations.py index 9ec985e44d8..cfc302c4496 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_operation_group_two_operations.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_operation_group_two_operations.py @@ -8,7 +8,13 @@ # -------------------------------------------------------------------------- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union, overload -from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) from azure.core.pipeline import PipelineResponse from azure.core.pipeline.transport import HttpResponse from azure.core.rest import HttpRequest @@ -19,68 +25,54 @@ from .. import models as _models from ..._serialization import Serializer from .._vendor import MixinABC, _convert_request -T = TypeVar('T') + +T = TypeVar("T") ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] _SERIALIZER = Serializer() _SERIALIZER.client_side_validation = False -def build_test_four_request( - **kwargs: Any -) -> HttpRequest: +def build_test_four_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFourEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers if content_type is not None: - _headers['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str") + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") - return HttpRequest( - method="POST", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) + return HttpRequest(method="POST", url=_url, params=_params, headers=_headers, **kwargs) -def build_test_five_request( - **kwargs: Any -) -> HttpRequest: +def build_test_five_request(**kwargs: Any) -> HttpRequest: _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - accept = _headers.pop('Accept', "application/json") + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + accept = _headers.pop("Accept", "application/json") # Construct URL _url = kwargs.pop("template_url", "/multiapi/two/testFiveEndpoint") # Construct parameters - _params['api-version'] = _SERIALIZER.query("api_version", api_version, 'str') + _params["api-version"] = _SERIALIZER.query("api_version", api_version, "str") # Construct headers - _headers['Accept'] = _SERIALIZER.header("accept", accept, 'str') + _headers["Accept"] = _SERIALIZER.header("accept", accept, "str") + + return HttpRequest(method="PUT", url=_url, params=_params, headers=_headers, **kwargs) - return HttpRequest( - method="PUT", - url=_url, - params=_params, - headers=_headers, - **kwargs - ) class OperationGroupTwoOperations: """ @@ -101,14 +93,9 @@ def __init__(self, *args, **kwargs): self._serialize = input_args.pop(0) if input_args else kwargs.pop("serializer") self._deserialize = input_args.pop(0) if input_args else kwargs.pop("deserializer") - @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[_models.SourcePath] = None, - *, - content_type: str = "application/json", - **kwargs: Any + self, input: Optional[_models.SourcePath] = None, *, content_type: str = "application/json", **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -125,11 +112,7 @@ def test_four( # pylint: disable=inconsistent-return-statements @overload def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[IO] = None, - *, - content_type: Optional[str] = None, - **kwargs: Any + self, input: Optional[IO] = None, *, content_type: Optional[str] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -145,12 +128,9 @@ def test_four( # pylint: disable=inconsistent-return-statements :raises ~azure.core.exceptions.HttpResponseError: """ - @distributed_trace def test_four( # pylint: disable=inconsistent-return-statements - self, - input: Optional[Union[_models.SourcePath, IO]] = None, - **kwargs: Any + self, input: Optional[Union[_models.SourcePath, IO]] = None, **kwargs: Any ) -> None: """TestFour should be in OperationGroupTwoOperations. @@ -164,17 +144,15 @@ def test_four( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {}) _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - content_type = kwargs.pop('content_type', _headers.pop('Content-Type', None)) # type: Optional[str] - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + content_type = kwargs.pop("content_type", _headers.pop("Content-Type", None)) # type: Optional[str] + cls = kwargs.pop("cls", None) # type: ClsType[None] _json = None _content = None @@ -182,7 +160,7 @@ def test_four( # pylint: disable=inconsistent-return-statements _content = input else: if input is not None: - _json = self._serialize.body(input, 'SourcePath') + _json = self._serialize.body(input, "SourcePath") else: _json = None content_type = content_type or "application/json" @@ -192,7 +170,7 @@ def test_four( # pylint: disable=inconsistent-return-statements content_type=content_type, json=_json, content=_content, - template_url=self.test_four.metadata['url'], + template_url=self.test_four.metadata["url"], headers=_headers, params=_params, ) @@ -200,9 +178,7 @@ def test_four( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -215,14 +191,10 @@ def test_four( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_four.metadata = {'url': "/multiapi/two/testFourEndpoint"} # type: ignore - + test_four.metadata = {"url": "/multiapi/two/testFourEndpoint"} # type: ignore @distributed_trace - def test_five( # pylint: disable=inconsistent-return-statements - self, - **kwargs: Any - ) -> None: + def test_five(self, **kwargs: Any) -> None: # pylint: disable=inconsistent-return-statements """TestFive should be in OperationGroupTwoOperations. :keyword callable cls: A custom type or function that will be passed the direct response @@ -230,21 +202,18 @@ def test_five( # pylint: disable=inconsistent-return-statements :rtype: None :raises ~azure.core.exceptions.HttpResponseError: """ - error_map = { - 401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError - } - error_map.update(kwargs.pop('error_map', {}) or {}) + error_map = {401: ClientAuthenticationError, 404: ResourceNotFoundError, 409: ResourceExistsError} + error_map.update(kwargs.pop("error_map", {}) or {}) _headers = kwargs.pop("headers", {}) or {} _params = case_insensitive_dict(kwargs.pop("params", {}) or {}) - api_version = kwargs.pop('api_version', _params.pop('api-version', "3.0.0")) # type: str - cls = kwargs.pop('cls', None) # type: ClsType[None] + api_version = kwargs.pop("api_version", _params.pop("api-version", "3.0.0")) # type: str + cls = kwargs.pop("cls", None) # type: ClsType[None] - request = build_test_five_request( api_version=api_version, - template_url=self.test_five.metadata['url'], + template_url=self.test_five.metadata["url"], headers=_headers, params=_params, ) @@ -252,9 +221,7 @@ def test_five( # pylint: disable=inconsistent-return-statements request.url = self._client.format_url(request.url) # type: ignore pipeline_response = self._client._pipeline.run( # type: ignore # pylint: disable=protected-access - request, - stream=False, - **kwargs + request, stream=False, **kwargs ) response = pipeline_response.http_response @@ -267,5 +234,4 @@ def test_five( # pylint: disable=inconsistent-return-statements if cls: return cls(pipeline_response, None, {}) - test_five.metadata = {'url': "/multiapi/two/testFiveEndpoint"} # type: ignore - + test_five.metadata = {"url": "/multiapi/two/testFiveEndpoint"} # type: ignore diff --git a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_patch.py b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_patch.py index 8a35ddb87c7..e5b7773d020 100644 --- a/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_patch.py +++ b/test/multiapi/Expected/AcceptanceTests/MultiapiWithSubmodule/multiapiwithsubmodule/submodule/v3/operations/_patch.py @@ -14,6 +14,7 @@ __all__ = [] # type: List[str] # Add all objects you want publicly available to users at this package level + def patch_sdk(): """Do not remove from this file. diff --git a/test/multiapi/specification/multiapi/README.md b/test/multiapi/specification/multiapi/README.md index eef31b1a54d..09cdf99f68d 100644 --- a/test/multiapi/specification/multiapi/README.md +++ b/test/multiapi/specification/multiapi/README.md @@ -36,6 +36,7 @@ license-header: MICROSOFT_MIT_NO_VERSION azure-arm: true add-credentials: true python3-only: true +version-tolerant: false ``` ``` yaml $(multiapi) diff --git a/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md b/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md index 9612fd9deb9..1b5a28a07f2 100644 --- a/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md +++ b/test/multiapi/specification/multiapicredentialdefaultpolicy/README.md @@ -31,6 +31,7 @@ azure-arm: true add-credentials: true credential-default-policy-type: AzureKeyCredentialPolicy python3-only: true +version-tolerant: false ``` ``` yaml $(multiapi) diff --git a/test/multiapi/specification/multiapicustombaseurl/README.md b/test/multiapi/specification/multiapicustombaseurl/README.md index 320f935c9ef..4c300b5c00e 100644 --- a/test/multiapi/specification/multiapicustombaseurl/README.md +++ b/test/multiapi/specification/multiapicustombaseurl/README.md @@ -19,6 +19,7 @@ no-namespace-folders: true license-header: MICROSOFT_MIT_NO_VERSION add-credentials: true python3-only: true +version-tolerant: false ``` ``` yaml $(multiapi) diff --git a/test/multiapi/specification/multiapidataplane/README.md b/test/multiapi/specification/multiapidataplane/README.md index 083a56d5273..158374dd780 100644 --- a/test/multiapi/specification/multiapidataplane/README.md +++ b/test/multiapi/specification/multiapidataplane/README.md @@ -29,6 +29,7 @@ no-namespace-folders: true license-header: MICROSOFT_MIT_NO_VERSION add-credentials: true python3-only: true +version-tolerant: false ``` ``` yaml $(multiapi) diff --git a/test/multiapi/specification/multiapinoasync/README.md b/test/multiapi/specification/multiapinoasync/README.md index c0b464e1365..5546f909929 100644 --- a/test/multiapi/specification/multiapinoasync/README.md +++ b/test/multiapi/specification/multiapinoasync/README.md @@ -31,6 +31,7 @@ azure-arm: true add-credentials: true no-async: true python3-only: true +version-tolerant: false ``` ``` yaml $(multiapi) diff --git a/test/multiapi/specification/multiapisecurity/README.md b/test/multiapi/specification/multiapisecurity/README.md index c72a2461376..9caca9e8fef 100644 --- a/test/multiapi/specification/multiapisecurity/README.md +++ b/test/multiapi/specification/multiapisecurity/README.md @@ -23,6 +23,7 @@ no-namespace-folders: true license-header: MICROSOFT_MIT_NO_VERSION security: AADToken python3-only: true +version-tolerant: false ``` ``` yaml $(multiapi) diff --git a/test/multiapi/specification/multiapiwithsubmodule/README.md b/test/multiapi/specification/multiapiwithsubmodule/README.md index b6ff343afbf..c6b37deb834 100644 --- a/test/multiapi/specification/multiapiwithsubmodule/README.md +++ b/test/multiapi/specification/multiapiwithsubmodule/README.md @@ -29,6 +29,7 @@ azure-arm: true add-credentials: true no-namespace-folders: true python3-only: true +version-tolerant: false ``` ``` yaml $(multiapi) diff --git a/test/vanilla/legacy/specification/packagemodedataplane/README.md b/test/vanilla/legacy/specification/packagemodedataplane/README.md index 1850f068cd1..ba07ed547e8 100644 --- a/test/vanilla/legacy/specification/packagemodedataplane/README.md +++ b/test/vanilla/legacy/specification/packagemodedataplane/README.md @@ -17,4 +17,5 @@ clear-output-folder: true black: true vanilla: true package-mode: dataplane +version-tolerant: false ```