@typespec/http-client-python 0.28.2 → 0.28.3

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 (309) hide show
  1. package/dist/emitter/code-model.d.ts.map +1 -1
  2. package/dist/emitter/code-model.js +6 -6
  3. package/dist/emitter/code-model.js.map +1 -1
  4. package/dist/emitter/emitter.d.ts.map +1 -1
  5. package/dist/emitter/emitter.js +27 -28
  6. package/dist/emitter/emitter.js.map +1 -1
  7. package/dist/emitter/lib.d.ts +4 -1
  8. package/dist/emitter/lib.d.ts.map +1 -1
  9. package/dist/emitter/lib.js.map +1 -1
  10. package/dist/emitter/system-requirements.js +6 -4
  11. package/dist/emitter/system-requirements.js.map +1 -1
  12. package/dist/emitter/types.d.ts +2 -5
  13. package/dist/emitter/types.d.ts.map +1 -1
  14. package/dist/emitter/types.js +55 -58
  15. package/dist/emitter/types.js.map +1 -1
  16. package/dist/emitter/utils.d.ts.map +1 -1
  17. package/dist/emitter/utils.js +16 -17
  18. package/dist/emitter/utils.js.map +1 -1
  19. package/emitter/src/code-model.ts +6 -13
  20. package/emitter/src/emitter.ts +29 -31
  21. package/emitter/src/lib.ts +4 -0
  22. package/emitter/src/system-requirements.ts +4 -4
  23. package/emitter/src/types.ts +67 -57
  24. package/emitter/src/utils.ts +16 -18
  25. package/emitter/temp/tsconfig.tsbuildinfo +1 -1
  26. package/eng/scripts/Build-Packages.ps1 +62 -37
  27. package/eng/scripts/Check-GitChanges.ps1 +30 -3
  28. package/eng/scripts/Functions.ps1 +54 -15
  29. package/eng/scripts/Generate.ps1 +42 -8
  30. package/eng/scripts/Generation.psm1 +44 -15
  31. package/eng/scripts/Initialize-Repository.ps1 +29 -11
  32. package/eng/scripts/Test-Packages.ps1 +47 -31
  33. package/eng/scripts/ci/config/eslint-ci.config.mjs +54 -0
  34. package/eng/scripts/ci/dev_requirements.txt +1 -0
  35. package/eng/scripts/ci/format.ts +232 -2
  36. package/eng/scripts/ci/lint.ts +216 -20
  37. package/eng/scripts/ci/regenerate-common.ts +18 -14
  38. package/eng/scripts/ci/regenerate.ts +305 -68
  39. package/eng/scripts/ci/run-tests.ts +402 -0
  40. package/eng/scripts/ci/run_mypy.py +4 -3
  41. package/eng/scripts/ci/run_pylint.py +4 -3
  42. package/eng/scripts/ci/run_pyright.py +4 -3
  43. package/eng/scripts/ci/typecheck.ts +225 -0
  44. package/eng/scripts/ci/util.py +1 -1
  45. package/eng/scripts/ci/utils.ts +5 -5
  46. package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
  47. package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
  48. package/eng/scripts/setup/build.ts +1 -1
  49. package/eng/scripts/setup/build_pygen_wheel.py +1 -0
  50. package/eng/scripts/setup/install.py +1 -0
  51. package/eng/scripts/setup/prepare.py +1 -0
  52. package/eng/scripts/setup/prepare.ts +1 -1
  53. package/eng/scripts/setup/run_tsp.py +3 -3
  54. package/eng/scripts/setup/system-requirements.ts +8 -4
  55. package/eng/scripts/setup/venvtools.py +1 -0
  56. package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +157 -64
  57. package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
  58. package/generator/pygen/codegen/templates/model_base.py.jinja2 +157 -64
  59. package/package.json +48 -42
  60. package/eng/scripts/ci/run-ci.ts +0 -89
  61. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +0 -94
  62. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +0 -30
  63. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +0 -36
  64. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +0 -205
  65. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_resource_async.py +0 -478
  66. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_access_async.py +0 -101
  67. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_header_async.py +0 -18
  68. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_path_async.py +0 -18
  69. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_query_async.py +0 -18
  70. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +0 -46
  71. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +0 -58
  72. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +0 -82
  73. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +0 -20
  74. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_flatten_async.py +0 -115
  75. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_hierrarchy_building_async.py +0 -53
  76. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_next_link_verb_async.py +0 -28
  77. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_override_async.py +0 -106
  78. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +0 -38
  79. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_basic_async.py +0 -76
  80. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +0 -22
  81. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py +0 -39
  82. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_model_async.py +0 -33
  83. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +0 -80
  84. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_scalar_async.py +0 -41
  85. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_traits_async.py +0 -87
  86. package/generator/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +0 -19
  87. package/generator/test/azure/mock_api_tests/asynctests/test_azure_example_basic_async.py +0 -30
  88. package/generator/test/azure/mock_api_tests/asynctests/test_azure_payload_pageable_async.py +0 -19
  89. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_method_subscription_id_async.py +0 -248
  90. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +0 -110
  91. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py +0 -132
  92. package/generator/test/azure/mock_api_tests/asynctests/test_azure_special_headers_client_request_id_async.py +0 -30
  93. package/generator/test/azure/mock_api_tests/asynctests/test_azure_versioning_previewversion_async.py +0 -53
  94. package/generator/test/azure/mock_api_tests/asynctests/test_client_namespace_async.py +0 -34
  95. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +0 -69
  96. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +0 -37
  97. package/generator/test/azure/mock_api_tests/asynctests/test_client_overload_async.py +0 -27
  98. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_async.py +0 -64
  99. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_clientoperationgroup_async.py +0 -31
  100. package/generator/test/azure/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  101. package/generator/test/azure/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  102. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  103. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  104. package/generator/test/azure/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  105. package/generator/test/azure/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -216
  106. package/generator/test/azure/mock_api_tests/asynctests/test_resiliency_srv_driven_async.py +0 -130
  107. package/generator/test/azure/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  108. package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +0 -31
  109. package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +0 -71
  110. package/generator/test/azure/mock_api_tests/conftest.py +0 -207
  111. package/generator/test/azure/mock_api_tests/data/image.jpg +0 -0
  112. package/generator/test/azure/mock_api_tests/data/image.png +0 -0
  113. package/generator/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +0 -89
  114. package/generator/test/azure/mock_api_tests/test_azure_arm_largeheader.py +0 -27
  115. package/generator/test/azure/mock_api_tests/test_azure_arm_nonresource.py +0 -34
  116. package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +0 -180
  117. package/generator/test/azure/mock_api_tests/test_azure_arm_resource.py +0 -436
  118. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_access.py +0 -92
  119. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_header.py +0 -17
  120. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_path.py +0 -17
  121. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_query.py +0 -17
  122. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +0 -42
  123. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +0 -51
  124. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +0 -70
  125. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +0 -19
  126. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_flatten.py +0 -104
  127. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py +0 -45
  128. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py +0 -27
  129. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_override.py +0 -102
  130. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +0 -32
  131. package/generator/test/azure/mock_api_tests/test_azure_core_basic.py +0 -70
  132. package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +0 -20
  133. package/generator/test/azure/mock_api_tests/test_azure_core_lro_standard.py +0 -32
  134. package/generator/test/azure/mock_api_tests/test_azure_core_model.py +0 -30
  135. package/generator/test/azure/mock_api_tests/test_azure_core_page.py +0 -71
  136. package/generator/test/azure/mock_api_tests/test_azure_core_scalar.py +0 -35
  137. package/generator/test/azure/mock_api_tests/test_azure_core_traits.py +0 -85
  138. package/generator/test/azure/mock_api_tests/test_azure_encode_duration.py +0 -18
  139. package/generator/test/azure/mock_api_tests/test_azure_example_basic.py +0 -29
  140. package/generator/test/azure/mock_api_tests/test_azure_payload_pageable.py +0 -18
  141. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py +0 -235
  142. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +0 -104
  143. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py +0 -128
  144. package/generator/test/azure/mock_api_tests/test_azure_special_headers_client_request_id.py +0 -29
  145. package/generator/test/azure/mock_api_tests/test_azure_versioning_previewversion.py +0 -50
  146. package/generator/test/azure/mock_api_tests/test_clear_output_folder.py +0 -23
  147. package/generator/test/azure/mock_api_tests/test_client_namespace.py +0 -32
  148. package/generator/test/azure/mock_api_tests/test_client_naming.py +0 -57
  149. package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +0 -35
  150. package/generator/test/azure/mock_api_tests/test_client_overload.py +0 -25
  151. package/generator/test/azure/mock_api_tests/test_client_structure.py +0 -60
  152. package/generator/test/azure/mock_api_tests/test_client_structure_clientoperationgroup.py +0 -29
  153. package/generator/test/azure/mock_api_tests/test_encode_duration.py +0 -60
  154. package/generator/test/azure/mock_api_tests/test_encode_numeric.py +0 -31
  155. package/generator/test/azure/mock_api_tests/test_model_base_flatten_compatibility.py +0 -251
  156. package/generator/test/azure/mock_api_tests/test_parameters_basic.py +0 -22
  157. package/generator/test/azure/mock_api_tests/test_parameters_spread.py +0 -66
  158. package/generator/test/azure/mock_api_tests/test_payload_content_negotiation.py +0 -33
  159. package/generator/test/azure/mock_api_tests/test_payload_multipart.py +0 -198
  160. package/generator/test/azure/mock_api_tests/test_resiliency_srv_driven.py +0 -124
  161. package/generator/test/azure/mock_api_tests/test_serialization_encoded_name_json.py +0 -21
  162. package/generator/test/azure/mock_api_tests/test_service_multi_service.py +0 -29
  163. package/generator/test/azure/mock_api_tests/test_special_words.py +0 -63
  164. package/generator/test/azure/requirements.txt +0 -125
  165. package/generator/test/azure/tox.ini +0 -64
  166. package/generator/test/data/image.jpg +0 -0
  167. package/generator/test/data/image.png +0 -0
  168. package/generator/test/dev_requirements.txt +0 -8
  169. package/generator/test/generic_mock_api_tests/asynctests/test_authentication_async.py +0 -140
  170. package/generator/test/generic_mock_api_tests/asynctests/test_encode_array_async.py +0 -139
  171. package/generator/test/generic_mock_api_tests/asynctests/test_encode_bytes_async.py +0 -132
  172. package/generator/test/generic_mock_api_tests/asynctests/test_encode_datetime_async.py +0 -127
  173. package/generator/test/generic_mock_api_tests/asynctests/test_headasboolean_async.py +0 -35
  174. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_body_optionality_async.py +0 -30
  175. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_collection_format_async.py +0 -38
  176. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +0 -24
  177. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +0 -18
  178. package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +0 -98
  179. package/generator/test/generic_mock_api_tests/asynctests/test_payload_media_type_async.py +0 -27
  180. package/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +0 -134
  181. package/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +0 -150
  182. package/generator/test/generic_mock_api_tests/asynctests/test_response_status_code_range_async.py +0 -38
  183. package/generator/test/generic_mock_api_tests/asynctests/test_routes_async.py +0 -331
  184. package/generator/test/generic_mock_api_tests/asynctests/test_server_endpoint_not_defined_async.py +0 -18
  185. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_multiple_async.py +0 -25
  186. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_single_async.py +0 -18
  187. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_not_versioned_async.py +0 -28
  188. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_versioned_async.py +0 -34
  189. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_conditional_request_async.py +0 -38
  190. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_repeatability_async.py +0 -19
  191. package/generator/test/generic_mock_api_tests/asynctests/test_specs_documentation_async.py +0 -59
  192. package/generator/test/generic_mock_api_tests/asynctests/test_streaming_jsonl_async.py +0 -27
  193. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_array_async.py +0 -127
  194. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +0 -98
  195. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_extensible_async.py +0 -25
  196. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_fixed_async.py +0 -27
  197. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_file_async.py +0 -59
  198. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_empty_async.py +0 -32
  199. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_enum_discriminator_async.py +0 -70
  200. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_nested_discriminator_async.py +0 -85
  201. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_not_discriminated_async.py +0 -34
  202. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_recursive_async.py +0 -34
  203. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_single_discriminator_async.py +0 -67
  204. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_usage_async.py +0 -32
  205. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_visibility_async.py +0 -47
  206. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_additionalproperties_async.py +0 -353
  207. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_nullable_async.py +0 -110
  208. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_optional_async.py +0 -197
  209. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +0 -315
  210. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_scalar_async.py +0 -60
  211. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_union_async.py +0 -90
  212. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_added_async.py +0 -36
  213. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py +0 -21
  214. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_removed_async.py +0 -39
  215. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py +0 -29
  216. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_return_type_changed_from_async.py +0 -18
  217. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py +0 -22
  218. package/generator/test/generic_mock_api_tests/conftest.py +0 -75
  219. package/generator/test/generic_mock_api_tests/data/image.jpg +0 -0
  220. package/generator/test/generic_mock_api_tests/data/image.png +0 -0
  221. package/generator/test/generic_mock_api_tests/test_authentication.py +0 -130
  222. package/generator/test/generic_mock_api_tests/test_encode_array.py +0 -126
  223. package/generator/test/generic_mock_api_tests/test_encode_bytes.py +0 -128
  224. package/generator/test/generic_mock_api_tests/test_encode_datetime.py +0 -123
  225. package/generator/test/generic_mock_api_tests/test_headasboolean.py +0 -33
  226. package/generator/test/generic_mock_api_tests/test_parameters_body_optionality.py +0 -27
  227. package/generator/test/generic_mock_api_tests/test_parameters_collection_format.py +0 -33
  228. package/generator/test/generic_mock_api_tests/test_parameters_path.py +0 -22
  229. package/generator/test/generic_mock_api_tests/test_parameters_query.py +0 -17
  230. package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +0 -93
  231. package/generator/test/generic_mock_api_tests/test_payload_media_type.py +0 -25
  232. package/generator/test/generic_mock_api_tests/test_payload_pageable.py +0 -99
  233. package/generator/test/generic_mock_api_tests/test_payload_xml.py +0 -135
  234. package/generator/test/generic_mock_api_tests/test_response_status_code_range.py +0 -36
  235. package/generator/test/generic_mock_api_tests/test_routes.py +0 -285
  236. package/generator/test/generic_mock_api_tests/test_server_endpoint_not_defined.py +0 -17
  237. package/generator/test/generic_mock_api_tests/test_server_path_multiple.py +0 -21
  238. package/generator/test/generic_mock_api_tests/test_server_path_single.py +0 -17
  239. package/generator/test/generic_mock_api_tests/test_server_versions_not_versioned.py +0 -25
  240. package/generator/test/generic_mock_api_tests/test_server_versions_versioned.py +0 -30
  241. package/generator/test/generic_mock_api_tests/test_special_headers_conditional_request.py +0 -34
  242. package/generator/test/generic_mock_api_tests/test_special_headers_repeatability.py +0 -18
  243. package/generator/test/generic_mock_api_tests/test_specs_documentation.py +0 -51
  244. package/generator/test/generic_mock_api_tests/test_streaming_jsonl.py +0 -25
  245. package/generator/test/generic_mock_api_tests/test_typetest_array.py +0 -111
  246. package/generator/test/generic_mock_api_tests/test_typetest_dictionary.py +0 -86
  247. package/generator/test/generic_mock_api_tests/test_typetest_enum_extensible.py +0 -23
  248. package/generator/test/generic_mock_api_tests/test_typetest_enum_fixed.py +0 -25
  249. package/generator/test/generic_mock_api_tests/test_typetest_file.py +0 -52
  250. package/generator/test/generic_mock_api_tests/test_typetest_model_empty.py +0 -29
  251. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_enum_discriminator.py +0 -58
  252. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_nested_discriminator.py +0 -79
  253. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_not_discriminated.py +0 -31
  254. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_recursive.py +0 -32
  255. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_single_discriminator.py +0 -60
  256. package/generator/test/generic_mock_api_tests/test_typetest_model_usage.py +0 -28
  257. package/generator/test/generic_mock_api_tests/test_typetest_model_visibility.py +0 -40
  258. package/generator/test/generic_mock_api_tests/test_typetest_property_additionalproperties.py +0 -314
  259. package/generator/test/generic_mock_api_tests/test_typetest_property_nullable.py +0 -102
  260. package/generator/test/generic_mock_api_tests/test_typetest_property_optional.py +0 -174
  261. package/generator/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +0 -286
  262. package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -53
  263. package/generator/test/generic_mock_api_tests/test_typetest_union.py +0 -80
  264. package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +0 -290
  265. package/generator/test/generic_mock_api_tests/test_versioning_added.py +0 -33
  266. package/generator/test/generic_mock_api_tests/test_versioning_made_optional.py +0 -20
  267. package/generator/test/generic_mock_api_tests/test_versioning_removed.py +0 -37
  268. package/generator/test/generic_mock_api_tests/test_versioning_renamed_from.py +0 -27
  269. package/generator/test/generic_mock_api_tests/test_versioning_return_type_changed_from.py +0 -17
  270. package/generator/test/generic_mock_api_tests/test_versioning_type_changed_from.py +0 -21
  271. package/generator/test/unbranded/mock_api_tests/asynctests/test_auth_flow_async.py +0 -19
  272. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  273. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  274. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  275. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  276. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  277. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -218
  278. package/generator/test/unbranded/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  279. package/generator/test/unbranded/mock_api_tests/asynctests/test_special_words_async.py +0 -73
  280. package/generator/test/unbranded/mock_api_tests/asynctests/test_unbranded_async.py +0 -24
  281. package/generator/test/unbranded/mock_api_tests/conftest.py +0 -91
  282. package/generator/test/unbranded/mock_api_tests/data/image.jpg +0 -0
  283. package/generator/test/unbranded/mock_api_tests/data/image.png +0 -0
  284. package/generator/test/unbranded/mock_api_tests/test_auth_flow.py +0 -17
  285. package/generator/test/unbranded/mock_api_tests/test_encode_duration.py +0 -60
  286. package/generator/test/unbranded/mock_api_tests/test_encode_numeric.py +0 -32
  287. package/generator/test/unbranded/mock_api_tests/test_parameters_basic.py +0 -22
  288. package/generator/test/unbranded/mock_api_tests/test_parameters_spread.py +0 -66
  289. package/generator/test/unbranded/mock_api_tests/test_payload_content_negotiation.py +0 -33
  290. package/generator/test/unbranded/mock_api_tests/test_payload_multipart.py +0 -200
  291. package/generator/test/unbranded/mock_api_tests/test_serialization_encoded_name_json.py +0 -22
  292. package/generator/test/unbranded/mock_api_tests/test_special_words.py +0 -66
  293. package/generator/test/unbranded/mock_api_tests/test_unbranded.py +0 -65
  294. package/generator/test/unbranded/requirements.txt +0 -69
  295. package/generator/test/unbranded/tox.ini +0 -64
  296. package/generator/test/unittests/conftest.py +0 -15
  297. package/generator/test/unittests/requirements.txt +0 -3
  298. package/generator/test/unittests/test_enums.py +0 -89
  299. package/generator/test/unittests/test_model_base_serialization.py +0 -4906
  300. package/generator/test/unittests/test_model_base_xml_serialization.py +0 -1239
  301. package/generator/test/unittests/test_name_converter.py +0 -35
  302. package/generator/test/unittests/test_optional_return_type.py +0 -268
  303. package/generator/test/unittests/test_parameter_ordering.py +0 -104
  304. package/generator/test/unittests/test_sort_schema.py +0 -93
  305. package/generator/test/unittests/tox.ini +0 -5
  306. /package/eng/scripts/ci/{mypy.ini → config/mypy.ini} +0 -0
  307. /package/eng/scripts/ci/{pylintrc → config/pylintrc} +0 -0
  308. /package/eng/scripts/ci/{pyproject.toml → config/pyproject.toml} +0 -0
  309. /package/eng/scripts/ci/{pyrightconfig.json → config/pyrightconfig.json} +0 -0
