@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,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 base64
7
- import pytest
8
- from payload.contentnegotiation import ContentNegotiationClient
9
- from payload.contentnegotiation.differentbody.models import PngImageAsJson
10
-
11
-
12
- @pytest.fixture
13
- def client():
14
- with ContentNegotiationClient(endpoint="http://localhost:3000") as client:
15
- yield client
16
-
17
-
18
- def test_get_avatar_as_png(client: ContentNegotiationClient, png_data: bytes):
19
- assert b"".join(client.same_body.get_avatar_as_png()) == png_data
20
-
21
-
22
- def test_get_avatar_as_jpeg(client: ContentNegotiationClient, jpg_data: bytes):
23
- assert b"".join(client.same_body.get_avatar_as_jpeg()) == jpg_data
24
-
25
-
26
- def test_different_body_get_avatar_as_png(client: ContentNegotiationClient, png_data: bytes):
27
- assert b"".join(client.different_body.get_avatar_as_png()) == png_data
28
-
29
-
30
- def test_different_body_get_avatar_as_json(client: ContentNegotiationClient, png_data: bytes):
31
- result = client.different_body.get_avatar_as_json()
32
- expected = PngImageAsJson(content=base64.b64encode(png_data).decode())
33
- assert result == expected
@@ -1,200 +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
- from pathlib import Path
7
- import pytest
8
- from payload.multipart import MultiPartClient, models
9
- from payload.multipart.formdata.httpparts.nonstring.models import FloatRequest
10
- from payload.multipart.formdata.file import models as file_models
11
-
12
- JPG = Path(__file__).parent / "data/image.jpg"
13
- PNG = Path(__file__).parent / "data/image.png"
14
-
15
-
16
- @pytest.fixture
17
- def client():
18
- with MultiPartClient(endpoint="http://localhost:3000") as client:
19
- yield client
20
-
21
-
22
- def test_anonymous_model(client: MultiPartClient):
23
- client.form_data.anonymous_model({"profileImage": open(str(JPG), "rb")})
24
-
25
-
26
- def test_basic(client: MultiPartClient):
27
- client.form_data.basic(
28
- models.MultiPartRequest(
29
- id="123",
30
- profile_image=open(str(JPG), "rb"),
31
- )
32
- )
33
-
34
-
35
- def test_binary_array_parts(client: MultiPartClient):
36
- client.form_data.binary_array_parts(
37
- models.BinaryArrayPartsRequest(
38
- id="123",
39
- pictures=[
40
- open(str(PNG), "rb"),
41
- open(str(PNG), "rb"),
42
- ],
43
- )
44
- )
45
-
46
-
47
- def test_check_file_name_and_content_type(client: MultiPartClient):
48
- client.form_data.check_file_name_and_content_type(
49
- models.MultiPartRequest(
50
- id="123",
51
- profile_image=("hello.jpg", open(str(JPG), "rb"), "image/jpg"),
52
- )
53
- )
54
-
55
-
56
- def test_complex(client: MultiPartClient):
57
- client.form_data.file_array_and_basic(
58
- models.ComplexPartsRequest(
59
- id="123",
60
- address=models.Address(city="X"),
61
- pictures=[
62
- open(str(PNG), "rb"),
63
- open(str(PNG), "rb"),
64
- ],
65
- profile_image=open(str(JPG), "rb"),
66
- )
67
- )
68
-
69
-
70
- def test_json_part(client: MultiPartClient):
71
- client.form_data.json_part(
72
- models.JsonPartRequest(
73
- address=models.Address(city="X"),
74
- profile_image=open(str(JPG), "rb"),
75
- )
76
- )
77
-
78
-
79
- def test_multi_binary_parts(client: MultiPartClient):
80
- client.form_data.multi_binary_parts(
81
- models.MultiBinaryPartsRequest(
82
- profile_image=open(str(JPG), "rb"),
83
- picture=open(str(PNG), "rb"),
84
- )
85
- )
86
- client.form_data.multi_binary_parts(
87
- models.MultiBinaryPartsRequest(
88
- profile_image=open(str(JPG), "rb"),
89
- )
90
- )
91
-
92
-
93
- def test_file_with_http_part_specific_content_type(client: MultiPartClient):
94
- client.form_data.http_parts.content_type.image_jpeg_content_type(
95
- models.FileWithHttpPartSpecificContentTypeRequest(
96
- profile_image=("hello.jpg", open(str(JPG), "rb"), "image/jpg"),
97
- )
98
- )
99
-
100
-
101
- def test_file_with_http_part_required_content_type(client: MultiPartClient):
102
- client.form_data.http_parts.content_type.required_content_type(
103
- models.FileWithHttpPartRequiredContentTypeRequest(
104
- profile_image=open(str(JPG), "rb"),
105
- )
106
- )
107
-
108
-
109
- def test_file_with_http_part_optional_content_type(client: MultiPartClient):
110
- # call twice: one with content type, one without
111
- client.form_data.http_parts.content_type.optional_content_type(
112
- models.FileWithHttpPartOptionalContentTypeRequest(
113
- profile_image=("hello.jpg", open(str(JPG), "rb").read()),
114
- )
115
- )
116
- client.form_data.http_parts.content_type.optional_content_type(
117
- models.FileWithHttpPartOptionalContentTypeRequest(
118
- profile_image=("hello.jpg", open(str(JPG), "rb").read(), "application/octet-stream"),
119
- )
120
- )
121
-
122
-
123
- def test_complex_with_http_part(client: MultiPartClient):
124
- client.form_data.http_parts.json_array_and_file_array(
125
- models.ComplexHttpPartsModelRequest(
126
- id="123",
127
- previous_addresses=[
128
- models.Address(city="Y"),
129
- models.Address(city="Z"),
130
- ],
131
- address=models.Address(city="X"),
132
- pictures=[
133
- open(str(PNG), "rb"),
134
- open(str(PNG), "rb"),
135
- ],
136
- profile_image=open(str(JPG), "rb"),
137
- )
138
- )
139
-
140
-
141
- def test_http_parts_non_string_float(client: MultiPartClient):
142
- client.form_data.http_parts.non_string.float(FloatRequest(temperature=0.5))
143
-
144
-
145
- def test_with_wire_name(client: MultiPartClient):
146
- client.form_data.with_wire_name(
147
- models.MultiPartRequestWithWireName(
148
- identifier="123",
149
- image=open(str(JPG), "rb"),
150
- )
151
- )
152
-
153
-
154
- def test_optional_parts(client: MultiPartClient):
155
- # First time with only id
156
- client.form_data.optional_parts(
157
- models.MultiPartOptionalRequest(
158
- id="123",
159
- )
160
- )
161
- # Second time with only profileImage
162
- client.form_data.optional_parts(
163
- models.MultiPartOptionalRequest(
164
- profile_image=open(str(JPG), "rb"),
165
- )
166
- )
167
- # Third time with both id and profileImage
168
- client.form_data.optional_parts(
169
- models.MultiPartOptionalRequest(
170
- id="123",
171
- profile_image=open(str(JPG), "rb"),
172
- )
173
- )
174
-
175
-
176
- def test_file_upload_file_specific_content_type(client: MultiPartClient):
177
- client.form_data.file.upload_file_specific_content_type(
178
- file_models.UploadFileSpecificContentTypeRequest(
179
- file=("image.png", open(str(PNG), "rb"), "image/png"),
180
- )
181
- )
182
-
183
-
184
- def test_file_upload_file_required_filename(client: MultiPartClient):
185
- client.form_data.file.upload_file_required_filename(
186
- file_models.UploadFileRequiredFilenameRequest(
187
- file=("image.png", open(str(PNG), "rb"), "image/png"),
188
- )
189
- )
190
-
191
-
192
- def test_file_upload_file_array(client: MultiPartClient):
193
- client.form_data.file.upload_file_array(
194
- file_models.UploadFileArrayRequest(
195
- files=[
196
- ("image.png", open(str(PNG), "rb"), "image/png"),
197
- ("image.png", open(str(PNG), "rb"), "image/png"),
198
- ],
199
- )
200
- )
@@ -1,22 +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 serialization.encodedname.json import JsonClient
8
- from serialization.encodedname.json.property import models
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with JsonClient() as client:
14
- yield client
15
-
16
-
17
- def test_property_send(client: JsonClient):
18
- client.property.send(models.JsonEncodedNameModel(default_name=True))
19
-
20
-
21
- def test_property_get(client: JsonClient):
22
- assert client.property.get().default_name
@@ -1,66 +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 specialwords import SpecialWordsClient
8
- from specialwords.models import models
9
- from specialwords.modelproperties import models as model_properties_models
10
- from specialwords.extensiblestrings import models as extensible_strings_models
11
-
12
-
13
- @pytest.fixture
14
- def client():
15
- with SpecialWordsClient() as client:
16
- yield client
17
-
18
-
19
- def test_operations(client: SpecialWordsClient, special_words):
20
- for sw in special_words:
21
- suffix = "" if sw == "constructor" else "_method"
22
- getattr(client.operations, sw + suffix)()
23
-
24
-
25
- def test_parameter(client: SpecialWordsClient, special_words):
26
- for sw in special_words:
27
- suffix = "" if sw == "constructor" else "_parameter"
28
- getattr(client.parameters, "with_" + sw)(**{sw + suffix: "ok"})
29
- client.parameters.with_cancellation_token(cancellation_token="ok")
30
-
31
-
32
- def test_model(client: SpecialWordsClient, special_words):
33
- for sw in special_words:
34
- suffix = "" if sw == "constructor" else "Model"
35
- model = getattr(models, sw.capitalize() + suffix)
36
- getattr(client.models, "with_" + sw)(model(name="ok"))
37
-
38
-
39
- def test_model_properties(client: SpecialWordsClient):
40
- client.model_properties.same_as_model(model_properties_models.SameAsModel(same_as_model="ok"))
41
-
42
-
43
- def test_model_properties_dict_methods(client: SpecialWordsClient):
44
- client.model_properties.dict_methods(
45
- body=model_properties_models.DictMethods(
46
- keys_property="ok",
47
- items_property="ok",
48
- values_property="ok",
49
- popitem_property="ok",
50
- clear_property="ok",
51
- update_property="ok",
52
- setdefault_property="ok",
53
- pop_property="ok",
54
- get_property="ok",
55
- copy_property="ok",
56
- )
57
- )
58
-
59
-
60
- def test_model_properties_with_list(client: SpecialWordsClient):
61
- client.model_properties.with_list(model_properties_models.ModelWithList(list="ok"))
62
-
63
-
64
- def test_extensible_strings(client: SpecialWordsClient):
65
- for enum_value in extensible_strings_models.ExtensibleString:
66
- assert enum_value == client.extensible_strings.put_extensible_string_value(body=enum_value)
@@ -1,65 +0,0 @@
1
- # ------------------------------------
2
- # Copyright (c) Microsoft Corporation.
3
- # Licensed under the MIT License.
4
- # ------------------------------------
5
- import os
6
- import re
7
- from subprocess import getoutput
8
- from pathlib import Path
9
- import traceback
10
- from importlib import import_module
11
- import pytest
12
- from typetest.scalar import ScalarClient
13
- from corehttp.exceptions import HttpResponseError
14
-
15
-
16
- @pytest.fixture
17
- def client():
18
- with ScalarClient() as client:
19
- yield client
20
-
21
-
22
- def test_module():
23
- with pytest.raises(ModuleNotFoundError):
24
- import_module("azure")
25
-
26
-
27
- def test_track_back(client: ScalarClient):
28
- try:
29
- client.string.put("to raise exception")
30
- except HttpResponseError:
31
- track_back = traceback.format_exc().lower()
32
- assert "azure" not in track_back
33
- assert "microsoft" not in track_back
34
-
35
-
36
- def check_sensitive_word(folder: Path, word: str) -> str:
37
- special_folders = ["__pycache__", "pytest_cache"]
38
- if os.name == "nt":
39
- skip_folders = "|".join(special_folders)
40
- output = getoutput(
41
- f"powershell \"ls -r -Path {folder} | where fullname -notmatch '{skip_folders}' | Select-String -Pattern '{word}'\""
42
- ).replace("\\", "/")
43
- else:
44
- skip_folders = "{" + ",".join(special_folders) + "}"
45
- output = getoutput(f"grep -ri --exclude-dir={skip_folders} {word} {folder}")
46
-
47
- result = set()
48
- for item in re.findall(f"{folder.as_posix()}[^:]+", output.replace("\n", "")):
49
- result.add(Path(item).relative_to(folder).parts[0])
50
- return sorted(list(result))
51
-
52
-
53
- def test_sensitive_word():
54
- check_folder = (Path(os.path.dirname(__file__)) / "../generated").resolve()
55
- assert [] == check_sensitive_word(check_folder, "azure")
56
- # after update spector, it shall also equal to []
57
- expected = [
58
- "authentication-oauth2",
59
- "authentication-noauth-union",
60
- "authentication-union",
61
- "setuppy-authentication-union",
62
- ]
63
- if (check_folder / "generation-subdir").exists():
64
- expected.append("generation-subdir")
65
- assert sorted(expected) == sorted(check_sensitive_word(check_folder, "microsoft"))
@@ -1,69 +0,0 @@
1
- -r ../dev_requirements.txt
2
- -e ../../
3
-
4
- # === common test dependencies across repos ===
5
- -e ./generated/authentication-api-key
6
- -e ./generated/authentication-http-custom
7
- -e ./generated/authentication-noauth-union
8
- -e ./generated/authentication-oauth2
9
- -e ./generated/authentication-union
10
- -e ./generated/setuppy-authentication-union
11
- -e ./generated/specs-documentation
12
- -e ./generated/encode-duration
13
- -e ./generated/encode-numeric
14
- -e ./generated/encode-array
15
- -e ./generated/parameters-basic
16
- -e ./generated/parameters-collection-format
17
- -e ./generated/parameters-path
18
- -e ./generated/parameters-query
19
- -e ./generated/parameters-spread
20
- -e ./generated/serialization-encoded-name-json
21
- -e ./generated/server-endpoint-not-defined
22
- -e ./generated/server-path-multiple
23
- -e ./generated/server-path-single
24
- -e ./generated/server-versions-versioned
25
- -e ./generated/server-versions-not-versioned
26
- -e ./generated/special-words
27
- -e ./generated/streaming-jsonl
28
- -e ./generated/typetest-array
29
- -e ./generated/typetest-dictionary
30
- -e ./generated/typetest-enum-extensible
31
- -e ./generated/typetest-enum-fixed
32
- # -e ./generated/typetest-file
33
- -e ./generated/typetest-model-enumdiscriminator
34
- -e ./generated/typetest-model-nesteddiscriminator
35
- -e ./generated/typetest-model-notdiscriminated
36
- -e ./generated/typetest-model-singlediscriminator
37
- -e ./generated/typetest-model-recursive
38
- -e ./generated/typetest-model-usage
39
- -e ./generated/typetest-model-visibility
40
- -e ./generated/typetest-property-nullable
41
- -e ./generated/typetest-property-optional
42
- -e ./generated/typetest-property-valuetypes
43
- -e ./generated/typetest-property-additionalproperties
44
- -e ./generated/typetest-scalar
45
- -e ./generated/typetest-union
46
- -e ./generated/typetest-discriminatedunion
47
- -e ./generated/typetest-model-empty
48
- -e ./generated/headasbooleantrue
49
- -e ./generated/headasbooleanfalse
50
- -e ./generated/parameters-body-optionality
51
- -e ./generated/special-headers-repeatability
52
- -e ./generated/special-headers-conditional-request
53
- -e ./generated/encode-datetime
54
- -e ./generated/encode-bytes
55
- -e ./generated/payload-content-negotiation
56
- -e ./generated/payload-json-merge-patch
57
- -e ./generated/payload-pageable
58
- -e ./generated/payload-multipart
59
- -e ./generated/payload-media-type
60
- -e ./generated/payload-xml
61
- -e ./generated/routes
62
- -e ./generated/response-status-code-range
63
- -e ./generated/versioning-added
64
- -e ./generated/versioning-madeoptional
65
- -e ./generated/versioning-removed
66
- -e ./generated/versioning-renamedfrom
67
- -e ./generated/versioning-returntypechangedfrom
68
- -e ./generated/versioning-typechangedfrom
69
- # === end common test dependencies across repos ===
@@ -1,64 +0,0 @@
1
- [tox]
2
- envlist=base, lint, mypy, pyright, apiview, sphinx
3
- skipsdist=True
4
-
5
- [testenv:ci]
6
- deps=
7
- -r requirements.txt
8
- commands =
9
- # pytest
10
- {[testenv:test]commands}
11
-
12
- # pylint
13
- {[testenv:lint]commands}
14
-
15
- # mypy
16
- {[testenv:mypy]commands}
17
-
18
- # pyright
19
- {[testenv:pyright]commands}
20
-
21
- # apiview
22
- {[testenv:apiview]commands}
23
-
24
- # sphinx docstring validation
25
- {[testenv:sphinx]commands}
26
-
27
- [testenv:test]
28
- deps=
29
- -r requirements.txt
30
- commands =
31
- pytest mock_api_tests ../generic_mock_api_tests
32
-
33
- [testenv:lint]
34
- deps=
35
- -r requirements.txt
36
- commands =
37
- pip install azure-pylint-guidelines-checker==0.5.2 --index-url="https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
38
- python ../../../eng/scripts/ci/run_pylint.py -t unbranded -s "generated" {posargs}
39
-
40
- [testenv:mypy]
41
- deps=
42
- -r requirements.txt
43
- commands =
44
- python ../../../eng/scripts/ci/run_mypy.py -t unbranded -s "generated" {posargs}
45
-
46
- [testenv:pyright]
47
- deps=
48
- -r requirements.txt
49
- commands =
50
- python ../../../eng/scripts/ci/run_pyright.py -t unbranded -s "generated" {posargs}
51
-
52
- [testenv:apiview]
53
- deps=
54
- -r requirements.txt
55
- commands =
56
- pip install apiview-stub-generator==0.3.19 --index-url="https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
57
- python ../../../eng/scripts/ci/run_apiview.py -t unbranded -s "generated" {posargs}
58
-
59
- [testenv:sphinx]
60
- basepython = python3.10
61
- deps=
62
- -r requirements.txt
63
- commands =
64
- python ../../../eng/scripts/ci/run_sphinx_build.py -t unbranded -s "generated" {posargs}
@@ -1,15 +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 importlib
7
- import pytest
8
-
9
-
10
- @pytest.fixture
11
- def core_library():
12
- try:
13
- return importlib.import_module("azure.core")
14
- except ModuleNotFoundError:
15
- return importlib.import_module("corehttp")
@@ -1,3 +0,0 @@
1
- -r ../dev_requirements.txt
2
- -e ../../../generator
3
- -e ../unbranded/generated/special-words
@@ -1,89 +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
- from enum import Enum, EnumMeta
7
- from specialwords.extensiblestrings import models as extensible_strings_models
8
-
9
-
10
- class _CaseInsensitiveEnumMeta(EnumMeta):
11
- def __getitem__(self, name):
12
- return super().__getitem__(name.upper())
13
-
14
- def __getattr__(cls, name):
15
- """Return the enum member matching `name`
16
- We use __getattr__ instead of descriptors or inserting into the enum
17
- class' __dict__ in order to support `name` and `value` being both
18
- properties for enum members (which live in the class' __dict__) and
19
- enum members themselves.
20
- """
21
- try:
22
- return cls._member_map_[name.upper()]
23
- except KeyError:
24
- raise AttributeError(name)
25
-
26
-
27
- class EnumsWithCallableNames(str, Enum, metaclass=_CaseInsensitiveEnumMeta):
28
- """Gets the unit of measurement."""
29
-
30
- COUNT = "count"
31
- ENCODE = "encode"
32
- FIND = "find"
33
- JOIN = "join"
34
-
35
-
36
- def test_count():
37
- assert EnumsWithCallableNames.COUNT == "count"
38
- assert callable(EnumsWithCallableNames.count)
39
-
40
-
41
- def test_encode():
42
- assert EnumsWithCallableNames.ENCODE == "encode"
43
- assert callable(EnumsWithCallableNames.encode)
44
-
45
-
46
- def test_find():
47
- assert EnumsWithCallableNames.FIND == "find"
48
- assert callable(EnumsWithCallableNames.find)
49
-
50
-
51
- def test_join():
52
- assert EnumsWithCallableNames.JOIN == "join"
53
- assert callable(EnumsWithCallableNames.join)
54
-
55
-
56
- def test_extensible_strings_enum_with_special_words():
57
- assert extensible_strings_models.ExtensibleString.AND == "and"
58
- assert extensible_strings_models.ExtensibleString.AS == "as"
59
- assert extensible_strings_models.ExtensibleString.ASSERT == "assert"
60
- assert extensible_strings_models.ExtensibleString.ASYNC == "async"
61
- assert extensible_strings_models.ExtensibleString.AWAIT == "await"
62
- assert extensible_strings_models.ExtensibleString.BREAK == "break"
63
- assert extensible_strings_models.ExtensibleString.CLASS == "class"
64
- assert extensible_strings_models.ExtensibleString.CONSTRUCTOR == "constructor"
65
- assert extensible_strings_models.ExtensibleString.CONTINUE == "continue"
66
- assert extensible_strings_models.ExtensibleString.DEF == "def"
67
- assert extensible_strings_models.ExtensibleString.DEL == "del"
68
- assert extensible_strings_models.ExtensibleString.ELIF == "elif"
69
- assert extensible_strings_models.ExtensibleString.ELSE == "else"
70
- assert extensible_strings_models.ExtensibleString.EXCEPT == "except"
71
- assert extensible_strings_models.ExtensibleString.EXEC == "exec"
72
- assert extensible_strings_models.ExtensibleString.FINALLY == "finally"
73
- assert extensible_strings_models.ExtensibleString.FOR == "for"
74
- assert extensible_strings_models.ExtensibleString.FROM == "from"
75
- assert extensible_strings_models.ExtensibleString.GLOBAL == "global"
76
- assert extensible_strings_models.ExtensibleString.IF == "if"
77
- assert extensible_strings_models.ExtensibleString.IMPORT == "import"
78
- assert extensible_strings_models.ExtensibleString.IN == "in"
79
- assert extensible_strings_models.ExtensibleString.IS == "is"
80
- assert extensible_strings_models.ExtensibleString.LAMBDA == "lambda"
81
- assert extensible_strings_models.ExtensibleString.NOT == "not"
82
- assert extensible_strings_models.ExtensibleString.OR == "or"
83
- assert extensible_strings_models.ExtensibleString.PASS == "pass"
84
- assert extensible_strings_models.ExtensibleString.RAISE == "raise"
85
- assert extensible_strings_models.ExtensibleString.RETURN == "return"
86
- assert extensible_strings_models.ExtensibleString.TRY == "try"
87
- assert extensible_strings_models.ExtensibleString.WHILE == "while"
88
- assert extensible_strings_models.ExtensibleString.WITH == "with"
89
- assert extensible_strings_models.ExtensibleString.YIELD == "yield"