@typespec/http-client-python 0.28.2 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/dist/emitter/code-model.d.ts.map +1 -1
  2. package/dist/emitter/code-model.js +7 -6
  3. package/dist/emitter/code-model.js.map +1 -1
  4. package/dist/emitter/constants.d.ts +6 -0
  5. package/dist/emitter/constants.d.ts.map +1 -0
  6. package/dist/emitter/constants.js +27 -0
  7. package/dist/emitter/constants.js.map +1 -0
  8. package/dist/emitter/emitter.d.ts.map +1 -1
  9. package/dist/emitter/emitter.js +193 -119
  10. package/dist/emitter/emitter.js.map +1 -1
  11. package/dist/emitter/http.d.ts.map +1 -1
  12. package/dist/emitter/http.js +33 -1
  13. package/dist/emitter/http.js.map +1 -1
  14. package/dist/emitter/lib.d.ts +37 -3
  15. package/dist/emitter/lib.d.ts.map +1 -1
  16. package/dist/emitter/lib.js +17 -0
  17. package/dist/emitter/lib.js.map +1 -1
  18. package/dist/emitter/run-python3.js +1 -1
  19. package/dist/emitter/run-python3.js.map +1 -1
  20. package/dist/emitter/system-requirements.js +6 -4
  21. package/dist/emitter/system-requirements.js.map +1 -1
  22. package/dist/emitter/types.d.ts +2 -5
  23. package/dist/emitter/types.d.ts.map +1 -1
  24. package/dist/emitter/types.js +86 -63
  25. package/dist/emitter/types.js.map +1 -1
  26. package/dist/emitter/utils.d.ts.map +1 -1
  27. package/dist/emitter/utils.js +16 -17
  28. package/dist/emitter/utils.js.map +1 -1
  29. package/emitter/src/code-model.ts +7 -13
  30. package/emitter/src/constants.ts +27 -0
  31. package/emitter/src/emitter.ts +241 -123
  32. package/emitter/src/http.ts +29 -1
  33. package/emitter/src/lib.ts +24 -0
  34. package/emitter/src/run-python3.ts +1 -1
  35. package/emitter/src/system-requirements.ts +4 -4
  36. package/emitter/src/types.ts +102 -62
  37. package/emitter/src/utils.ts +16 -18
  38. package/emitter/temp/tsconfig.tsbuildinfo +1 -1
  39. package/emitter/test/utils.test.ts +3 -0
  40. package/emitter/tsconfig.build.json +2 -1
  41. package/emitter/tsconfig.json +2 -1
  42. package/eng/scripts/Build-Packages.ps1 +62 -37
  43. package/eng/scripts/Check-GitChanges.ps1 +30 -3
  44. package/eng/scripts/Functions.ps1 +54 -15
  45. package/eng/scripts/Generate.ps1 +42 -8
  46. package/eng/scripts/Generation.psm1 +44 -15
  47. package/eng/scripts/Initialize-Repository.ps1 +29 -11
  48. package/eng/scripts/Test-Packages.ps1 +47 -31
  49. package/eng/scripts/ci/config/eslint-ci.config.mjs +64 -0
  50. package/eng/scripts/ci/{mypy.ini → config/mypy.ini} +1 -1
  51. package/eng/scripts/ci/{pylintrc → config/pylintrc} +1 -1
  52. package/eng/scripts/ci/{pyrightconfig.json → config/pyrightconfig.json} +1 -1
  53. package/eng/scripts/ci/dev_requirements.txt +2 -1
  54. package/eng/scripts/ci/format.ts +232 -2
  55. package/eng/scripts/ci/lint.ts +223 -20
  56. package/eng/scripts/ci/regenerate-common.ts +411 -136
  57. package/eng/scripts/ci/regenerate.ts +247 -101
  58. package/eng/scripts/ci/run-tests.ts +507 -0
  59. package/eng/scripts/ci/run_apiview.py +22 -16
  60. package/eng/scripts/ci/run_mypy.py +34 -23
  61. package/eng/scripts/ci/run_pylint.py +27 -19
  62. package/eng/scripts/ci/run_pyright.py +9 -5
  63. package/eng/scripts/ci/run_sphinx_build.py +24 -9
  64. package/eng/scripts/ci/typecheck.ts +225 -0
  65. package/eng/scripts/ci/util.py +61 -25
  66. package/eng/scripts/ci/utils.ts +5 -5
  67. package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
  68. package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
  69. package/eng/scripts/setup/build.ts +1 -1
  70. package/eng/scripts/setup/build_pygen_wheel.py +4 -3
  71. package/eng/scripts/setup/install.py +4 -3
  72. package/eng/scripts/setup/install.ts +1 -1
  73. package/eng/scripts/setup/prepare.py +3 -2
  74. package/eng/scripts/setup/prepare.ts +1 -1
  75. package/eng/scripts/setup/run-python3.ts +1 -1
  76. package/eng/scripts/setup/run_batch.py +197 -0
  77. package/eng/scripts/setup/run_tsp.py +3 -3
  78. package/eng/scripts/setup/system-requirements.ts +8 -4
  79. package/eng/scripts/setup/venvtools.py +1 -1
  80. package/generator/build/lib/pygen/__init__.py +1 -3
  81. package/generator/build/lib/pygen/codegen/__init__.py +0 -1
  82. package/generator/build/lib/pygen/codegen/models/base.py +0 -1
  83. package/generator/build/lib/pygen/codegen/models/client.py +2 -1
  84. package/generator/build/lib/pygen/codegen/models/code_model.py +1 -0
  85. package/generator/build/lib/pygen/codegen/models/enum_type.py +0 -1
  86. package/generator/build/lib/pygen/codegen/models/model_type.py +1 -7
  87. package/generator/build/lib/pygen/codegen/models/parameter.py +16 -14
  88. package/generator/build/lib/pygen/codegen/serializers/__init__.py +27 -12
  89. package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +12 -3
  90. package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +6 -2
  91. package/generator/build/lib/pygen/codegen/serializers/import_serializer.py +17 -4
  92. package/generator/build/lib/pygen/codegen/serializers/parameter_serializer.py +17 -11
  93. package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +176 -71
  94. package/generator/build/lib/pygen/codegen/templates/packaging_templates/README.md.jinja2 +11 -3
  95. package/generator/build/lib/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +1 -1
  96. package/generator/build/lib/pygen/codegen/templates/serialization.py.jinja2 +5 -1
  97. package/generator/build/lib/pygen/preprocess/__init__.py +37 -30
  98. package/generator/component-detection-pip-report.json +7 -7
  99. package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
  100. package/generator/pygen/__init__.py +1 -3
  101. package/generator/pygen/codegen/__init__.py +0 -1
  102. package/generator/pygen/codegen/models/base.py +0 -1
  103. package/generator/pygen/codegen/models/client.py +2 -1
  104. package/generator/pygen/codegen/models/code_model.py +1 -0
  105. package/generator/pygen/codegen/models/enum_type.py +0 -1
  106. package/generator/pygen/codegen/models/model_type.py +1 -7
  107. package/generator/pygen/codegen/models/parameter.py +16 -14
  108. package/generator/pygen/codegen/serializers/__init__.py +27 -12
  109. package/generator/pygen/codegen/serializers/builder_serializer.py +12 -3
  110. package/generator/pygen/codegen/serializers/general_serializer.py +6 -2
  111. package/generator/pygen/codegen/serializers/import_serializer.py +17 -4
  112. package/generator/pygen/codegen/serializers/parameter_serializer.py +17 -11
  113. package/generator/pygen/codegen/templates/model_base.py.jinja2 +176 -71
  114. package/generator/pygen/codegen/templates/packaging_templates/README.md.jinja2 +11 -3
  115. package/generator/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +1 -1
  116. package/generator/pygen/codegen/templates/serialization.py.jinja2 +5 -1
  117. package/generator/pygen/preprocess/__init__.py +37 -30
  118. package/generator/pygen.egg-info/PKG-INFO +1 -2
  119. package/generator/pygen.egg-info/requires.txt +1 -1
  120. package/generator/setup.py +1 -2
  121. package/package.json +63 -42
  122. package/eng/scripts/ci/run-ci.ts +0 -89
  123. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +0 -94
  124. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +0 -30
  125. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +0 -36
  126. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +0 -205
  127. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_resource_async.py +0 -478
  128. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_access_async.py +0 -101
  129. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_header_async.py +0 -18
  130. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_path_async.py +0 -18
  131. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_query_async.py +0 -18
  132. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +0 -46
  133. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +0 -58
  134. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +0 -82
  135. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +0 -20
  136. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_flatten_async.py +0 -115
  137. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_hierrarchy_building_async.py +0 -53
  138. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_next_link_verb_async.py +0 -28
  139. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_override_async.py +0 -106
  140. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +0 -38
  141. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_basic_async.py +0 -76
  142. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +0 -22
  143. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py +0 -39
  144. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_model_async.py +0 -33
  145. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +0 -80
  146. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_scalar_async.py +0 -41
  147. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_traits_async.py +0 -87
  148. package/generator/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +0 -19
  149. package/generator/test/azure/mock_api_tests/asynctests/test_azure_example_basic_async.py +0 -30
  150. package/generator/test/azure/mock_api_tests/asynctests/test_azure_payload_pageable_async.py +0 -19
  151. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_method_subscription_id_async.py +0 -248
  152. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +0 -110
  153. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py +0 -132
  154. package/generator/test/azure/mock_api_tests/asynctests/test_azure_special_headers_client_request_id_async.py +0 -30
  155. package/generator/test/azure/mock_api_tests/asynctests/test_azure_versioning_previewversion_async.py +0 -53
  156. package/generator/test/azure/mock_api_tests/asynctests/test_client_namespace_async.py +0 -34
  157. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +0 -69
  158. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +0 -37
  159. package/generator/test/azure/mock_api_tests/asynctests/test_client_overload_async.py +0 -27
  160. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_async.py +0 -64
  161. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_clientoperationgroup_async.py +0 -31
  162. package/generator/test/azure/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  163. package/generator/test/azure/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  164. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  165. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  166. package/generator/test/azure/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  167. package/generator/test/azure/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -216
  168. package/generator/test/azure/mock_api_tests/asynctests/test_resiliency_srv_driven_async.py +0 -130
  169. package/generator/test/azure/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  170. package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +0 -31
  171. package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +0 -71
  172. package/generator/test/azure/mock_api_tests/conftest.py +0 -207
  173. package/generator/test/azure/mock_api_tests/data/image.jpg +0 -0
  174. package/generator/test/azure/mock_api_tests/data/image.png +0 -0
  175. package/generator/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +0 -89
  176. package/generator/test/azure/mock_api_tests/test_azure_arm_largeheader.py +0 -27
  177. package/generator/test/azure/mock_api_tests/test_azure_arm_nonresource.py +0 -34
  178. package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +0 -180
  179. package/generator/test/azure/mock_api_tests/test_azure_arm_resource.py +0 -436
  180. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_access.py +0 -92
  181. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_header.py +0 -17
  182. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_path.py +0 -17
  183. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_query.py +0 -17
  184. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +0 -42
  185. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +0 -51
  186. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +0 -70
  187. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +0 -19
  188. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_flatten.py +0 -104
  189. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py +0 -45
  190. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py +0 -27
  191. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_override.py +0 -102
  192. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +0 -32
  193. package/generator/test/azure/mock_api_tests/test_azure_core_basic.py +0 -70
  194. package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +0 -20
  195. package/generator/test/azure/mock_api_tests/test_azure_core_lro_standard.py +0 -32
  196. package/generator/test/azure/mock_api_tests/test_azure_core_model.py +0 -30
  197. package/generator/test/azure/mock_api_tests/test_azure_core_page.py +0 -71
  198. package/generator/test/azure/mock_api_tests/test_azure_core_scalar.py +0 -35
  199. package/generator/test/azure/mock_api_tests/test_azure_core_traits.py +0 -85
  200. package/generator/test/azure/mock_api_tests/test_azure_encode_duration.py +0 -18
  201. package/generator/test/azure/mock_api_tests/test_azure_example_basic.py +0 -29
  202. package/generator/test/azure/mock_api_tests/test_azure_payload_pageable.py +0 -18
  203. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py +0 -235
  204. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +0 -104
  205. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py +0 -128
  206. package/generator/test/azure/mock_api_tests/test_azure_special_headers_client_request_id.py +0 -29
  207. package/generator/test/azure/mock_api_tests/test_azure_versioning_previewversion.py +0 -50
  208. package/generator/test/azure/mock_api_tests/test_clear_output_folder.py +0 -23
  209. package/generator/test/azure/mock_api_tests/test_client_namespace.py +0 -32
  210. package/generator/test/azure/mock_api_tests/test_client_naming.py +0 -57
  211. package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +0 -35
  212. package/generator/test/azure/mock_api_tests/test_client_overload.py +0 -25
  213. package/generator/test/azure/mock_api_tests/test_client_structure.py +0 -60
  214. package/generator/test/azure/mock_api_tests/test_client_structure_clientoperationgroup.py +0 -29
  215. package/generator/test/azure/mock_api_tests/test_encode_duration.py +0 -60
  216. package/generator/test/azure/mock_api_tests/test_encode_numeric.py +0 -31
  217. package/generator/test/azure/mock_api_tests/test_model_base_flatten_compatibility.py +0 -251
  218. package/generator/test/azure/mock_api_tests/test_parameters_basic.py +0 -22
  219. package/generator/test/azure/mock_api_tests/test_parameters_spread.py +0 -66
  220. package/generator/test/azure/mock_api_tests/test_payload_content_negotiation.py +0 -33
  221. package/generator/test/azure/mock_api_tests/test_payload_multipart.py +0 -198
  222. package/generator/test/azure/mock_api_tests/test_resiliency_srv_driven.py +0 -124
  223. package/generator/test/azure/mock_api_tests/test_serialization_encoded_name_json.py +0 -21
  224. package/generator/test/azure/mock_api_tests/test_service_multi_service.py +0 -29
  225. package/generator/test/azure/mock_api_tests/test_special_words.py +0 -63
  226. package/generator/test/azure/requirements.txt +0 -125
  227. package/generator/test/azure/tox.ini +0 -64
  228. package/generator/test/data/image.jpg +0 -0
  229. package/generator/test/data/image.png +0 -0
  230. package/generator/test/dev_requirements.txt +0 -8
  231. package/generator/test/generic_mock_api_tests/asynctests/test_authentication_async.py +0 -140
  232. package/generator/test/generic_mock_api_tests/asynctests/test_encode_array_async.py +0 -139
  233. package/generator/test/generic_mock_api_tests/asynctests/test_encode_bytes_async.py +0 -132
  234. package/generator/test/generic_mock_api_tests/asynctests/test_encode_datetime_async.py +0 -127
  235. package/generator/test/generic_mock_api_tests/asynctests/test_headasboolean_async.py +0 -35
  236. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_body_optionality_async.py +0 -30
  237. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_collection_format_async.py +0 -38
  238. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +0 -24
  239. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +0 -18
  240. package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +0 -98
  241. package/generator/test/generic_mock_api_tests/asynctests/test_payload_media_type_async.py +0 -27
  242. package/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +0 -134
  243. package/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +0 -150
  244. package/generator/test/generic_mock_api_tests/asynctests/test_response_status_code_range_async.py +0 -38
  245. package/generator/test/generic_mock_api_tests/asynctests/test_routes_async.py +0 -331
  246. package/generator/test/generic_mock_api_tests/asynctests/test_server_endpoint_not_defined_async.py +0 -18
  247. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_multiple_async.py +0 -25
  248. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_single_async.py +0 -18
  249. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_not_versioned_async.py +0 -28
  250. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_versioned_async.py +0 -34
  251. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_conditional_request_async.py +0 -38
  252. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_repeatability_async.py +0 -19
  253. package/generator/test/generic_mock_api_tests/asynctests/test_specs_documentation_async.py +0 -59
  254. package/generator/test/generic_mock_api_tests/asynctests/test_streaming_jsonl_async.py +0 -27
  255. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_array_async.py +0 -127
  256. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +0 -98
  257. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_extensible_async.py +0 -25
  258. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_fixed_async.py +0 -27
  259. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_file_async.py +0 -59
  260. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_empty_async.py +0 -32
  261. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_enum_discriminator_async.py +0 -70
  262. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_nested_discriminator_async.py +0 -85
  263. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_not_discriminated_async.py +0 -34
  264. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_recursive_async.py +0 -34
  265. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_single_discriminator_async.py +0 -67
  266. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_usage_async.py +0 -32
  267. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_visibility_async.py +0 -47
  268. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_additionalproperties_async.py +0 -353
  269. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_nullable_async.py +0 -110
  270. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_optional_async.py +0 -197
  271. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +0 -315
  272. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_scalar_async.py +0 -60
  273. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_union_async.py +0 -90
  274. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_added_async.py +0 -36
  275. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py +0 -21
  276. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_removed_async.py +0 -39
  277. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py +0 -29
  278. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_return_type_changed_from_async.py +0 -18
  279. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py +0 -22
  280. package/generator/test/generic_mock_api_tests/conftest.py +0 -75
  281. package/generator/test/generic_mock_api_tests/data/image.jpg +0 -0
  282. package/generator/test/generic_mock_api_tests/data/image.png +0 -0
  283. package/generator/test/generic_mock_api_tests/test_authentication.py +0 -130
  284. package/generator/test/generic_mock_api_tests/test_encode_array.py +0 -126
  285. package/generator/test/generic_mock_api_tests/test_encode_bytes.py +0 -128
  286. package/generator/test/generic_mock_api_tests/test_encode_datetime.py +0 -123
  287. package/generator/test/generic_mock_api_tests/test_headasboolean.py +0 -33
  288. package/generator/test/generic_mock_api_tests/test_parameters_body_optionality.py +0 -27
  289. package/generator/test/generic_mock_api_tests/test_parameters_collection_format.py +0 -33
  290. package/generator/test/generic_mock_api_tests/test_parameters_path.py +0 -22
  291. package/generator/test/generic_mock_api_tests/test_parameters_query.py +0 -17
  292. package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +0 -93
  293. package/generator/test/generic_mock_api_tests/test_payload_media_type.py +0 -25
  294. package/generator/test/generic_mock_api_tests/test_payload_pageable.py +0 -99
  295. package/generator/test/generic_mock_api_tests/test_payload_xml.py +0 -135
  296. package/generator/test/generic_mock_api_tests/test_response_status_code_range.py +0 -36
  297. package/generator/test/generic_mock_api_tests/test_routes.py +0 -285
  298. package/generator/test/generic_mock_api_tests/test_server_endpoint_not_defined.py +0 -17
  299. package/generator/test/generic_mock_api_tests/test_server_path_multiple.py +0 -21
  300. package/generator/test/generic_mock_api_tests/test_server_path_single.py +0 -17
  301. package/generator/test/generic_mock_api_tests/test_server_versions_not_versioned.py +0 -25
  302. package/generator/test/generic_mock_api_tests/test_server_versions_versioned.py +0 -30
  303. package/generator/test/generic_mock_api_tests/test_special_headers_conditional_request.py +0 -34
  304. package/generator/test/generic_mock_api_tests/test_special_headers_repeatability.py +0 -18
  305. package/generator/test/generic_mock_api_tests/test_specs_documentation.py +0 -51
  306. package/generator/test/generic_mock_api_tests/test_streaming_jsonl.py +0 -25
  307. package/generator/test/generic_mock_api_tests/test_typetest_array.py +0 -111
  308. package/generator/test/generic_mock_api_tests/test_typetest_dictionary.py +0 -86
  309. package/generator/test/generic_mock_api_tests/test_typetest_enum_extensible.py +0 -23
  310. package/generator/test/generic_mock_api_tests/test_typetest_enum_fixed.py +0 -25
  311. package/generator/test/generic_mock_api_tests/test_typetest_file.py +0 -52
  312. package/generator/test/generic_mock_api_tests/test_typetest_model_empty.py +0 -29
  313. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_enum_discriminator.py +0 -58
  314. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_nested_discriminator.py +0 -79
  315. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_not_discriminated.py +0 -31
  316. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_recursive.py +0 -32
  317. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_single_discriminator.py +0 -60
  318. package/generator/test/generic_mock_api_tests/test_typetest_model_usage.py +0 -28
  319. package/generator/test/generic_mock_api_tests/test_typetest_model_visibility.py +0 -40
  320. package/generator/test/generic_mock_api_tests/test_typetest_property_additionalproperties.py +0 -314
  321. package/generator/test/generic_mock_api_tests/test_typetest_property_nullable.py +0 -102
  322. package/generator/test/generic_mock_api_tests/test_typetest_property_optional.py +0 -174
  323. package/generator/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +0 -286
  324. package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -53
  325. package/generator/test/generic_mock_api_tests/test_typetest_union.py +0 -80
  326. package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +0 -290
  327. package/generator/test/generic_mock_api_tests/test_versioning_added.py +0 -33
  328. package/generator/test/generic_mock_api_tests/test_versioning_made_optional.py +0 -20
  329. package/generator/test/generic_mock_api_tests/test_versioning_removed.py +0 -37
  330. package/generator/test/generic_mock_api_tests/test_versioning_renamed_from.py +0 -27
  331. package/generator/test/generic_mock_api_tests/test_versioning_return_type_changed_from.py +0 -17
  332. package/generator/test/generic_mock_api_tests/test_versioning_type_changed_from.py +0 -21
  333. package/generator/test/unbranded/mock_api_tests/asynctests/test_auth_flow_async.py +0 -19
  334. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  335. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  336. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  337. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  338. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  339. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -218
  340. package/generator/test/unbranded/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  341. package/generator/test/unbranded/mock_api_tests/asynctests/test_special_words_async.py +0 -73
  342. package/generator/test/unbranded/mock_api_tests/asynctests/test_unbranded_async.py +0 -24
  343. package/generator/test/unbranded/mock_api_tests/conftest.py +0 -91
  344. package/generator/test/unbranded/mock_api_tests/data/image.jpg +0 -0
  345. package/generator/test/unbranded/mock_api_tests/data/image.png +0 -0
  346. package/generator/test/unbranded/mock_api_tests/test_auth_flow.py +0 -17
  347. package/generator/test/unbranded/mock_api_tests/test_encode_duration.py +0 -60
  348. package/generator/test/unbranded/mock_api_tests/test_encode_numeric.py +0 -32
  349. package/generator/test/unbranded/mock_api_tests/test_parameters_basic.py +0 -22
  350. package/generator/test/unbranded/mock_api_tests/test_parameters_spread.py +0 -66
  351. package/generator/test/unbranded/mock_api_tests/test_payload_content_negotiation.py +0 -33
  352. package/generator/test/unbranded/mock_api_tests/test_payload_multipart.py +0 -200
  353. package/generator/test/unbranded/mock_api_tests/test_serialization_encoded_name_json.py +0 -22
  354. package/generator/test/unbranded/mock_api_tests/test_special_words.py +0 -66
  355. package/generator/test/unbranded/mock_api_tests/test_unbranded.py +0 -65
  356. package/generator/test/unbranded/requirements.txt +0 -69
  357. package/generator/test/unbranded/tox.ini +0 -64
  358. package/generator/test/unittests/conftest.py +0 -15
  359. package/generator/test/unittests/requirements.txt +0 -3
  360. package/generator/test/unittests/test_enums.py +0 -89
  361. package/generator/test/unittests/test_model_base_serialization.py +0 -4906
  362. package/generator/test/unittests/test_model_base_xml_serialization.py +0 -1239
  363. package/generator/test/unittests/test_name_converter.py +0 -35
  364. package/generator/test/unittests/test_optional_return_type.py +0 -268
  365. package/generator/test/unittests/test_parameter_ordering.py +0 -104
  366. package/generator/test/unittests/test_sort_schema.py +0 -93
  367. package/generator/test/unittests/tox.ini +0 -5
  368. /package/eng/scripts/ci/{pyproject.toml → config/pyproject.toml} +0 -0