@@ -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
- from pygen.preprocess import PreProcessPlugin
7
- from pygen.preprocess.python_mappings import PadType
8
-
9
-
10
- def pad_reserved_words(name: str, pad_type: PadType) -> str:
11
- return PreProcessPlugin(output_folder="").pad_reserved_words(name, pad_type, {})
12
-
13
-
14
- def test_escaped_reserved_words():
15
- expected_conversion_model = {"Self": "Self", "And": "AndModel"}
16
- for name in expected_conversion_model:
17
- assert pad_reserved_words(name, pad_type=PadType.MODEL) == expected_conversion_model[name]
18
-
19
- expected_conversion_method = {
20
- "self": "self",
21
- "and": "and_method",
22
- "content_type": "content_type",
23
- }
24
- for name in expected_conversion_method:
25
- assert pad_reserved_words(name, pad_type=PadType.METHOD) == expected_conversion_method[name]
26
-
27
- expected_conversion_parameter = {
28
- "content_type": "content_type_parameter",
29
- "request_id": "request_id_parameter",
30
- "elif": "elif_parameter",
31
- "self": "self_parameter",
32
- "continuation_token": "continuation_token_parameter",
33
- }
34
- for name in expected_conversion_parameter:
35
- assert pad_reserved_words(name, pad_type=PadType.PARAMETER) == expected_conversion_parameter[name]
@@ -1,268 +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
-
7
- import pytest
8
- from pygen.codegen.models import (
9
- Operation,
10
- LROOperation,
11
- PagingOperation,
12
- Response,
13
- ParameterList,
14
- CodeModel,
15
- RequestBuilder,
16
- Client,
17
- )
18
- from pygen.codegen.models.parameter_list import RequestBuilderParameterList
19
- from pygen.codegen.models.primitive_types import StringType
20
-
21
-
22
- @pytest.fixture
23
- def code_model():
24
- return CodeModel(
25
- {
26
- "clients": [
27
- {
28
- "name": "client",
29
- "namespace": "blah",
30
- "moduleName": "blah",
31
- "parameters": [],
32
- "url": "",
33
- "operationGroups": [],
34
- }
35
- ],
36
- "namespace": "namespace",
37
- },
38
- options={
39
- "show-send-request": True,
40
- "builders-visibility": "public",
41
- "show-operations": True,
42
- "models-mode": "dpg",
43
- "version-tolerant": True,
44
- },
45
- )
46
-
47
-
48
- @pytest.fixture
49
- def client(code_model):
50
- return Client(
51
- {
52
- "name": "client",
53
- "namespace": "blah",
54
- "moduleName": "blah",
55
- "parameters": [],
56
- "url": "",
57
- "operationGroups": [],
58
- },
59
- code_model,
60
- parameters=[],
61
- )
62
-
63
-
64
- @pytest.fixture
65
- def request_builder(code_model, client):
66
- return RequestBuilder(
67
- yaml_data={
68
- "url": "http://fake.com",
69
- "method": "GET",
70
- "groupName": "blah",
71
- "isOverload": False,
72
- "apiVersions": [],
73
- },
74
- client=client,
75
- code_model=code_model,
76
- name="optional_return_type_test",
77
- parameters=RequestBuilderParameterList({}, code_model, parameters=[]),
78
- )
79
-
80
-
81
- @pytest.fixture
82
- def operation(code_model, request_builder, client):
83
- return Operation(
84
- yaml_data={
85
- "url": "http://fake.com",
86
- "method": "GET",
87
- "groupName": "blah",
88
- "isOverload": False,
89
- "apiVersions": [],
90
- },
91
- client=client,
92
- code_model=code_model,
93
- request_builder=request_builder,
94
- name="optional_return_type_test",
95
- parameters=ParameterList({}, code_model, []),
96
- responses=[],
97
- exceptions=[],
98
- )
99
-
100
-
101
- @pytest.fixture
102
- def lro_operation(code_model, request_builder, client):
103
- return LROOperation(
104
- yaml_data={
105
- "url": "http://fake.com",
106
- "method": "GET",
107
- "groupName": "blah",
108
- "isOverload": False,
109
- "apiVersions": [],
110
- },
111
- client=client,
112
- code_model=code_model,
113
- request_builder=request_builder,
114
- name="lro_optional_return_type_test",
115
- parameters=ParameterList({}, code_model, []),
116
- responses=[],
117
- exceptions=[],
118
- )
119
-
120
-
121
- @pytest.fixture
122
- def paging_operation(code_model, request_builder, client):
123
- return PagingOperation(
124
- yaml_data={
125
- "url": "http://fake.com",
126
- "method": "GET",
127
- "groupName": "blah",
128
- "isOverload": False,
129
- "apiVersions": [],
130
- "pagerSync": "blah",
131
- "pagerAsync": "blah",
132
- },
133
- client=client,
134
- code_model=code_model,
135
- request_builder=request_builder,
136
- name="paging_optional_return_type_test",
137
- parameters=ParameterList({}, code_model, []),
138
- responses=[],
139
- exceptions=[],
140
- )
141
-
142
-
143
- @pytest.fixture
144
- def base_type(code_model):
145
- return StringType({"type": "string"}, code_model)
146
-
147
-
148
- def test_success_with_body_and_fail_no_body(code_model, operation, base_type):
149
- operation.responses = [
150
- Response(
151
- yaml_data={"statusCodes": [200]},
152
- code_model=code_model,
153
- headers=[],
154
- type=base_type,
155
- ),
156
- Response(
157
- yaml_data={"statusCodes": [202]},
158
- code_model=code_model,
159
- headers=[],
160
- type=base_type,
161
- ),
162
- ]
163
- operation.exceptions = [
164
- Response(
165
- yaml_data={"statusCodes": ["default"]},
166
- code_model=code_model,
167
- headers=[],
168
- type=None,
169
- )
170
- ]
171
-
172
- assert operation.has_optional_return_type is False
173
-
174
-
175
- def test_success_no_body_fail_with_body(code_model, operation, base_type):
176
- operation.responses = [
177
- Response(
178
- yaml_data={"statusCodes": [200]},
179
- code_model=code_model,
180
- headers=[],
181
- type=None,
182
- )
183
- ]
184
- operation.exceptions = [
185
- Response(
186
- yaml_data={"statusCodes": ["default"]},
187
- code_model=code_model,
188
- headers=[],
189
- type=base_type,
190
- )
191
- ]
192
-
193
- assert operation.has_optional_return_type is False
194
-
195
-
196
- def test_optional_return_type_operation(code_model, operation, base_type):
197
- operation.responses = [
198
- Response(
199
- yaml_data={"statusCodes": [200]},
200
- code_model=code_model,
201
- headers=[],
202
- type=base_type,
203
- ),
204
- Response(
205
- yaml_data={"statusCodes": [202]},
206
- code_model=code_model,
207
- headers=[],
208
- type=None,
209
- ),
210
- Response(
211
- yaml_data={"statusCodes": ["default"]},
212
- code_model=code_model,
213
- headers=[],
214
- type=base_type,
215
- ),
216
- ]
217
-
218
- assert operation.has_optional_return_type is True
219
-
220
-
221
- def test_lro_operation(code_model, lro_operation, base_type):
222
- lro_operation.responses = [
223
- Response(
224
- yaml_data={"statusCodes": [200]},
225
- code_model=code_model,
226
- headers=[],
227
- type=base_type,
228
- ),
229
- Response(
230
- yaml_data={"statusCodes": [202]},
231
- code_model=code_model,
232
- headers=[],
233
- type=None,
234
- ),
235
- Response(
236
- yaml_data={"statusCodes": ["default"]},
237
- code_model=code_model,
238
- headers=[],
239
- type=base_type,
240
- ),
241
- ]
242
-
243
- assert lro_operation.has_optional_return_type is False
244
-
245
-
246
- def test_paging_operation(code_model, paging_operation, base_type):
247
- paging_operation.responses = [
248
- Response(
249
- yaml_data={"statusCodes": [200]},
250
- code_model=code_model,
251
- headers=[],
252
- type=base_type,
253
- ),
254
- Response(
255
- yaml_data={"statusCodes": [202]},
256
- code_model=code_model,
257
- headers=[],
258
- type=None,
259
- ),
260
- Response(
261
- yaml_data={"statusCodes": ["default"]},
262
- code_model=code_model,
263
- headers=[],
264
- type=base_type,
265
- ),
266
- ]
267
-
268
- assert paging_operation.has_optional_return_type is False
@@ -1,104 +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 pygen.codegen.models import Parameter, AnyType, CodeModel, StringType
7
- from pygen.codegen.models.parameter_list import ParameterList
8
-
9
-
10
- def get_code_model():
11
- return CodeModel(
12
- {
13
- "clients": [
14
- {
15
- "name": "client",
16
- "namespace": "blah",
17
- "moduleName": "blah",
18
- "parameters": [],
19
- "url": "",
20
- "operationGroups": [],
21
- }
22
- ],
23
- "namespace": "namespace",
24
- },
25
- options={
26
- "show-send-request": True,
27
- "builders-visibility": "public",
28
- "show-operations": True,
29
- "models-mode": "dpg",
30
- "only-path-and-body-params-positional": True,
31
- },
32
- )
33
-
34
-
35
- def get_parameter(name, required, default_value=None, type=None):
36
- if not type:
37
- type = AnyType(
38
- yaml_data={"type": "any"},
39
- code_model=get_code_model(),
40
- )
41
-
42
- return Parameter(
43
- yaml_data={
44
- "wireName": name,
45
- "clientName": name,
46
- "location": "path",
47
- "clientDefaultValue": default_value,
48
- "optional": not required,
49
- "implementation": "Method",
50
- "inOverload": False,
51
- "inOverloaded": False,
52
- },
53
- code_model=get_code_model(),
54
- type=type,
55
- )
56
-
57
-
58
- def test_sort_parameters_with_default_value_from_schema():
59
- type = StringType(
60
- yaml_data={"clientDefaultValue": "this_is_the_default", "type": "str"},
61
- code_model=get_code_model(),
62
- )
63
- parameter_with_default_schema_value_required = get_parameter(
64
- name="required_param_with_schema_default", required=True, type=type
65
- )
66
- required_parameter = get_parameter(name="required_parameter", required=True)
67
-
68
- parameter_list = [parameter_with_default_schema_value_required, required_parameter]
69
-
70
- assert [
71
- required_parameter,
72
- parameter_with_default_schema_value_required,
73
- ] == ParameterList({}, get_code_model(), parameter_list).method
74
-
75
-
76
- def test_sort_required_parameters():
77
- required_default_value_parameter = get_parameter(
78
- name="required_default_value_parameter", required=True, default_value="hello"
79
- )
80
- required_parameter = get_parameter(name="required_parameter", required=True)
81
-
82
- parameter_list = [required_parameter, required_default_value_parameter]
83
-
84
- assert [required_parameter, required_default_value_parameter] == ParameterList(
85
- {}, get_code_model(), parameter_list
86
- ).method
87
-
88
- # switch around ordering to confirm
89
-
90
- parameter_list = [required_default_value_parameter, required_parameter]
91
-
92
- assert [required_parameter, required_default_value_parameter] == ParameterList(
93
- {}, get_code_model(), parameter_list
94
- ).method
95
-
96
-
97
- def test_sort_required_and_non_required_parameters():
98
- required_parameter = get_parameter(name="required_parameter", required=True)
99
-
100
- optional_parameter = get_parameter(name="optional_parameter", required=False)
101
-
102
- parameter_list = [optional_parameter, required_parameter]
103
-
104
- assert [required_parameter, optional_parameter] == ParameterList({}, get_code_model(), parameter_list).method
@@ -1,93 +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
-
7
- from pygen.codegen.models import CodeModel, DPGModelType
8
-
9
-
10
- def get_code_model():
11
- return CodeModel(
12
- {
13
- "clients": [
14
- {
15
- "name": "client",
16
- "namespace": "blah",
17
- "moduleName": "blah",
18
- "parameters": [],
19
- "url": "",
20
- "operationGroups": [],
21
- }
22
- ],
23
- "namespace": "namespace",
24
- },
25
- options={
26
- "show-send-request": True,
27
- "builders-visibility": "public",
28
- "show-operations": True,
29
- "models-mode": "dpg",
30
- },
31
- )
32
-
33
-
34
- def get_object_schema(name, base_models):
35
- return DPGModelType(
36
- yaml_data={"name": name, "type": "model", "snakeCaseName": name},
37
- code_model=get_code_model(),
38
- parents=base_models,
39
- )
40
-
41
-
42
- def test_pet_cat_kitten_horse_wood():
43
- """Horse -> Pet <- Cat <- Kitten, Wood"""
44
- code_model = get_code_model()
45
- pet = get_object_schema("Pet", None)
46
- horse = get_object_schema("Horse", [pet])
47
- cat = get_object_schema("Cat", [pet])
48
- kitten = get_object_schema("Kitten", [cat])
49
- wood = get_object_schema("Wood", None)
50
- code_model.model_types = [wood, horse, cat, pet, kitten]
51
- code_model.sort_model_types()
52
- sorted_model_types = code_model.model_types
53
- # assert pet is before cat
54
- assert sorted_model_types.index(pet) < sorted_model_types.index(cat)
55
- # assert pet is before horse
56
- assert sorted_model_types.index(pet) < sorted_model_types.index(horse)
57
- # assert cat is before kitten
58
- assert sorted_model_types.index(cat) < sorted_model_types.index(kitten)
59
- # assert wood in list
60
- assert wood in sorted_model_types
61
-
62
-
63
- def test_multiple_inheritance():
64
- """CarbonObject <- Person <- Teacher -> Employee, Person <- Kid
65
- |
66
- ObjectOnEarth
67
- """
68
- code_model = get_code_model()
69
- carbon_object = get_object_schema("CarbonObject", [])
70
- object_on_earth = get_object_schema("ObjectOnEarth", [])
71
- person = get_object_schema("Person", [carbon_object, object_on_earth])
72
- employee = get_object_schema("Employee", [])
73
- teacher = get_object_schema("Teacher", [person, employee])
74
- kid = get_object_schema("Kid", [person])
75
-
76
- code_model.model_types = [
77
- kid,
78
- person,
79
- teacher,
80
- carbon_object,
81
- employee,
82
- object_on_earth,
83
- ]
84
- code_model.sort_model_types()
85
- sorted_model_types = code_model.model_types
86
- # assert carbon object and object on earth is in front of person
87
- assert sorted_model_types.index(carbon_object) < sorted_model_types.index(person)
88
- assert sorted_model_types.index(object_on_earth) < sorted_model_types.index(person)
89
- # assert person and employee are in front of teacher
90
- assert sorted_model_types.index(person) < sorted_model_types.index(teacher)
91
- assert sorted_model_types.index(employee) < sorted_model_types.index(teacher)
92
- # assert person is before kid
93
- assert sorted_model_types.index(person) < sorted_model_types.index(kid)
@@ -1,5 +0,0 @@
1
- [testenv:ci]
2
- deps=
3
- -r requirements.txt
4
- commands =
5
- pytest
File without changes
File without changes