@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,58 +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 specs.azure.clientgenerator.core.clientinitialization.default.aio import (
8
- HeaderParamClient,
9
- MultipleParamsClient,
10
- MixedParamsClient,
11
- PathParamClient,
12
- ParamAliasClient,
13
- )
14
- from specs.azure.clientgenerator.core.clientinitialization.default.models import Input
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_header_param_client():
19
- async with HeaderParamClient("test-name-value") as client:
20
- await client.with_query(id="test-id")
21
- await client.with_body(Input(name="test-name"))
22
-
23
-
24
- @pytest.mark.asyncio
25
- async def test_multiple_params_client():
26
- async with MultipleParamsClient("test-name-value", "us-west") as client:
27
- await client.with_query(id="test-id")
28
- await client.with_body(Input(name="test-name"))
29
-
30
-
31
- @pytest.mark.asyncio
32
- async def test_mixed_params_client():
33
- async with MixedParamsClient("test-name-value") as client:
34
- await client.with_query(region="us-west", id="test-id")
35
- await client.with_body(Input(name="test-name"), region="us-west")
36
-
37
-
38
- @pytest.mark.asyncio
39
- async def test_path_param_client():
40
- async with PathParamClient("sample-blob") as client:
41
- await client.with_query(format="text")
42
- await client.get_standalone()
43
- await client.delete_standalone()
44
-
45
-
46
- @pytest.mark.asyncio
47
- async def test_param_alias_client():
48
- async with ParamAliasClient("sample-blob") as client:
49
- await client.with_aliased_name()
50
- await client.with_original_name()
51
-
52
-
53
- # @pytest.mark.asyncio
54
- # async def test_parent_child_client():
55
- # async with ParentClient() as client:
56
- # await client.child_client.with_query()
57
- # await client.child_client.get_standalone()
58
- # await client.child_client.delete_standalone()
@@ -1,82 +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 specs.azure.clientgenerator.core.clientlocation.parameter.aio import MoveMethodParameterToClient
8
- from specs.azure.clientgenerator.core.clientlocation.subclient.aio import MoveToExistingSubClient
9
- from specs.azure.clientgenerator.core.clientlocation.newsubclient.aio import MoveToNewSubClient
10
- from specs.azure.clientgenerator.core.clientlocation.rootclient.aio import MoveToRootClient
11
-
12
-
13
- @pytest.fixture
14
- async def move_method_parameter_to_client():
15
- async with MoveMethodParameterToClient(storage_account="testaccount") as client:
16
- yield client
17
-
18
-
19
- @pytest.fixture
20
- async def move_to_existing_sub_client():
21
- async with MoveToExistingSubClient() as client:
22
- yield client
23
-
24
-
25
- @pytest.fixture
26
- async def move_to_new_sub_client():
27
- async with MoveToNewSubClient() as client:
28
- yield client
29
-
30
-
31
- @pytest.fixture
32
- async def move_to_root_client():
33
- async with MoveToRootClient() as client:
34
- yield client
35
-
36
-
37
- @pytest.mark.asyncio
38
- async def test_move_method_parameter_to_client_blob_operations_get_blob(
39
- move_method_parameter_to_client: MoveMethodParameterToClient,
40
- ):
41
- await move_method_parameter_to_client.blob_operations.get_blob(container="testcontainer", blob="testblob.txt")
42
-
43
-
44
- @pytest.mark.asyncio
45
- async def test_move_to_existing_sub_client_user_operations_get_user(
46
- move_to_existing_sub_client: MoveToExistingSubClient,
47
- ):
48
- await move_to_existing_sub_client.user_operations.get_user()
49
-
50
-
51
- @pytest.mark.asyncio
52
- async def test_move_to_existing_sub_client_admin_operations_delete_user(
53
- move_to_existing_sub_client: MoveToExistingSubClient,
54
- ):
55
- await move_to_existing_sub_client.admin_operations.delete_user()
56
-
57
-
58
- @pytest.mark.asyncio
59
- async def test_move_to_existing_sub_client_admin_operations_get_admin_info(
60
- move_to_existing_sub_client: MoveToExistingSubClient,
61
- ):
62
- await move_to_existing_sub_client.admin_operations.get_admin_info()
63
-
64
-
65
- @pytest.mark.asyncio
66
- async def test_move_to_new_sub_client_product_operations_list_products(move_to_new_sub_client: MoveToNewSubClient):
67
- await move_to_new_sub_client.product_operations.list_products()
68
-
69
-
70
- @pytest.mark.asyncio
71
- async def test_move_to_new_sub_client_archive_operations_archive_product(move_to_new_sub_client: MoveToNewSubClient):
72
- await move_to_new_sub_client.archive_operations.archive_product()
73
-
74
-
75
- @pytest.mark.asyncio
76
- async def test_move_to_root_client_resource_operations_get_resource(move_to_root_client: MoveToRootClient):
77
- await move_to_root_client.resource_operations.get_resource()
78
-
79
-
80
- @pytest.mark.asyncio
81
- async def test_move_to_root_client_get_health_status(move_to_root_client: MoveToRootClient):
82
- await move_to_root_client.get_health_status()
@@ -1,20 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from specs.azure.clientgenerator.core.emptystring.aio import DeserializeEmptyStringAsNullClient
8
- from specs.azure.clientgenerator.core.emptystring import models
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with DeserializeEmptyStringAsNullClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_get(client: DeserializeEmptyStringAsNullClient):
19
- result = await client.get()
20
- assert result == models.ResponseModel(sample_url="")
@@ -1,115 +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 specs.azure.clientgenerator.core.flattenproperty.aio import FlattenPropertyClient
8
- from specs.azure.clientgenerator.core.flattenproperty.models import (
9
- ChildFlattenModel,
10
- ChildModel,
11
- FlattenModel,
12
- FlattenUnknownModel,
13
- NestedFlattenModel,
14
- Solution,
15
- SolutionProperties,
16
- )
17
-
18
-
19
- @pytest.fixture
20
- async def client():
21
- async with FlattenPropertyClient() as client:
22
- yield client
23
-
24
-
25
- # ========== test for spector ==========
26
-
27
-
28
- @pytest.mark.asyncio
29
- async def test_put_flatten_model(client: FlattenPropertyClient):
30
- resp = FlattenModel(name="test", properties=ChildModel(age=1, description="test"))
31
- assert (
32
- await client.put_flatten_model(FlattenModel(name="foo", properties=ChildModel(age=10, description="bar")))
33
- == resp
34
- )
35
- assert await client.put_flatten_model(FlattenModel(name="foo", age=10, description="bar")) == resp
36
-
37
-
38
- @pytest.mark.asyncio
39
- async def test_put_nested_flatten_model(client: FlattenPropertyClient):
40
- # python doesn't support nested flatten model
41
- assert await client.put_nested_flatten_model(
42
- NestedFlattenModel(
43
- name="foo",
44
- properties=ChildFlattenModel(summary="bar", properties=ChildModel(age=10, description="test")),
45
- )
46
- ) == NestedFlattenModel(
47
- name="test",
48
- properties=ChildFlattenModel(summary="test", properties=ChildModel(age=1, description="foo")),
49
- )
50
-
51
-
52
- @pytest.mark.asyncio
53
- async def test_put_flatten_unknown_model(client: FlattenPropertyClient):
54
- result = await client.put_flatten_unknown_model(FlattenUnknownModel(name="foo"))
55
- assert result.name == "test"
56
- assert result.properties == {"key1": "value1", "key2": "value2"}
57
-
58
-
59
- @pytest.mark.asyncio
60
- async def test_put_flatten_read_only_model(client: FlattenPropertyClient):
61
- result = await client.put_flatten_read_only_model(Solution(name="foo"))
62
- assert result == Solution(
63
- name="foo",
64
- properties=SolutionProperties(solution_id="solution1", title="Solution Title", content="Solution Content"),
65
- )
66
- assert result.solution_id == "solution1"
67
- assert result.title == "Solution Title"
68
- assert result.content == "Solution Content"
69
-
70
-
71
- @pytest.mark.asyncio # ============test for compatibility ============
72
- async def test_dpg_model_common():
73
- flatten_model = FlattenModel(name="hello", properties=ChildModel(age=0, description="test"))
74
- assert flatten_model.name == "hello"
75
- assert flatten_model.properties.age == 0
76
- assert flatten_model.properties.description == "test"
77
-
78
-
79
- @pytest.mark.asyncio
80
- async def test_dpg_model_none():
81
- flatten_model = FlattenModel()
82
- assert flatten_model.name is None
83
- assert flatten_model.properties is None
84
- assert flatten_model.age is None
85
- assert flatten_model.description is None
86
-
87
-
88
- @pytest.mark.asyncio
89
- async def test_dpg_model_compatibility():
90
- flatten_model = FlattenModel(description="test", age=0)
91
- assert flatten_model.description == "test"
92
- assert flatten_model.age == 0
93
- assert flatten_model.properties.description == "test"
94
- assert flatten_model.properties.age == 0
95
-
96
-
97
- @pytest.mark.asyncio
98
- async def test_dpg_model_setattr():
99
- flatten_model = FlattenModel()
100
-
101
- flatten_model.age = 0
102
- assert flatten_model.properties.age == 0
103
- flatten_model.description = "test"
104
- assert flatten_model.properties.description == "test"
105
-
106
- flatten_model.properties.age = 1
107
- assert flatten_model.age == 1
108
- flatten_model.properties.description = "test2"
109
- assert flatten_model.description == "test2"
110
-
111
-
112
- @pytest.mark.asyncio
113
- async def test_dpg_model_exception():
114
- with pytest.raises(AttributeError):
115
- FlattenModel().no_prop
@@ -1,53 +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 specs.azure.clientgenerator.core.hierarchybuilding.aio import HierarchyBuildingClient
8
- from specs.azure.clientgenerator.core.hierarchybuilding.models import (
9
- Pet,
10
- Dog,
11
- )
12
-
13
-
14
- @pytest.fixture
15
- async def client():
16
- async with HierarchyBuildingClient() as client:
17
- yield client
18
-
19
-
20
- # ========== test for spector ==========
21
-
22
-
23
- @pytest.mark.asyncio
24
- async def test_update_pet_as_pet(client: HierarchyBuildingClient):
25
- resp = Pet(name="Buddy", trained=True)
26
- assert await client.pet_operations.update_pet_as_pet(Pet(name="Buddy", trained=True)) == resp
27
-
28
-
29
- @pytest.mark.asyncio
30
- async def test_update_dog_as_pet(client: HierarchyBuildingClient):
31
- resp = Dog(name="Rex", trained=True, breed="German Shepherd")
32
- assert await client.pet_operations.update_dog_as_pet(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
33
-
34
-
35
- @pytest.mark.asyncio
36
- async def test_update_pet_as_animal(client: HierarchyBuildingClient):
37
- resp = Pet(name="Buddy", trained=True)
38
- assert await client.animal_operations.update_pet_as_animal(Pet(name="Buddy", trained=True)) == resp
39
-
40
-
41
- @pytest.mark.asyncio
42
- async def test_update_dog_as_animal(client: HierarchyBuildingClient):
43
- resp = Dog(name="Rex", trained=True, breed="German Shepherd")
44
- assert (
45
- await client.animal_operations.update_dog_as_animal(Dog(name="Rex", trained=True, breed="German Shepherd"))
46
- == resp
47
- )
48
-
49
-
50
- @pytest.mark.asyncio
51
- async def test_update_dog_as_dog(client: HierarchyBuildingClient):
52
- resp = Dog(name="Rex", trained=True, breed="German Shepherd")
53
- assert await client.dog_operations.update_dog_as_dog(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
@@ -1,28 +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
-
8
- from specs.azure.clientgenerator.core.nextlinkverb.aio import NextLinkVerbClient
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with NextLinkVerbClient(endpoint="http://localhost:3000") as client:
14
- yield client
15
-
16
-
17
- def assert_items(items):
18
- assert len(items) == 2
19
- assert items[0].id == "test1"
20
- assert items[1].id == "test2"
21
-
22
-
23
- @pytest.mark.asyncio
24
- async def test_list_items_next_link_verb(client: NextLinkVerbClient):
25
- # The operation uses POST for nextLink per @nextLinkVerb
26
- pager = client.list_items()
27
- items = [item async for item in pager]
28
- assert_items(items)
@@ -1,106 +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 inspect
7
- import pytest
8
- from specs.azure.clientgenerator.core.override.aio import OverrideClient
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with OverrideClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_reorder_parameters(client: OverrideClient):
19
- await client.reorder_parameters.reorder("param1", "param2")
20
-
21
-
22
- @pytest.mark.asyncio
23
- async def test_group_parameters(client: OverrideClient):
24
- await client.group_parameters.group(param1="param1", param2="param2")
25
-
26
-
27
- @pytest.mark.asyncio
28
- async def test_require_optional_parameter(client: OverrideClient):
29
- await client.require_optional_parameter.require_optional("param1", "param2")
30
-
31
-
32
- @pytest.mark.asyncio
33
- async def test_remove_optional_parameter(client: OverrideClient):
34
- # Test with optional param2 provided
35
- await client.remove_optional_parameter.remove_optional("param1", param2="param2")
36
-
37
-
38
- def test_reorder_parameters_unit_async(client: OverrideClient):
39
- # make sure signature name of `reorder_parameters` are ["param1", "param2"]
40
- # Get the reorder method from the reorder_parameters operation
41
- reorder_method = client.reorder_parameters.reorder
42
-
43
- # Inspect the method signature
44
- sig = inspect.signature(reorder_method)
45
-
46
- # Get parameter names excluding 'self' and '**kwargs'
47
- param_names = [
48
- param_name
49
- for param_name, param in sig.parameters.items()
50
- if param_name not in ("self", "kwargs") and param.kind != param.VAR_KEYWORD
51
- ]
52
-
53
- # Assert that the parameter names are exactly ["param1", "param2"]
54
- assert param_names == ["param1", "param2"], f"Expected parameter names ['param1', 'param2'], but got {param_names}"
55
-
56
-
57
- def test_require_optional_parameter_signature(client: OverrideClient):
58
- # Get the require_optional method
59
- require_optional_method = client.require_optional_parameter.require_optional
60
-
61
- # Inspect the method signature
62
- sig = inspect.signature(require_optional_method)
63
-
64
- # Get parameter details
65
- params = sig.parameters
66
-
67
- # Check that both param1 and param2 are required (no default values)
68
- assert "param1" in params, "param1 should be present in signature"
69
- assert "param2" in params, "param2 should be present in signature"
70
- assert params["param1"].default == params["param1"].empty, "param1 should have no default value"
71
- assert params["param2"].default == params["param2"].empty, "param2 should have no default value"
72
-
73
-
74
- def test_remove_optional_parameter_signature(client: OverrideClient):
75
- """Test that remove_optional_parameter.remove_optional method signature has correct parameters.
76
-
77
- The @override decorator should remove some optional parameters from the method signature.
78
- Only param1 (required) and param2 (optional) should remain.
79
- """
80
- # Get the remove_optional method
81
- remove_optional_method = client.remove_optional_parameter.remove_optional
82
-
83
- # Inspect the method signature
84
- sig = inspect.signature(remove_optional_method)
85
-
86
- # Get parameter names excluding 'self' and '**kwargs'
87
- param_names = [
88
- param_name
89
- for param_name, param in sig.parameters.items()
90
- if param_name not in ("self", "kwargs") and param.kind != param.VAR_KEYWORD
91
- ]
92
-
93
- # Should have param1 (required) and param2 (keyword-only optional)
94
- assert "param1" in param_names, "param1 should be present in signature"
95
- assert "param2" in sig.parameters, "param2 should be present in signature"
96
-
97
- # param1 should be required (positional)
98
- assert sig.parameters["param1"].default == sig.parameters["param1"].empty, "param1 should have no default value"
99
-
100
- # param2 should be optional keyword-only with None default
101
- assert sig.parameters["param2"].kind == sig.parameters["param2"].KEYWORD_ONLY, "param2 should be keyword-only"
102
- assert sig.parameters["param2"].default is None, "param2 should have None as default value"
103
-
104
- # param3 and param4 should be removed
105
- assert "param3" not in param_names, "param3 should not be present in signature"
106
- assert "param4" not in param_names, "param4 should not be present in signature"
@@ -1,38 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from specs.azure.clientgenerator.core.usage.aio import UsageClient
8
- from specs.azure.clientgenerator.core.usage import models
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with UsageClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_input_to_input_output(client: UsageClient):
19
- await client.model_in_operation.input_to_input_output(models.InputModel(name="Madge"))
20
-
21
-
22
- @pytest.mark.asyncio
23
- async def test_output_to_input_output(client: UsageClient):
24
- assert models.OutputModel(name="Madge") == await client.model_in_operation.output_to_input_output()
25
-
26
-
27
- @pytest.mark.asyncio
28
- async def test_model_usage(client: UsageClient):
29
- assert models.RoundTripModel(
30
- result=models.ResultModel(name="Madge")
31
- ) == await client.model_in_operation.model_in_read_only_property(body=models.RoundTripModel())
32
-
33
-
34
- @pytest.mark.asyncio
35
- async def test_orphan_model_serializable(client: UsageClient):
36
- await client.model_in_operation.orphan_model_serializable(
37
- body=models.OrphanModel(model_name="name", description="desc")
38
- )
@@ -1,76 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from specs.azure.core.basic import models, aio
8
-
9
- VALID_USER = models.User(id=1, name="Madge", etag="11bdc430-65e8-45ad-81d9-8ffa60d55b59")
10
-
11
-
12
- @pytest.fixture
13
- async def client():
14
- async with aio.BasicClient() as client:
15
- yield client
16
-
17
-
18
- @pytest.mark.asyncio
19
- async def test_create_or_update(client: aio.BasicClient):
20
- result = await client.create_or_update(id=1, resource={"name": "Madge"})
21
- assert result == VALID_USER
22
-
23
-
24
- @pytest.mark.asyncio
25
- async def test_create_or_replace(client: aio.BasicClient):
26
- result = await client.create_or_replace(id=1, resource={"name": "Madge"})
27
- assert result == VALID_USER
28
-
29
-
30
- @pytest.mark.asyncio
31
- async def test_get(client: aio.BasicClient):
32
- result = await client.get(id=1)
33
- assert result == VALID_USER
34
-
35
-
36
- @pytest.mark.asyncio
37
- async def test_list(client: aio.BasicClient):
38
- result = client.list(
39
- top=5,
40
- skip=10,
41
- orderby=["id"],
42
- filter="id lt 10",
43
- select=["id", "orders", "etag"],
44
- expand=["orders"],
45
- )
46
- result = [item async for item in result]
47
- assert len(result) == 2
48
- assert result[0].id == 1
49
- assert result[0].name == "Madge"
50
- assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
51
- assert result[0].orders[0].id == 1
52
- assert result[0].orders[0].user_id == 1
53
- assert result[0].orders[0].detail == "a recorder"
54
- assert result[1].id == 2
55
- assert result[1].name == "John"
56
- assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b5a"
57
- assert result[1].orders[0].id == 2
58
- assert result[1].orders[0].user_id == 2
59
- assert result[1].orders[0].detail == "a TV"
60
-
61
-
62
- @pytest.mark.asyncio
63
- async def test_delete(client: aio.BasicClient):
64
- await client.delete(id=1)
65
-
66
-
67
- @pytest.mark.asyncio
68
- async def test_export(client: aio.BasicClient):
69
- result = await client.export(id=1, format="json")
70
- assert result == VALID_USER
71
-
72
-
73
- @pytest.mark.asyncio
74
- async def test_export_all_users(client: aio.BasicClient):
75
- result = await client.export_all_users(format="json")
76
- assert result.users[0] == VALID_USER
@@ -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 specs.azure.core.lro.rpc.aio import RpcClient
8
- from specs.azure.core.lro.rpc import models
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with RpcClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_long_running_rpc(client: RpcClient, async_polling_method):
19
- result = await client.begin_long_running_rpc(
20
- models.GenerationOptions(prompt="text"), polling_interval=0, polling=async_polling_method
21
- )
22
- assert (await result.result()) == models.GenerationResult(data="text data")
@@ -1,39 +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 specs.azure.core.lro.standard.aio import StandardClient
8
- from specs.azure.core.lro.standard.models import User, ExportedUser
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with StandardClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_lro_core_put(client, async_polling_method):
19
- user = User({"name": "madge", "role": "contributor"})
20
- result = await (
21
- await client.begin_create_or_replace(
22
- name=user.name, resource=user, polling_interval=0, polling=async_polling_method
23
- )
24
- ).result()
25
- assert result == user
26
-
27
-
28
- @pytest.mark.asyncio
29
- async def test_lro_core_delete(client, async_polling_method):
30
- await (await client.begin_delete(name="madge", polling_interval=0, polling=async_polling_method)).result()
31
-
32
-
33
- @pytest.mark.asyncio
34
- async def test_lro_core_export(client, async_polling_method):
35
- export_user = ExportedUser({"name": "madge", "resourceUri": "/users/madge"})
36
- result = await (
37
- await client.begin_export(name="madge", format="json", polling_interval=0, polling=async_polling_method)
38
- ).result()
39
- assert result == export_user
@@ -1,33 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from specs.azure.core.model.aio import ModelClient
8
- from specs.azure.core.model.models import AzureEmbeddingModel
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with ModelClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_azure_core_embedding_vector_post(client: ModelClient):
19
- embedding_model = AzureEmbeddingModel(embedding=[0, 1, 2, 3, 4])
20
- result = await client.azure_core_embedding_vector.post(
21
- body=embedding_model,
22
- )
23
- assert result == AzureEmbeddingModel(embedding=[5, 6, 7, 8, 9])
24
-
25
-
26
- @pytest.mark.asyncio
27
- async def test_azure_core_embedding_vector_put(client: ModelClient):
28
- await client.azure_core_embedding_vector.put(body=[0, 1, 2, 3, 4])
29
-
30
-
31
- @pytest.mark.asyncio
32
- async def test_azure_core_embedding_vector_get(client: ModelClient):
33
- assert [0, 1, 2, 3, 4] == (await client.azure_core_embedding_vector.get())