@@ -1,38 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from parameters.collectionformat.aio import CollectionFormatClient
8
-
9
-
10
- @pytest.fixture
11
- async def client():
12
- async with CollectionFormatClient() as client:
13
- yield client
14
-
15
-
16
- @pytest.mark.asyncio
17
- async def test_query_multi(client: CollectionFormatClient):
18
- await client.query.multi(colors=["blue", "red", "green"])
19
-
20
-
21
- @pytest.mark.asyncio
22
- async def test_query_csv(client: CollectionFormatClient):
23
- await client.query.csv(colors=["blue", "red", "green"])
24
-
25
-
26
- @pytest.mark.asyncio
27
- async def test_query_pipes(client: CollectionFormatClient):
28
- await client.query.pipes(colors=["blue", "red", "green"])
29
-
30
-
31
- @pytest.mark.asyncio
32
- async def test_query_ssv(client: CollectionFormatClient):
33
- await client.query.ssv(colors=["blue", "red", "green"])
34
-
35
-
36
- @pytest.mark.asyncio
37
- async def test_csv_header(client: CollectionFormatClient):
38
- await client.header.csv(colors=["blue", "red", "green"])
@@ -1,24 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from parameters.path.aio import PathClient
8
-
9
-
10
- @pytest.fixture
11
- async def client():
12
- async with PathClient() as client:
13
- yield client
14
-
15
-
16
- @pytest.mark.asyncio
17
- async def test_normal(client: PathClient):
18
- await client.normal("foo")
19
-
20
-
21
- @pytest.mark.asyncio
22
- async def test_optional(client: PathClient):
23
- await client.optional()
24
- await client.optional(name="foo")
@@ -1,18 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from parameters.query.aio import QueryClient
8
-
9
-
10
- @pytest.fixture
11
- async def client():
12
- async with QueryClient() as client:
13
- yield client
14
-
15
-
16
- @pytest.mark.asyncio
17
- async def test_constant(client: QueryClient):
18
- await client.constant.post()
@@ -1,98 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from payload.jsonmergepatch.aio import JsonMergePatchClient
8
- from payload.jsonmergepatch.models import InnerModel, Resource, ResourcePatch
9
-
10
- try:
11
- from azure.core.serialization import NULL
12
- except ImportError:
13
- from corehttp.serialization import NULL
14
-
15
-
16
- @pytest.fixture
17
- async def client():
18
- async with JsonMergePatchClient(endpoint="http://localhost:3000") as client:
19
- yield client
20
-
21
-
22
- @pytest.mark.asyncio
23
- async def test_create_resource(client: JsonMergePatchClient):
24
- inner_madge = InnerModel(name="InnerMadge", description="innerDesc")
25
- create_resource = Resource(
26
- name="Madge",
27
- description="desc",
28
- map={"key": inner_madge},
29
- array=[inner_madge],
30
- int_value=1,
31
- float_value=1.25,
32
- inner_model=inner_madge,
33
- int_array=[1, 2, 3],
34
- )
35
- response = await client.create_resource(create_resource)
36
- assert response == create_resource
37
-
38
-
39
- @pytest.mark.asyncio
40
- async def test_update_resource_model_input(client: JsonMergePatchClient):
41
- update_resource = ResourcePatch(
42
- description=NULL,
43
- map={"key": InnerModel(description=NULL), "key2": NULL},
44
- array=NULL,
45
- int_value=NULL,
46
- float_value=NULL,
47
- inner_model=NULL,
48
- int_array=NULL,
49
- )
50
- response = await client.update_resource(update_resource)
51
- assert response == Resource(name="Madge", map={"key": InnerModel(name="InnerMadge")})
52
-
53
-
54
- @pytest.mark.asyncio
55
- async def test_update_resource_raw_input(client: JsonMergePatchClient):
56
- response = await client.update_resource(
57
- {
58
- "description": None,
59
- "map": {"key": {"description": None}, "key2": None},
60
- "array": None,
61
- "intValue": None,
62
- "floatValue": None,
63
- "innerModel": None,
64
- "intArray": None,
65
- }
66
- )
67
- assert response == Resource(name="Madge", map={"key": InnerModel(name="InnerMadge")})
68
-
69
-
70
- @pytest.mark.asyncio
71
- async def test_update_optional_resource_model_input(client: JsonMergePatchClient):
72
- update_resource = ResourcePatch(
73
- description=NULL,
74
- map={"key": InnerModel(description=NULL), "key2": NULL},
75
- array=NULL,
76
- int_value=NULL,
77
- float_value=NULL,
78
- inner_model=NULL,
79
- int_array=NULL,
80
- )
81
- response = await client.update_optional_resource(update_resource)
82
- assert response == Resource(name="Madge", map={"key": InnerModel(name="InnerMadge")})
83
-
84
-
85
- @pytest.mark.asyncio
86
- async def test_update_optional_resource_raw_input(client: JsonMergePatchClient):
87
- response = await client.update_optional_resource(
88
- {
89
- "description": None,
90
- "map": {"key": {"description": None}, "key2": None},
91
- "array": None,
92
- "intValue": None,
93
- "floatValue": None,
94
- "innerModel": None,
95
- "intArray": None,
96
- }
97
- )
98
- assert response == Resource(name="Madge", map={"key": InnerModel(name="InnerMadge")})
@@ -1,27 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from payload.mediatype.aio import MediaTypeClient
8
-
9
-
10
- @pytest.fixture
11
- async def client():
12
- async with MediaTypeClient(endpoint="http://localhost:3000") as client:
13
- yield client
14
-
15
-
16
- @pytest.mark.asyncio
17
- async def test_json(client: MediaTypeClient):
18
- data = "foo"
19
- await client.string_body.send_as_json(data)
20
- assert await client.string_body.get_as_json() == data
21
-
22
-
23
- @pytest.mark.asyncio
24
- async def test_text(client: MediaTypeClient):
25
- data = "{cat}"
26
- await client.string_body.send_as_text(data)
27
- assert await client.string_body.get_as_text() == data
@@ -1,134 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from payload.pageable.aio import PageableClient
8
- from payload.pageable.serverdrivenpagination.alternateinitialverb.models import Filter
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with PageableClient(endpoint="http://localhost:3000") as client:
14
- yield client
15
-
16
-
17
- def assert_result(result):
18
- assert len(result) == 4
19
- assert result[0].id == "1"
20
- assert result[1].id == "2"
21
- assert result[2].id == "3"
22
- assert result[3].id == "4"
23
- assert result[0].name == "dog"
24
- assert result[1].name == "cat"
25
- assert result[2].name == "bird"
26
- assert result[3].name == "fish"
27
-
28
-
29
- @pytest.mark.asyncio
30
- async def test_link(client: PageableClient):
31
- result = [p async for p in client.server_driven_pagination.link()]
32
- assert_result(result)
33
-
34
-
35
- @pytest.mark.asyncio
36
- async def test_link_string(client: PageableClient):
37
- result = [p async for p in client.server_driven_pagination.link_string()]
38
- assert_result(result)
39
-
40
-
41
- @pytest.mark.asyncio
42
- async def test_request_query_response_body(client: PageableClient):
43
- result = [
44
- p
45
- async for p in client.server_driven_pagination.continuation_token.request_query_response_body(
46
- foo="foo", bar="bar"
47
- )
48
- ]
49
- assert_result(result)
50
-
51
-
52
- @pytest.mark.asyncio
53
- async def test_request_header_response_body(client: PageableClient):
54
- result = [
55
- p
56
- async for p in client.server_driven_pagination.continuation_token.request_header_response_body(
57
- foo="foo", bar="bar"
58
- )
59
- ]
60
- assert_result(result)
61
-
62
-
63
- @pytest.mark.asyncio
64
- async def test_request_query_response_header(client: PageableClient):
65
- result = [
66
- p
67
- async for p in client.server_driven_pagination.continuation_token.request_query_response_header(
68
- foo="foo", bar="bar"
69
- )
70
- ]
71
- assert_result(result)
72
-
73
-
74
- @pytest.mark.asyncio
75
- async def test_request_header_response_header(client: PageableClient):
76
- result = [
77
- p
78
- async for p in client.server_driven_pagination.continuation_token.request_query_response_header(
79
- foo="foo", bar="bar"
80
- )
81
- ]
82
- assert_result(result)
83
-
84
-
85
- @pytest.mark.asyncio
86
- async def test_nested_link(client: PageableClient):
87
- result = [p async for p in client.server_driven_pagination.nested_link()]
88
- assert_result(result)
89
-
90
-
91
- @pytest.mark.asyncio
92
- async def test_request_query_nested_response_body(client: PageableClient):
93
- result = [
94
- p
95
- async for p in client.server_driven_pagination.continuation_token.request_query_nested_response_body(
96
- foo="foo", bar="bar"
97
- )
98
- ]
99
- assert_result(result)
100
-
101
-
102
- @pytest.mark.asyncio
103
- async def test_request_header_nested_response_body(client: PageableClient):
104
- result = [
105
- p
106
- async for p in client.server_driven_pagination.continuation_token.request_header_nested_response_body(
107
- foo="foo", bar="bar"
108
- )
109
- ]
110
- assert_result(result)
111
-
112
-
113
- @pytest.mark.asyncio
114
- async def test_list_without_continuation(client: PageableClient):
115
- result = [p async for p in client.page_size.list_without_continuation()]
116
- assert_result(result)
117
-
118
-
119
- @pytest.mark.asyncio
120
- async def test_xml_pagination_list_with_continuation(client: PageableClient):
121
- result = [p async for p in client.xml_pagination.list_with_continuation()]
122
- assert_result(result)
123
-
124
-
125
- @pytest.mark.asyncio
126
- async def test_xml_pagination_list_with_next_link(client: PageableClient):
127
- result = [p async for p in client.xml_pagination.list_with_next_link()]
128
- assert_result(result)
129
-
130
-
131
- @pytest.mark.asyncio
132
- async def test_alternate_initial_verb_post(client: PageableClient):
133
- result = [p async for p in client.server_driven_pagination.alternate_initial_verb.post(Filter(filter="foo eq bar"))]
134
- assert_result(result)
@@ -1,150 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import datetime
7
- import pytest
8
- from payload.xml.aio import XmlClient
9
- from payload.xml.models import (
10
- SimpleModel,
11
- ModelWithSimpleArrays,
12
- ModelWithArrayOfModel,
13
- ModelWithAttributes,
14
- ModelWithUnwrappedArray,
15
- ModelWithRenamedArrays,
16
- ModelWithOptionalField,
17
- ModelWithRenamedFields,
18
- ModelWithEmptyArray,
19
- ModelWithText,
20
- ModelWithDictionary,
21
- ModelWithEncodedNames,
22
- ModelWithEnum,
23
- ModelWithDatetime,
24
- )
25
-
26
-
27
- @pytest.fixture
28
- async def client():
29
- async with XmlClient(endpoint="http://localhost:3000") as client:
30
- yield client
31
-
32
-
33
- @pytest.mark.asyncio
34
- async def test_simple_model(client: XmlClient):
35
- model = SimpleModel(name="foo", age=123)
36
- assert await client.simple_model_value.get() == model
37
- await client.simple_model_value.put(model)
38
-
39
-
40
- @pytest.mark.asyncio
41
- async def test_model_with_simple_arrays(client: XmlClient):
42
- model = ModelWithSimpleArrays(colors=["red", "green", "blue"], counts=[1, 2])
43
- assert await client.model_with_simple_arrays_value.get() == model
44
- await client.model_with_simple_arrays_value.put(model)
45
-
46
-
47
- @pytest.mark.asyncio
48
- async def test_model_with_array_of_model(client: XmlClient):
49
- model = ModelWithArrayOfModel(
50
- items_property=[
51
- SimpleModel(name="foo", age=123),
52
- SimpleModel(name="bar", age=456),
53
- ]
54
- )
55
- assert await client.model_with_array_of_model_value.get() == model
56
- await client.model_with_array_of_model_value.put(model)
57
-
58
-
59
- @pytest.mark.asyncio
60
- async def test_model_with_attributes(client: XmlClient):
61
- model = ModelWithAttributes(id1=123, id2="foo", enabled=True)
62
- assert await client.model_with_attributes_value.get() == model
63
- await client.model_with_attributes_value.put(model)
64
-
65
-
66
- @pytest.mark.asyncio
67
- async def test_model_with_unwrapped_array(client: XmlClient):
68
- model = ModelWithUnwrappedArray(colors=["red", "green", "blue"], counts=[1, 2])
69
- assert await client.model_with_unwrapped_array_value.get() == model
70
- await client.model_with_unwrapped_array_value.put(model)
71
-
72
-
73
- @pytest.mark.asyncio
74
- async def test_model_with_renamed_arrays(client: XmlClient):
75
- model = ModelWithRenamedArrays(colors=["red", "green", "blue"], counts=[1, 2])
76
- assert await client.model_with_renamed_arrays_value.get() == model
77
- await client.model_with_renamed_arrays_value.put(model)
78
-
79
-
80
- @pytest.mark.asyncio
81
- async def test_model_with_optional_field(client: XmlClient):
82
- model = ModelWithOptionalField(item="widget")
83
- assert await client.model_with_optional_field_value.get() == model
84
- await client.model_with_optional_field_value.put(model)
85
-
86
-
87
- @pytest.mark.asyncio
88
- async def test_model_with_renamed_fields(client: XmlClient):
89
- model = ModelWithRenamedFields(
90
- input_data=SimpleModel(name="foo", age=123),
91
- output_data=SimpleModel(name="bar", age=456),
92
- )
93
- assert await client.model_with_renamed_fields_value.get() == model
94
- await client.model_with_renamed_fields_value.put(model)
95
-
96
-
97
- @pytest.mark.asyncio
98
- async def test_model_with_empty_array(client: XmlClient):
99
- model = ModelWithEmptyArray(items_property=[])
100
- assert await client.model_with_empty_array_value.get() == model
101
- await client.model_with_empty_array_value.put(model)
102
-
103
-
104
- @pytest.mark.asyncio
105
- async def test_model_with_text(client: XmlClient):
106
- model = ModelWithText(language="foo", content="\n This is some text.\n")
107
- assert await client.model_with_text_value.get() == model
108
- await client.model_with_text_value.put(model)
109
-
110
-
111
- @pytest.mark.asyncio
112
- async def test_model_with_dictionary(client: XmlClient):
113
- model = ModelWithDictionary(metadata={"Color": "blue", "Count": "123", "Enabled": "false"})
114
- assert await client.model_with_dictionary_value.get() == model
115
- await client.model_with_dictionary_value.put(model)
116
-
117
-
118
- @pytest.mark.asyncio
119
- async def test_model_with_encoded_names(client: XmlClient):
120
- model = ModelWithEncodedNames(model_data=SimpleModel(name="foo", age=123), colors=["red", "green", "blue"])
121
- assert await client.model_with_encoded_names_value.get() == model
122
- await client.model_with_encoded_names_value.put(model)
123
-
124
-
125
- @pytest.mark.asyncio
126
- async def test_model_with_enum(client: XmlClient):
127
- model = ModelWithEnum(status="success")
128
- assert await client.model_with_enum_value.get() == model
129
- await client.model_with_enum_value.put(model)
130
-
131
-
132
- @pytest.mark.asyncio
133
- async def test_model_with_datetime(client: XmlClient):
134
- model = ModelWithDatetime(
135
- rfc3339=datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc),
136
- rfc7231=datetime.datetime(2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc),
137
- )
138
- result = await client.model_with_datetime_value.get()
139
- assert result.rfc3339 == model.rfc3339
140
- assert result.rfc7231 == model.rfc7231
141
- await client.model_with_datetime_value.put(model)
142
-
143
-
144
- @pytest.mark.asyncio
145
- async def test_xml_error_value(client: XmlClient, core_library):
146
- with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
147
- await client.xml_error_value.get()
148
- assert ex.value.status_code == 400
149
- assert ex.value.model.message == "Something went wrong"
150
- assert ex.value.model.code == 400
@@ -1,38 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from response.statuscoderange.aio import StatusCodeRangeClient
8
- from response.statuscoderange.models import ErrorInRange, NotFoundError
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with StatusCodeRangeClient(endpoint="http://localhost:3000") as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_error_response_status_code_in_range(client: StatusCodeRangeClient):
19
- with pytest.raises(Exception) as exc_info:
20
- await client.error_response_status_code_in_range()
21
-
22
- error = exc_info.value.model
23
- assert isinstance(error, ErrorInRange)
24
- assert error.code == "request-header-too-large"
25
- assert error.message == "Request header too large"
26
- assert exc_info.value.response.status_code == 494
27
-
28
-
29
- @pytest.mark.asyncio
30
- async def test_error_response_status_code_404(client: StatusCodeRangeClient):
31
- with pytest.raises(Exception) as exc_info:
32
- await client.error_response_status_code404()
33
-
34
- error = exc_info.value.model
35
- assert isinstance(error, NotFoundError)
36
- assert error.code == "not-found"
37
- assert error.resource_id == "resource1"
38
- assert exc_info.value.response.status_code == 404