@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,290 +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 typetest.discriminatedunion import DiscriminatedClient
8
- from typetest.discriminatedunion import models
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with DiscriminatedClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.fixture
18
- def cat_body():
19
- """Cat model for testing."""
20
- return models.Cat(name="Whiskers", meow=True)
21
-
22
-
23
- @pytest.fixture
24
- def dog_body():
25
- """Dog model for testing."""
26
- return models.Dog(name="Rex", bark=False)
27
-
28
-
29
- # Tests for No Envelope / Default (inline discriminator with "kind")
30
- @pytest.mark.skip(reason="After completely support discriminated unions, enable these tests")
31
- class TestNoEnvelopeDefault:
32
- """Test discriminated union with inline discriminator (no envelope)."""
33
-
34
- def test_get_default_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
35
- """Test getting cat with default (no query param or kind=cat).
36
-
37
- Expected response:
38
- {
39
- "kind": "cat",
40
- "name": "Whiskers",
41
- "meow": true
42
- }
43
- """
44
- result = client.no_envelope.default.get()
45
- assert result == cat_body
46
- assert isinstance(result, models.Cat)
47
-
48
- def test_get_with_kind_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
49
- """Test getting cat with kind=cat query parameter.
50
-
51
- Expected response:
52
- {
53
- "kind": "cat",
54
- "name": "Whiskers",
55
- "meow": true
56
- }
57
- """
58
- result = client.no_envelope.default.get(kind="cat")
59
- assert result == cat_body
60
- assert isinstance(result, models.Cat)
61
-
62
- def test_get_with_kind_dog(self, client: DiscriminatedClient, dog_body: models.Dog):
63
- """Test getting dog with kind=dog query parameter.
64
-
65
- Expected response:
66
- {
67
- "kind": "dog",
68
- "name": "Rex",
69
- "bark": false
70
- }
71
- """
72
- result = client.no_envelope.default.get(kind="dog")
73
- assert result == dog_body
74
- assert isinstance(result, models.Dog)
75
-
76
- def test_put_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
77
- """Test sending cat with inline discriminator.
78
-
79
- Expected request:
80
- {
81
- "kind": "cat",
82
- "name": "Whiskers",
83
- "meow": true
84
- }
85
- """
86
- result = client.no_envelope.default.put(cat_body)
87
- assert result == cat_body
88
- assert isinstance(result, models.Cat)
89
-
90
-
91
- # Tests for No Envelope / Custom Discriminator (inline with custom "type" property)
92
- @pytest.mark.skip(reason="After completely support discriminated unions, enable these tests")
93
- class TestNoEnvelopeCustomDiscriminator:
94
- """Test discriminated union with inline discriminator and custom discriminator property name."""
95
-
96
- def test_get_default_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
97
- """Test getting cat with default (no query param or type=cat).
98
-
99
- Expected response:
100
- {
101
- "type": "cat",
102
- "name": "Whiskers",
103
- "meow": true
104
- }
105
- """
106
- result = client.no_envelope.custom_discriminator.get()
107
- assert result == cat_body
108
- assert isinstance(result, models.Cat)
109
-
110
- def test_get_with_type_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
111
- """Test getting cat with type=cat query parameter.
112
-
113
- Expected response:
114
- {
115
- "type": "cat",
116
- "name": "Whiskers",
117
- "meow": true
118
- }
119
- """
120
- result = client.no_envelope.custom_discriminator.get(type="cat")
121
- assert result == cat_body
122
- assert isinstance(result, models.Cat)
123
-
124
- def test_get_with_type_dog(self, client: DiscriminatedClient, dog_body: models.Dog):
125
- """Test getting dog with type=dog query parameter.
126
-
127
- Expected response:
128
- {
129
- "type": "dog",
130
- "name": "Rex",
131
- "bark": false
132
- }
133
- """
134
- result = client.no_envelope.custom_discriminator.get(type="dog")
135
- assert result == dog_body
136
- assert isinstance(result, models.Dog)
137
-
138
- def test_put_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
139
- """Test sending cat with inline custom discriminator.
140
-
141
- Expected request:
142
- {
143
- "type": "cat",
144
- "name": "Whiskers",
145
- "meow": true
146
- }
147
- """
148
- result = client.no_envelope.custom_discriminator.put(cat_body)
149
- assert result == cat_body
150
- assert isinstance(result, models.Cat)
151
-
152
-
153
- # Tests for Envelope / Object / Default (envelope with "kind" and "value")
154
- @pytest.mark.skip(reason="After completely support discriminated unions, enable these tests")
155
- class TestEnvelopeObjectDefault:
156
- """Test discriminated union with default envelope serialization."""
157
-
158
- def test_get_default_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
159
- """Test getting cat with default (no query param or kind=cat).
160
-
161
- Expected response:
162
- {
163
- "kind": "cat",
164
- "value": {
165
- "name": "Whiskers",
166
- "meow": true
167
- }
168
- }
169
- """
170
- result = client.envelope.object.default.get()
171
- assert result == cat_body
172
- assert isinstance(result, models.Cat)
173
-
174
- def test_get_with_kind_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
175
- """Test getting cat with kind=cat query parameter.
176
-
177
- Expected response:
178
- {
179
- "kind": "cat",
180
- "value": {
181
- "name": "Whiskers",
182
- "meow": true
183
- }
184
- }
185
- """
186
- result = client.envelope.object.default.get(kind="cat")
187
- assert result == cat_body
188
- assert isinstance(result, models.Cat)
189
-
190
- def test_get_with_kind_dog(self, client: DiscriminatedClient, dog_body: models.Dog):
191
- """Test getting dog with kind=dog query parameter.
192
-
193
- Expected response:
194
- {
195
- "kind": "dog",
196
- "value": {
197
- "name": "Rex",
198
- "bark": false
199
- }
200
- }
201
- """
202
- result = client.envelope.object.default.get(kind="dog")
203
- assert result == dog_body
204
- assert isinstance(result, models.Dog)
205
-
206
- def test_put_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
207
- """Test sending cat with envelope serialization.
208
-
209
- Expected request:
210
- {
211
- "kind": "cat",
212
- "value": {
213
- "name": "Whiskers",
214
- "meow": true
215
- }
216
- }
217
- """
218
- result = client.envelope.object.default.put(cat_body)
219
- assert result == cat_body
220
- assert isinstance(result, models.Cat)
221
-
222
-
223
- # Tests for Envelope / Object / Custom Properties (envelope with custom "petType" and "petData")
224
- @pytest.mark.skip(reason="After completely support discriminated unions, enable these tests")
225
- class TestEnvelopeObjectCustomProperties:
226
- """Test discriminated union with custom property names in envelope."""
227
-
228
- def test_get_default_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
229
- """Test getting cat with default (no query param or petType=cat).
230
-
231
- Expected response:
232
- {
233
- "petType": "cat",
234
- "petData": {
235
- "name": "Whiskers",
236
- "meow": true
237
- }
238
- }
239
- """
240
- result = client.envelope.object.custom_properties.get()
241
- assert result == cat_body
242
- assert isinstance(result, models.Cat)
243
-
244
- def test_get_with_pet_type_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
245
- """Test getting cat with petType=cat query parameter.
246
-
247
- Expected response:
248
- {
249
- "petType": "cat",
250
- "petData": {
251
- "name": "Whiskers",
252
- "meow": true
253
- }
254
- }
255
- """
256
- result = client.envelope.object.custom_properties.get(pet_type="cat")
257
- assert result == cat_body
258
- assert isinstance(result, models.Cat)
259
-
260
- def test_get_with_pet_type_dog(self, client: DiscriminatedClient, dog_body: models.Dog):
261
- """Test getting dog with petType=dog query parameter.
262
-
263
- Expected response:
264
- {
265
- "petType": "dog",
266
- "petData": {
267
- "name": "Rex",
268
- "bark": false
269
- }
270
- }
271
- """
272
- result = client.envelope.object.custom_properties.get(pet_type="dog")
273
- assert result == dog_body
274
- assert isinstance(result, models.Dog)
275
-
276
- def test_put_cat(self, client: DiscriminatedClient, cat_body: models.Cat):
277
- """Test sending cat with custom property names in envelope.
278
-
279
- Expected request:
280
- {
281
- "petType": "cat",
282
- "petData": {
283
- "name": "Whiskers",
284
- "meow": true
285
- }
286
- }
287
- """
288
- result = client.envelope.object.custom_properties.put(cat_body)
289
- assert result == cat_body
290
- assert isinstance(result, models.Cat)
@@ -1,33 +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 versioning.added import AddedClient
8
- from versioning.added.models import ModelV1, ModelV2, EnumV1, EnumV2
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with AddedClient(endpoint="http://localhost:3000", version="v2") as client:
14
- yield client
15
-
16
-
17
- def test_v1(client: AddedClient):
18
- assert client.v1(
19
- ModelV1(prop="foo", enum_prop=EnumV1.ENUM_MEMBER_V2, union_prop=10),
20
- header_v2="bar",
21
- ) == ModelV1(prop="foo", enum_prop=EnumV1.ENUM_MEMBER_V2, union_prop=10)
22
-
23
-
24
- def test_v2(client: AddedClient):
25
- assert client.v2(ModelV2(prop="foo", enum_prop=EnumV2.ENUM_MEMBER, union_prop="bar")) == ModelV2(
26
- prop="foo", enum_prop=EnumV2.ENUM_MEMBER, union_prop="bar"
27
- )
28
-
29
-
30
- def test_interface_v2(client: AddedClient):
31
- assert client.interface_v2.v2_in_interface(
32
- ModelV2(prop="foo", enum_prop=EnumV2.ENUM_MEMBER, union_prop="bar")
33
- ) == ModelV2(prop="foo", enum_prop=EnumV2.ENUM_MEMBER, union_prop="bar")
@@ -1,20 +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 versioning.madeoptional import MadeOptionalClient
8
- from versioning.madeoptional.models import TestModel
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with MadeOptionalClient(endpoint="http://localhost:3000", version="v2") as client:
14
- yield client
15
-
16
-
17
- def test(client: MadeOptionalClient):
18
- assert client.test(
19
- TestModel(prop="foo"),
20
- ) == TestModel(prop="foo")
@@ -1,37 +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 versioning.removed import RemovedClient
8
- from versioning.removed.models import ModelV2, EnumV2, ModelV3, EnumV3
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with RemovedClient(endpoint="http://localhost:3000", version="v2") as client:
14
- yield client
15
-
16
-
17
- def test_v2(client: RemovedClient):
18
- assert client.v2(ModelV2(prop="foo", enum_prop=EnumV2.ENUM_MEMBER_V2, union_prop="bar")) == ModelV2(
19
- prop="foo", enum_prop=EnumV2.ENUM_MEMBER_V2, union_prop="bar"
20
- )
21
-
22
-
23
- def test_model_v3():
24
- client1 = RemovedClient(endpoint="http://localhost:3000", version="v1")
25
- model1 = ModelV3(id="123", enum_prop=EnumV3.ENUM_MEMBER_V1)
26
- result = client1.model_v3(model1)
27
- assert result == model1
28
-
29
- client2 = RemovedClient(endpoint="http://localhost:3000", version="v2preview")
30
- model2 = ModelV3(id="123")
31
- result = client2.model_v3(model2)
32
- assert result == model2
33
-
34
- client3 = RemovedClient(endpoint="http://localhost:3000", version="v2")
35
- model3 = ModelV3(id="123", enum_prop=EnumV3.ENUM_MEMBER_V1)
36
- result = client3.model_v3(model3)
37
- assert result == model3
@@ -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 versioning.renamedfrom import RenamedFromClient
8
- from versioning.renamedfrom.models import NewModel, NewEnum
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with RenamedFromClient(endpoint="http://localhost:3000", version="v2") as client:
14
- yield client
15
-
16
-
17
- def test_new_op(client: RenamedFromClient):
18
- assert client.new_op(
19
- NewModel(new_prop="foo", enum_prop=NewEnum.NEW_ENUM_MEMBER, union_prop=10),
20
- new_query="bar",
21
- ) == NewModel(new_prop="foo", enum_prop=NewEnum.NEW_ENUM_MEMBER, union_prop=10)
22
-
23
-
24
- def test_new_interface_test(client: RenamedFromClient):
25
- assert client.new_interface.new_op_in_new_interface(
26
- NewModel(new_prop="foo", enum_prop=NewEnum.NEW_ENUM_MEMBER, union_prop=10)
27
- ) == NewModel(new_prop="foo", enum_prop=NewEnum.NEW_ENUM_MEMBER, union_prop=10)
@@ -1,17 +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 versioning.returntypechangedfrom import ReturnTypeChangedFromClient
8
-
9
-
10
- @pytest.fixture
11
- def client():
12
- with ReturnTypeChangedFromClient(endpoint="http://localhost:3000", version="v2") as client:
13
- yield client
14
-
15
-
16
- def test(client: ReturnTypeChangedFromClient):
17
- assert client.test("test") == "test"
@@ -1,21 +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 versioning.typechangedfrom import TypeChangedFromClient
8
- from versioning.typechangedfrom.models import TestModel
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with TypeChangedFromClient(endpoint="http://localhost:3000", version="v2") as client:
14
- yield client
15
-
16
-
17
- def test(client: TypeChangedFromClient):
18
- assert client.test(
19
- TestModel(prop="foo", changed_prop="bar"),
20
- param="baz",
21
- ) == TestModel(prop="foo", changed_prop="bar")
@@ -1,19 +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 authentication.oauth2.aio import OAuth2Client
8
-
9
-
10
- @pytest.mark.asyncio
11
- async def test_oauth2_auth_flows():
12
- oauth2_client = OAuth2Client("fake_credential")
13
- assert oauth2_client._config.authentication_policy._auth_flows == [
14
- {
15
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
16
- "scopes": [{"value": "https://security.microsoft.com/.default"}],
17
- "type": "implicit",
18
- }
19
- ]
@@ -1,63 +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
-
8
- import pytest
9
- from encode.duration.aio import DurationClient
10
- from encode.duration.property.models import (
11
- Int32SecondsDurationProperty,
12
- ISO8601DurationProperty,
13
- FloatSecondsDurationProperty,
14
- DefaultDurationProperty,
15
- FloatSecondsDurationArrayProperty,
16
- )
17
-
18
-
19
- @pytest.fixture
20
- async def client():
21
- async with DurationClient() as client:
22
- yield client
23
-
24
-
25
- @pytest.mark.asyncio
26
- async def test_query(client: DurationClient):
27
- await client.query.default(input=datetime.timedelta(days=40))
28
- await client.query.iso8601(input=datetime.timedelta(days=40))
29
- await client.query.int32_seconds(input=36)
30
- await client.query.int32_seconds_array(input=[36, 47])
31
- await client.query.float_seconds(input=35.625)
32
- await client.query.float64_seconds(input=35.625)
33
-
34
-
35
- @pytest.mark.asyncio
36
- async def test_property(client: DurationClient):
37
- result = await client.property.default(DefaultDurationProperty(value=datetime.timedelta(days=40)))
38
- assert result.value == datetime.timedelta(days=40)
39
- result = await client.property.default(DefaultDurationProperty(value="P40D"))
40
- assert result.value == datetime.timedelta(days=40)
41
- result = await client.property.iso8601(ISO8601DurationProperty(value=datetime.timedelta(days=40)))
42
- assert result.value == datetime.timedelta(days=40)
43
- result = await client.property.iso8601(ISO8601DurationProperty(value="P40D"))
44
- assert result.value == datetime.timedelta(days=40)
45
- result = await client.property.int32_seconds(Int32SecondsDurationProperty(value=36))
46
- assert result.value == 36
47
- result = await client.property.float_seconds(FloatSecondsDurationProperty(value=35.625))
48
- assert abs(result.value - 35.625) < 0.0001
49
- result = await client.property.float64_seconds(FloatSecondsDurationProperty(value=35.625))
50
- assert abs(result.value - 35.625) < 0.0001
51
- result = await client.property.float_seconds_array(FloatSecondsDurationArrayProperty(value=[35.625, 46.75]))
52
- assert abs(result.value[0] - 35.625) < 0.0001
53
- assert abs(result.value[1] - 46.75) < 0.0001
54
-
55
-
56
- @pytest.mark.asyncio
57
- async def test_header(client: DurationClient):
58
- await client.header.default(duration=datetime.timedelta(days=40))
59
- await client.header.iso8601(duration=datetime.timedelta(days=40))
60
- await client.header.iso8601_array(duration=[datetime.timedelta(days=40), datetime.timedelta(days=50)])
61
- await client.header.int32_seconds(duration=36)
62
- await client.header.float_seconds(duration=35.625)
63
- await client.header.float64_seconds(duration=35.625)
@@ -1,35 +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 encode.numeric.aio import NumericClient
8
- from encode.numeric.property import models
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with NumericClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_safeint_as_string(client: NumericClient):
19
- result = await client.property.safeint_as_string(models.SafeintAsStringProperty(value=10000000000))
20
- assert result.value == 10000000000
21
- assert result["value"] == "10000000000"
22
-
23
-
24
- @pytest.mark.asyncio
25
- async def test_uint32_as_string_optional(client: NumericClient):
26
- result = await client.property.uint32_as_string_optional(models.Uint32AsStringProperty(value=1))
27
- assert result.value == 1
28
- assert result["value"] == "1"
29
-
30
-
31
- @pytest.mark.asyncio
32
- async def test_uint8_as_string_optional(client: NumericClient):
33
- result = await client.property.uint8_as_string(models.Uint32AsStringProperty(value=255))
34
- assert result.value == 255
35
- assert result["value"] == "255"
@@ -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.basic.aio import BasicClient
8
- from parameters.basic.explicitbody.models import User
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with BasicClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_explicit_simple(client: BasicClient):
19
- await client.explicit_body.simple(User(name="foo"))
20
-
21
-
22
- @pytest.mark.asyncio
23
- async def test_implicit_simple(client: BasicClient):
24
- await client.implicit_body.simple(name="foo")
@@ -1,76 +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.spread.aio import SpreadClient
8
- from parameters.spread.model.models import BodyParameter
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with SpreadClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_model_body(client: SpreadClient):
19
- await client.model.spread_as_request_body(name="foo")
20
-
21
-
22
- @pytest.mark.asyncio
23
- async def test_model_composite_request_only_with_body(client: SpreadClient):
24
- await client.model.spread_composite_request_only_with_body(BodyParameter(name="foo"))
25
-
26
-
27
- @pytest.mark.asyncio
28
- async def test_model_composite_request_without_body(client: SpreadClient):
29
- await client.model.spread_composite_request_without_body(name="foo", test_header="bar")
30
-
31
-
32
- @pytest.mark.asyncio
33
- async def test_model_composite_request(client: SpreadClient):
34
- await client.model.spread_composite_request(name="foo", body=BodyParameter(name="foo"), test_header="bar")
35
-
36
-
37
- @pytest.mark.asyncio
38
- async def test_model_composite_request_mix(client: SpreadClient):
39
- await client.model.spread_composite_request_mix(name="foo", prop="foo", test_header="bar")
40
-
41
-
42
- @pytest.mark.asyncio
43
- async def test_alias_body(client: SpreadClient):
44
- await client.alias.spread_as_request_body(name="foo")
45
-
46
-
47
- @pytest.mark.asyncio
48
- async def test_alias_parameter(client: SpreadClient):
49
- await client.alias.spread_as_request_parameter("1", x_ms_test_header="bar", name="foo")
50
-
51
-
52
- @pytest.mark.asyncio
53
- async def test_alias_multiple_parameter(client: SpreadClient):
54
- await client.alias.spread_with_multiple_parameters(
55
- "1",
56
- x_ms_test_header="bar",
57
- required_string="foo",
58
- required_int_list=[1, 2],
59
- optional_string_list=["foo", "bar"],
60
- optional_int=1,
61
- )
62
- await client.alias.spread_with_multiple_parameters(
63
- "1",
64
- {"requiredString": "foo", "optionalInt": 1, "requiredIntList": [1, 2], "optionalStringList": ["foo", "bar"]},
65
- x_ms_test_header="bar",
66
- )
67
-
68
-
69
- @pytest.mark.asyncio
70
- async def test_inner_model(client: SpreadClient):
71
- await client.alias.spread_parameter_with_inner_model(id="1", x_ms_test_header="bar", body={"name": "foo"})
72
-
73
-
74
- @pytest.mark.asyncio
75
- async def test_inner_alias(client: SpreadClient):
76
- await client.alias.spread_parameter_with_inner_alias(id="1", x_ms_test_header="bar", body={"name": "foo", "age": 1})