@typespec/http-client-python 0.28.1 → 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 (311) 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/models/operation.py +9 -8
  57. package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +157 -64
  58. package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
  59. package/generator/pygen/codegen/models/operation.py +9 -8
  60. package/generator/pygen/codegen/templates/model_base.py.jinja2 +157 -64
  61. package/package.json +48 -42
  62. package/eng/scripts/ci/run-ci.ts +0 -89
  63. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +0 -94
  64. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +0 -30
  65. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +0 -36
  66. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +0 -205
  67. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_resource_async.py +0 -478
  68. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_access_async.py +0 -101
  69. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_header_async.py +0 -18
  70. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_path_async.py +0 -18
  71. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_query_async.py +0 -18
  72. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +0 -46
  73. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +0 -58
  74. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +0 -82
  75. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +0 -20
  76. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_flatten_async.py +0 -115
  77. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_hierrarchy_building_async.py +0 -53
  78. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_next_link_verb_async.py +0 -28
  79. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_override_async.py +0 -106
  80. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +0 -38
  81. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_basic_async.py +0 -76
  82. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +0 -22
  83. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py +0 -39
  84. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_model_async.py +0 -33
  85. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +0 -80
  86. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_scalar_async.py +0 -41
  87. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_traits_async.py +0 -87
  88. package/generator/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +0 -19
  89. package/generator/test/azure/mock_api_tests/asynctests/test_azure_example_basic_async.py +0 -30
  90. package/generator/test/azure/mock_api_tests/asynctests/test_azure_payload_pageable_async.py +0 -19
  91. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_method_subscription_id_async.py +0 -248
  92. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +0 -110
  93. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py +0 -132
  94. package/generator/test/azure/mock_api_tests/asynctests/test_azure_special_headers_client_request_id_async.py +0 -30
  95. package/generator/test/azure/mock_api_tests/asynctests/test_azure_versioning_previewversion_async.py +0 -53
  96. package/generator/test/azure/mock_api_tests/asynctests/test_client_namespace_async.py +0 -34
  97. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +0 -69
  98. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +0 -37
  99. package/generator/test/azure/mock_api_tests/asynctests/test_client_overload_async.py +0 -27
  100. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_async.py +0 -64
  101. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_clientoperationgroup_async.py +0 -31
  102. package/generator/test/azure/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  103. package/generator/test/azure/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  104. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  105. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  106. package/generator/test/azure/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  107. package/generator/test/azure/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -216
  108. package/generator/test/azure/mock_api_tests/asynctests/test_resiliency_srv_driven_async.py +0 -130
  109. package/generator/test/azure/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  110. package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +0 -31
  111. package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +0 -71
  112. package/generator/test/azure/mock_api_tests/conftest.py +0 -207
  113. package/generator/test/azure/mock_api_tests/data/image.jpg +0 -0
  114. package/generator/test/azure/mock_api_tests/data/image.png +0 -0
  115. package/generator/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +0 -89
  116. package/generator/test/azure/mock_api_tests/test_azure_arm_largeheader.py +0 -27
  117. package/generator/test/azure/mock_api_tests/test_azure_arm_nonresource.py +0 -34
  118. package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +0 -180
  119. package/generator/test/azure/mock_api_tests/test_azure_arm_resource.py +0 -436
  120. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_access.py +0 -92
  121. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_header.py +0 -17
  122. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_path.py +0 -17
  123. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_query.py +0 -17
  124. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +0 -42
  125. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +0 -51
  126. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +0 -70
  127. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +0 -19
  128. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_flatten.py +0 -104
  129. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py +0 -45
  130. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py +0 -27
  131. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_override.py +0 -102
  132. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +0 -32
  133. package/generator/test/azure/mock_api_tests/test_azure_core_basic.py +0 -70
  134. package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +0 -20
  135. package/generator/test/azure/mock_api_tests/test_azure_core_lro_standard.py +0 -32
  136. package/generator/test/azure/mock_api_tests/test_azure_core_model.py +0 -30
  137. package/generator/test/azure/mock_api_tests/test_azure_core_page.py +0 -71
  138. package/generator/test/azure/mock_api_tests/test_azure_core_scalar.py +0 -35
  139. package/generator/test/azure/mock_api_tests/test_azure_core_traits.py +0 -85
  140. package/generator/test/azure/mock_api_tests/test_azure_encode_duration.py +0 -18
  141. package/generator/test/azure/mock_api_tests/test_azure_example_basic.py +0 -29
  142. package/generator/test/azure/mock_api_tests/test_azure_payload_pageable.py +0 -18
  143. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py +0 -235
  144. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +0 -104
  145. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py +0 -128
  146. package/generator/test/azure/mock_api_tests/test_azure_special_headers_client_request_id.py +0 -29
  147. package/generator/test/azure/mock_api_tests/test_azure_versioning_previewversion.py +0 -50
  148. package/generator/test/azure/mock_api_tests/test_clear_output_folder.py +0 -23
  149. package/generator/test/azure/mock_api_tests/test_client_namespace.py +0 -32
  150. package/generator/test/azure/mock_api_tests/test_client_naming.py +0 -57
  151. package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +0 -35
  152. package/generator/test/azure/mock_api_tests/test_client_overload.py +0 -25
  153. package/generator/test/azure/mock_api_tests/test_client_structure.py +0 -60
  154. package/generator/test/azure/mock_api_tests/test_client_structure_clientoperationgroup.py +0 -29
  155. package/generator/test/azure/mock_api_tests/test_encode_duration.py +0 -60
  156. package/generator/test/azure/mock_api_tests/test_encode_numeric.py +0 -31
  157. package/generator/test/azure/mock_api_tests/test_model_base_flatten_compatibility.py +0 -251
  158. package/generator/test/azure/mock_api_tests/test_parameters_basic.py +0 -22
  159. package/generator/test/azure/mock_api_tests/test_parameters_spread.py +0 -66
  160. package/generator/test/azure/mock_api_tests/test_payload_content_negotiation.py +0 -33
  161. package/generator/test/azure/mock_api_tests/test_payload_multipart.py +0 -198
  162. package/generator/test/azure/mock_api_tests/test_resiliency_srv_driven.py +0 -124
  163. package/generator/test/azure/mock_api_tests/test_serialization_encoded_name_json.py +0 -21
  164. package/generator/test/azure/mock_api_tests/test_service_multi_service.py +0 -29
  165. package/generator/test/azure/mock_api_tests/test_special_words.py +0 -63
  166. package/generator/test/azure/requirements.txt +0 -125
  167. package/generator/test/azure/tox.ini +0 -64
  168. package/generator/test/data/image.jpg +0 -0
  169. package/generator/test/data/image.png +0 -0
  170. package/generator/test/dev_requirements.txt +0 -8
  171. package/generator/test/generic_mock_api_tests/asynctests/test_authentication_async.py +0 -140
  172. package/generator/test/generic_mock_api_tests/asynctests/test_encode_array_async.py +0 -139
  173. package/generator/test/generic_mock_api_tests/asynctests/test_encode_bytes_async.py +0 -132
  174. package/generator/test/generic_mock_api_tests/asynctests/test_encode_datetime_async.py +0 -127
  175. package/generator/test/generic_mock_api_tests/asynctests/test_headasboolean_async.py +0 -35
  176. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_body_optionality_async.py +0 -30
  177. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_collection_format_async.py +0 -38
  178. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +0 -24
  179. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +0 -18
  180. package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +0 -98
  181. package/generator/test/generic_mock_api_tests/asynctests/test_payload_media_type_async.py +0 -27
  182. package/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +0 -134
  183. package/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +0 -150
  184. package/generator/test/generic_mock_api_tests/asynctests/test_response_status_code_range_async.py +0 -38
  185. package/generator/test/generic_mock_api_tests/asynctests/test_routes_async.py +0 -331
  186. package/generator/test/generic_mock_api_tests/asynctests/test_server_endpoint_not_defined_async.py +0 -18
  187. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_multiple_async.py +0 -25
  188. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_single_async.py +0 -18
  189. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_not_versioned_async.py +0 -28
  190. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_versioned_async.py +0 -34
  191. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_conditional_request_async.py +0 -38
  192. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_repeatability_async.py +0 -19
  193. package/generator/test/generic_mock_api_tests/asynctests/test_specs_documentation_async.py +0 -59
  194. package/generator/test/generic_mock_api_tests/asynctests/test_streaming_jsonl_async.py +0 -27
  195. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_array_async.py +0 -127
  196. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +0 -98
  197. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_extensible_async.py +0 -25
  198. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_fixed_async.py +0 -27
  199. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_file_async.py +0 -59
  200. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_empty_async.py +0 -32
  201. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_enum_discriminator_async.py +0 -70
  202. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_nested_discriminator_async.py +0 -85
  203. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_not_discriminated_async.py +0 -34
  204. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_recursive_async.py +0 -34
  205. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_single_discriminator_async.py +0 -67
  206. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_usage_async.py +0 -32
  207. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_visibility_async.py +0 -47
  208. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_additionalproperties_async.py +0 -353
  209. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_nullable_async.py +0 -110
  210. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_optional_async.py +0 -197
  211. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +0 -315
  212. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_scalar_async.py +0 -60
  213. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_union_async.py +0 -90
  214. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_added_async.py +0 -36
  215. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py +0 -21
  216. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_removed_async.py +0 -39
  217. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py +0 -29
  218. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_return_type_changed_from_async.py +0 -18
  219. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py +0 -22
  220. package/generator/test/generic_mock_api_tests/conftest.py +0 -75
  221. package/generator/test/generic_mock_api_tests/data/image.jpg +0 -0
  222. package/generator/test/generic_mock_api_tests/data/image.png +0 -0
  223. package/generator/test/generic_mock_api_tests/test_authentication.py +0 -130
  224. package/generator/test/generic_mock_api_tests/test_encode_array.py +0 -126
  225. package/generator/test/generic_mock_api_tests/test_encode_bytes.py +0 -128
  226. package/generator/test/generic_mock_api_tests/test_encode_datetime.py +0 -123
  227. package/generator/test/generic_mock_api_tests/test_headasboolean.py +0 -33
  228. package/generator/test/generic_mock_api_tests/test_parameters_body_optionality.py +0 -27
  229. package/generator/test/generic_mock_api_tests/test_parameters_collection_format.py +0 -33
  230. package/generator/test/generic_mock_api_tests/test_parameters_path.py +0 -22
  231. package/generator/test/generic_mock_api_tests/test_parameters_query.py +0 -17
  232. package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +0 -93
  233. package/generator/test/generic_mock_api_tests/test_payload_media_type.py +0 -25
  234. package/generator/test/generic_mock_api_tests/test_payload_pageable.py +0 -99
  235. package/generator/test/generic_mock_api_tests/test_payload_xml.py +0 -135
  236. package/generator/test/generic_mock_api_tests/test_response_status_code_range.py +0 -36
  237. package/generator/test/generic_mock_api_tests/test_routes.py +0 -285
  238. package/generator/test/generic_mock_api_tests/test_server_endpoint_not_defined.py +0 -17
  239. package/generator/test/generic_mock_api_tests/test_server_path_multiple.py +0 -21
  240. package/generator/test/generic_mock_api_tests/test_server_path_single.py +0 -17
  241. package/generator/test/generic_mock_api_tests/test_server_versions_not_versioned.py +0 -25
  242. package/generator/test/generic_mock_api_tests/test_server_versions_versioned.py +0 -30
  243. package/generator/test/generic_mock_api_tests/test_special_headers_conditional_request.py +0 -34
  244. package/generator/test/generic_mock_api_tests/test_special_headers_repeatability.py +0 -18
  245. package/generator/test/generic_mock_api_tests/test_specs_documentation.py +0 -51
  246. package/generator/test/generic_mock_api_tests/test_streaming_jsonl.py +0 -25
  247. package/generator/test/generic_mock_api_tests/test_typetest_array.py +0 -111
  248. package/generator/test/generic_mock_api_tests/test_typetest_dictionary.py +0 -86
  249. package/generator/test/generic_mock_api_tests/test_typetest_enum_extensible.py +0 -23
  250. package/generator/test/generic_mock_api_tests/test_typetest_enum_fixed.py +0 -25
  251. package/generator/test/generic_mock_api_tests/test_typetest_file.py +0 -52
  252. package/generator/test/generic_mock_api_tests/test_typetest_model_empty.py +0 -29
  253. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_enum_discriminator.py +0 -58
  254. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_nested_discriminator.py +0 -79
  255. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_not_discriminated.py +0 -31
  256. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_recursive.py +0 -32
  257. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_single_discriminator.py +0 -60
  258. package/generator/test/generic_mock_api_tests/test_typetest_model_usage.py +0 -28
  259. package/generator/test/generic_mock_api_tests/test_typetest_model_visibility.py +0 -40
  260. package/generator/test/generic_mock_api_tests/test_typetest_property_additionalproperties.py +0 -314
  261. package/generator/test/generic_mock_api_tests/test_typetest_property_nullable.py +0 -102
  262. package/generator/test/generic_mock_api_tests/test_typetest_property_optional.py +0 -174
  263. package/generator/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +0 -286
  264. package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -53
  265. package/generator/test/generic_mock_api_tests/test_typetest_union.py +0 -80
  266. package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +0 -290
  267. package/generator/test/generic_mock_api_tests/test_versioning_added.py +0 -33
  268. package/generator/test/generic_mock_api_tests/test_versioning_made_optional.py +0 -20
  269. package/generator/test/generic_mock_api_tests/test_versioning_removed.py +0 -37
  270. package/generator/test/generic_mock_api_tests/test_versioning_renamed_from.py +0 -27
  271. package/generator/test/generic_mock_api_tests/test_versioning_return_type_changed_from.py +0 -17
  272. package/generator/test/generic_mock_api_tests/test_versioning_type_changed_from.py +0 -21
  273. package/generator/test/unbranded/mock_api_tests/asynctests/test_auth_flow_async.py +0 -19
  274. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  275. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  276. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  277. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  278. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  279. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -218
  280. package/generator/test/unbranded/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  281. package/generator/test/unbranded/mock_api_tests/asynctests/test_special_words_async.py +0 -73
  282. package/generator/test/unbranded/mock_api_tests/asynctests/test_unbranded_async.py +0 -24
  283. package/generator/test/unbranded/mock_api_tests/conftest.py +0 -91
  284. package/generator/test/unbranded/mock_api_tests/data/image.jpg +0 -0
  285. package/generator/test/unbranded/mock_api_tests/data/image.png +0 -0
  286. package/generator/test/unbranded/mock_api_tests/test_auth_flow.py +0 -17
  287. package/generator/test/unbranded/mock_api_tests/test_encode_duration.py +0 -60
  288. package/generator/test/unbranded/mock_api_tests/test_encode_numeric.py +0 -32
  289. package/generator/test/unbranded/mock_api_tests/test_parameters_basic.py +0 -22
  290. package/generator/test/unbranded/mock_api_tests/test_parameters_spread.py +0 -66
  291. package/generator/test/unbranded/mock_api_tests/test_payload_content_negotiation.py +0 -33
  292. package/generator/test/unbranded/mock_api_tests/test_payload_multipart.py +0 -200
  293. package/generator/test/unbranded/mock_api_tests/test_serialization_encoded_name_json.py +0 -22
  294. package/generator/test/unbranded/mock_api_tests/test_special_words.py +0 -66
  295. package/generator/test/unbranded/mock_api_tests/test_unbranded.py +0 -65
  296. package/generator/test/unbranded/requirements.txt +0 -69
  297. package/generator/test/unbranded/tox.ini +0 -64
  298. package/generator/test/unittests/conftest.py +0 -15
  299. package/generator/test/unittests/requirements.txt +0 -3
  300. package/generator/test/unittests/test_enums.py +0 -89
  301. package/generator/test/unittests/test_model_base_serialization.py +0 -4906
  302. package/generator/test/unittests/test_model_base_xml_serialization.py +0 -1239
  303. package/generator/test/unittests/test_name_converter.py +0 -35
  304. package/generator/test/unittests/test_optional_return_type.py +0 -268
  305. package/generator/test/unittests/test_parameter_ordering.py +0 -104
  306. package/generator/test/unittests/test_sort_schema.py +0 -93
  307. package/generator/test/unittests/tox.ini +0 -5
  308. /package/eng/scripts/ci/{mypy.ini → config/mypy.ini} +0 -0
  309. /package/eng/scripts/ci/{pylintrc → config/pylintrc} +0 -0
  310. /package/eng/scripts/ci/{pyproject.toml → config/pyproject.toml} +0 -0
  311. /package/eng/scripts/ci/{pyrightconfig.json → config/pyrightconfig.json} +0 -0
@@ -1,70 +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 import MoveMethodParameterToClient
8
- from specs.azure.clientgenerator.core.clientlocation.subclient import MoveToExistingSubClient
9
- from specs.azure.clientgenerator.core.clientlocation.newsubclient import MoveToNewSubClient
10
- from specs.azure.clientgenerator.core.clientlocation.rootclient import MoveToRootClient
11
-
12
-
13
- @pytest.fixture
14
- def move_method_parameter_to_client():
15
- with MoveMethodParameterToClient(storage_account="testaccount") as client:
16
- yield client
17
-
18
-
19
- @pytest.fixture
20
- def move_to_existing_sub_client():
21
- with MoveToExistingSubClient() as client:
22
- yield client
23
-
24
-
25
- @pytest.fixture
26
- def move_to_new_sub_client():
27
- with MoveToNewSubClient() as client:
28
- yield client
29
-
30
-
31
- @pytest.fixture
32
- def move_to_root_client():
33
- with MoveToRootClient() as client:
34
- yield client
35
-
36
-
37
- def test_move_method_parameter_to_client_blob_operations_get_blob(
38
- move_method_parameter_to_client: MoveMethodParameterToClient,
39
- ):
40
- move_method_parameter_to_client.blob_operations.get_blob(container="testcontainer", blob="testblob.txt")
41
-
42
-
43
- def test_move_to_existing_sub_client_user_operations_get_user(move_to_existing_sub_client: MoveToExistingSubClient):
44
- move_to_existing_sub_client.user_operations.get_user()
45
-
46
-
47
- def test_move_to_existing_sub_client_admin_operations_delete_user(move_to_existing_sub_client: MoveToExistingSubClient):
48
- move_to_existing_sub_client.admin_operations.delete_user()
49
-
50
-
51
- def test_move_to_existing_sub_client_admin_operations_get_admin_info(
52
- move_to_existing_sub_client: MoveToExistingSubClient,
53
- ):
54
- move_to_existing_sub_client.admin_operations.get_admin_info()
55
-
56
-
57
- def test_move_to_new_sub_client_product_operations_list_products(move_to_new_sub_client: MoveToNewSubClient):
58
- move_to_new_sub_client.product_operations.list_products()
59
-
60
-
61
- def test_move_to_new_sub_client_archive_operations_archive_product(move_to_new_sub_client: MoveToNewSubClient):
62
- move_to_new_sub_client.archive_operations.archive_product()
63
-
64
-
65
- def test_move_to_root_client_resource_operations_get_resource(move_to_root_client: MoveToRootClient):
66
- move_to_root_client.resource_operations.get_resource()
67
-
68
-
69
- def test_move_to_root_client_get_health_status(move_to_root_client: MoveToRootClient):
70
- move_to_root_client.get_health_status()
@@ -1,19 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from specs.azure.clientgenerator.core.emptystring import DeserializeEmptyStringAsNullClient
8
- from specs.azure.clientgenerator.core.emptystring import models
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with DeserializeEmptyStringAsNullClient() as client:
14
- yield client
15
-
16
-
17
- def test_get(client: DeserializeEmptyStringAsNullClient):
18
- result = client.get()
19
- assert result == models.ResponseModel(sample_url="")
@@ -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
- import pytest
7
- from specs.azure.clientgenerator.core.flattenproperty 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
- def client():
21
- with FlattenPropertyClient() as client:
22
- yield client
23
-
24
-
25
- # ========== test for spector ==========
26
-
27
-
28
- def test_put_flatten_model(client: FlattenPropertyClient):
29
- resp = FlattenModel(name="test", properties=ChildModel(age=1, description="test"))
30
- assert client.put_flatten_model(FlattenModel(name="foo", properties=ChildModel(age=10, description="bar"))) == resp
31
- assert client.put_flatten_model(FlattenModel(name="foo", age=10, description="bar")) == resp
32
-
33
-
34
- def test_put_nested_flatten_model(client: FlattenPropertyClient):
35
- # python doesn't support nested flatten model
36
- assert client.put_nested_flatten_model(
37
- NestedFlattenModel(
38
- name="foo",
39
- properties=ChildFlattenModel(summary="bar", properties=ChildModel(age=10, description="test")),
40
- )
41
- ) == NestedFlattenModel(
42
- name="test",
43
- properties=ChildFlattenModel(summary="test", properties=ChildModel(age=1, description="foo")),
44
- )
45
-
46
-
47
- def test_put_flatten_unknown_model(client: FlattenPropertyClient):
48
- result = client.put_flatten_unknown_model(FlattenUnknownModel(name="foo"))
49
- assert result.name == "test"
50
- assert result.properties == {"key1": "value1", "key2": "value2"}
51
-
52
-
53
- def test_put_flatten_read_only_model(client: FlattenPropertyClient):
54
- result = client.put_flatten_read_only_model(Solution(name="foo"))
55
- assert result == Solution(
56
- name="foo",
57
- properties=SolutionProperties(solution_id="solution1", title="Solution Title", content="Solution Content"),
58
- )
59
- assert result.solution_id == "solution1"
60
- assert result.title == "Solution Title"
61
- assert result.content == "Solution Content"
62
-
63
-
64
- # ============test for compatibility ============
65
- def test_dpg_model_common():
66
- flatten_model = FlattenModel(name="hello", properties=ChildModel(age=0, description="test"))
67
- assert flatten_model.name == "hello"
68
- assert flatten_model.properties.age == 0
69
- assert flatten_model.properties.description == "test"
70
-
71
-
72
- def test_dpg_model_none():
73
- flatten_model = FlattenModel()
74
- assert flatten_model.name is None
75
- assert flatten_model.properties is None
76
- assert flatten_model.age is None
77
- assert flatten_model.description is None
78
-
79
-
80
- def test_dpg_model_compatibility():
81
- flatten_model = FlattenModel(description="test", age=0)
82
- assert flatten_model.description == "test"
83
- assert flatten_model.age == 0
84
- assert flatten_model.properties.description == "test"
85
- assert flatten_model.properties.age == 0
86
-
87
-
88
- def test_dpg_model_setattr():
89
- flatten_model = FlattenModel()
90
-
91
- flatten_model.age = 0
92
- assert flatten_model.properties.age == 0
93
- flatten_model.description = "test"
94
- assert flatten_model.properties.description == "test"
95
-
96
- flatten_model.properties.age = 1
97
- assert flatten_model.age == 1
98
- flatten_model.properties.description = "test2"
99
- assert flatten_model.description == "test2"
100
-
101
-
102
- def test_dpg_model_exception():
103
- with pytest.raises(AttributeError):
104
- FlattenModel().no_prop
@@ -1,45 +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 import HierarchyBuildingClient
8
- from specs.azure.clientgenerator.core.hierarchybuilding.models import (
9
- Pet,
10
- Dog,
11
- )
12
-
13
-
14
- @pytest.fixture
15
- def client():
16
- with HierarchyBuildingClient() as client:
17
- yield client
18
-
19
-
20
- # ========== test for spector ==========
21
-
22
-
23
- def test_update_pet_as_pet(client: HierarchyBuildingClient):
24
- resp = Pet(name="Buddy", trained=True)
25
- assert client.pet_operations.update_pet_as_pet(Pet(name="Buddy", trained=True)) == resp
26
-
27
-
28
- def test_update_dog_as_pet(client: HierarchyBuildingClient):
29
- resp = Dog(name="Rex", trained=True, breed="German Shepherd")
30
- assert client.pet_operations.update_dog_as_pet(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
31
-
32
-
33
- def test_update_pet_as_animal(client: HierarchyBuildingClient):
34
- resp = Pet(name="Buddy", trained=True)
35
- assert client.animal_operations.update_pet_as_animal(Pet(name="Buddy", trained=True)) == resp
36
-
37
-
38
- def test_update_dog_as_animal(client: HierarchyBuildingClient):
39
- resp = Dog(name="Rex", trained=True, breed="German Shepherd")
40
- assert client.animal_operations.update_dog_as_animal(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
41
-
42
-
43
- def test_update_dog_as_dog(client: HierarchyBuildingClient):
44
- resp = Dog(name="Rex", trained=True, breed="German Shepherd")
45
- assert client.dog_operations.update_dog_as_dog(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
@@ -1,27 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
-
8
- from specs.azure.clientgenerator.core.nextlinkverb import NextLinkVerbClient
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with NextLinkVerbClient(endpoint="http://localhost:3000") as client:
14
- yield client
15
-
16
-
17
- def assert_items(items):
18
- items = list(items)
19
- assert len(items) == 2
20
- assert items[0].id == "test1"
21
- assert items[1].id == "test2"
22
-
23
-
24
- def test_list_items_next_link_verb(client: NextLinkVerbClient):
25
- # The operation uses POST for nextLink per @nextLinkVerb
26
- pager = client.list_items()
27
- assert_items(pager)
@@ -1,102 +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 import OverrideClient
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with OverrideClient() as client:
14
- yield client
15
-
16
-
17
- def test_reorder_parameters(client: OverrideClient):
18
- client.reorder_parameters.reorder("param1", "param2")
19
-
20
-
21
- def test_group_parameters(client: OverrideClient):
22
- client.group_parameters.group(param1="param1", param2="param2")
23
-
24
-
25
- def test_require_optional_parameter(client: OverrideClient):
26
- client.require_optional_parameter.require_optional("param1", "param2")
27
-
28
-
29
- def test_remove_optional_parameter(client: OverrideClient):
30
- # Test with optional param2 provided
31
- client.remove_optional_parameter.remove_optional("param1", param2="param2")
32
-
33
-
34
- # make sure signature name of `reorder_parameters` are ["param1", "param2"]
35
- def test_reorder_parameters_unit(client: OverrideClient):
36
- # Get the reorder method from the reorder_parameters operation
37
- reorder_method = client.reorder_parameters.reorder
38
-
39
- # Inspect the method signature
40
- sig = inspect.signature(reorder_method)
41
-
42
- # Get parameter names excluding 'self' and '**kwargs'
43
- param_names = [
44
- param_name
45
- for param_name, param in sig.parameters.items()
46
- if param_name not in ("self", "kwargs") and param.kind != param.VAR_KEYWORD
47
- ]
48
-
49
- # Assert that the parameter names are exactly ["param1", "param2"]
50
- assert param_names == ["param1", "param2"], f"Expected parameter names ['param1', 'param2'], but got {param_names}"
51
-
52
-
53
- def test_require_optional_parameter_signature(client: OverrideClient):
54
- # Get the require_optional method
55
- require_optional_method = client.require_optional_parameter.require_optional
56
-
57
- # Inspect the method signature
58
- sig = inspect.signature(require_optional_method)
59
-
60
- # Get parameter details
61
- params = sig.parameters
62
-
63
- # Check that both param1 and param2 are required (no default values)
64
- assert "param1" in params, "param1 should be present in signature"
65
- assert "param2" in params, "param2 should be present in signature"
66
- assert params["param1"].default == params["param1"].empty, "param1 should have no default value"
67
- assert params["param2"].default == params["param2"].empty, "param2 should have no default value"
68
-
69
-
70
- def test_remove_optional_parameter_signature(client: OverrideClient):
71
- """Test that remove_optional_parameter.remove_optional method signature has correct parameters.
72
-
73
- The @override decorator should remove some optional parameters from the method signature.
74
- Only param1 (required) and param2 (optional) should remain.
75
- """
76
- # Get the remove_optional method
77
- remove_optional_method = client.remove_optional_parameter.remove_optional
78
-
79
- # Inspect the method signature
80
- sig = inspect.signature(remove_optional_method)
81
-
82
- # Get parameter names excluding 'self' and '**kwargs'
83
- param_names = [
84
- param_name
85
- for param_name, param in sig.parameters.items()
86
- if param_name not in ("self", "kwargs") and param.kind != param.VAR_KEYWORD
87
- ]
88
-
89
- # Should have param1 (required) and param2 (keyword-only optional)
90
- assert "param1" in param_names, "param1 should be present in signature"
91
- assert "param2" in sig.parameters, "param2 should be present in signature"
92
-
93
- # param1 should be required (positional)
94
- assert sig.parameters["param1"].default == sig.parameters["param1"].empty, "param1 should have no default value"
95
-
96
- # param2 should be optional keyword-only with None default
97
- assert sig.parameters["param2"].kind == sig.parameters["param2"].KEYWORD_ONLY, "param2 should be keyword-only"
98
- assert sig.parameters["param2"].default is None, "param2 should have None as default value"
99
-
100
- # param3 and param4 should be removed
101
- assert "param3" not in param_names, "param3 should not be present in signature"
102
- assert "param4" not in param_names, "param4 should not be present in signature"
@@ -1,32 +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 import UsageClient
8
- from specs.azure.clientgenerator.core.usage import models
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with UsageClient() as client:
14
- yield client
15
-
16
-
17
- def test_input_to_input_output(client: UsageClient):
18
- client.model_in_operation.input_to_input_output(models.InputModel(name="Madge"))
19
-
20
-
21
- def test_output_to_input_output(client: UsageClient):
22
- assert models.OutputModel(name="Madge") == client.model_in_operation.output_to_input_output()
23
-
24
-
25
- def test_model_usage(client: UsageClient):
26
- assert models.RoundTripModel(
27
- result=models.ResultModel(name="Madge")
28
- ) == client.model_in_operation.model_in_read_only_property(body=models.RoundTripModel())
29
-
30
-
31
- def test_orphan_model_serializable(client: UsageClient):
32
- client.model_in_operation.orphan_model_serializable(body=models.OrphanModel(model_name="name", description="desc"))
@@ -1,70 +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 BasicClient, models
8
-
9
- VALID_USER = models.User(id=1, name="Madge", etag="11bdc430-65e8-45ad-81d9-8ffa60d55b59")
10
-
11
-
12
- @pytest.fixture
13
- def client():
14
- with BasicClient() as client:
15
- yield client
16
-
17
-
18
- def test_create_or_update(client: BasicClient):
19
- result = client.create_or_update(id=1, resource={"name": "Madge"})
20
- assert result == VALID_USER
21
-
22
-
23
- def test_create_or_replace(client: BasicClient):
24
- result = client.create_or_replace(id=1, resource={"name": "Madge"})
25
- assert result == VALID_USER
26
-
27
-
28
- def test_get(client: BasicClient):
29
- result = client.get(id=1)
30
- assert result == VALID_USER
31
-
32
-
33
- def test_list(client: BasicClient):
34
- result = list(
35
- client.list(
36
- top=5,
37
- skip=10,
38
- orderby=["id"],
39
- filter="id lt 10",
40
- select=["id", "orders", "etag"],
41
- expand=["orders"],
42
- )
43
- )
44
- assert len(result) == 2
45
- assert result[0].id == 1
46
- assert result[0].name == "Madge"
47
- assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
48
- assert result[0].orders[0].id == 1
49
- assert result[0].orders[0].user_id == 1
50
- assert result[0].orders[0].detail == "a recorder"
51
- assert result[1].id == 2
52
- assert result[1].name == "John"
53
- assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b5a"
54
- assert result[1].orders[0].id == 2
55
- assert result[1].orders[0].user_id == 2
56
- assert result[1].orders[0].detail == "a TV"
57
-
58
-
59
- def test_delete(client: BasicClient):
60
- client.delete(id=1)
61
-
62
-
63
- def test_export(client: BasicClient):
64
- result = client.export(id=1, format="json")
65
- assert result == VALID_USER
66
-
67
-
68
- def test_export_all_users(client: BasicClient):
69
- result = client.export_all_users(format="json")
70
- assert result.users[0] == VALID_USER
@@ -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.core.lro.rpc import RpcClient, models
8
-
9
-
10
- @pytest.fixture
11
- def client():
12
- with RpcClient() as client:
13
- yield client
14
-
15
-
16
- def test_long_running_rpc(client: RpcClient, polling_method):
17
- result = client.begin_long_running_rpc(
18
- models.GenerationOptions(prompt="text"), polling_interval=0, polling=polling_method
19
- ).result()
20
- assert result == models.GenerationResult(data="text data")
@@ -1,32 +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 import StandardClient
8
- from specs.azure.core.lro.standard.models import User, ExportedUser
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with StandardClient() as client:
14
- yield client
15
-
16
-
17
- def test_lro_core_put(client, polling_method):
18
- user = User({"name": "madge", "role": "contributor"})
19
- result = client.begin_create_or_replace(
20
- name=user.name, resource=user, polling_interval=0, polling=polling_method
21
- ).result()
22
- assert result == user
23
-
24
-
25
- def test_lro_core_delete(client, polling_method):
26
- client.begin_delete(name="madge", polling_interval=0, polling=polling_method).result()
27
-
28
-
29
- def test_lro_core_export(client, polling_method):
30
- export_user = ExportedUser({"name": "madge", "resourceUri": "/users/madge"})
31
- result = client.begin_export(name="madge", format="json", polling_interval=0, polling=polling_method).result()
32
- assert result == export_user
@@ -1,30 +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 import ModelClient
8
- from specs.azure.core.model.models import AzureEmbeddingModel
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with ModelClient() as client:
14
- yield client
15
-
16
-
17
- def test_azure_core_embedding_vector_post(client: ModelClient):
18
- embedding_model = AzureEmbeddingModel(embedding=[0, 1, 2, 3, 4])
19
- result = client.azure_core_embedding_vector.post(
20
- body=embedding_model,
21
- )
22
- assert result == AzureEmbeddingModel(embedding=[5, 6, 7, 8, 9])
23
-
24
-
25
- def test_azure_core_embedding_vector_put(client: ModelClient):
26
- client.azure_core_embedding_vector.put(body=[0, 1, 2, 3, 4])
27
-
28
-
29
- def test_azure_core_embedding_vector_get(client: ModelClient):
30
- assert [0, 1, 2, 3, 4] == client.azure_core_embedding_vector.get()
@@ -1,71 +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 typing import Iterable
8
- from specs.azure.core.page import PageClient, models
9
-
10
- VALID_USER = models.User(id=1, name="Madge", etag="11bdc430-65e8-45ad-81d9-8ffa60d55b59")
11
-
12
-
13
- @pytest.fixture
14
- def client():
15
- with PageClient() as client:
16
- yield client
17
-
18
-
19
- def _list_with_page_tests(pager: Iterable[models.User]):
20
- result = list(pager)
21
- assert len(result) == 1
22
- assert result[0].id == 1
23
- assert result[0].name == "Madge"
24
- assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
25
- assert result[0].orders is None
26
-
27
-
28
- def test_list_with_page(client: PageClient):
29
- _list_with_page_tests(client.list_with_page())
30
-
31
-
32
- def test_list_with_custom_page_model(client: PageClient):
33
- _list_with_page_tests(client.list_with_custom_page_model())
34
- with pytest.raises(AttributeError):
35
- models.CustomPageModel
36
-
37
-
38
- def test_list_with_parameters(client: PageClient):
39
- result = list(client.list_with_parameters(models.ListItemInputBody(input_name="Madge"), another="Second"))
40
- assert len(result) == 1
41
- assert result[0] == VALID_USER
42
-
43
-
44
- def test_two_models_as_page_item(client: PageClient):
45
- result = list(client.two_models_as_page_item.list_first_item())
46
- assert len(result) == 1
47
- assert result[0].id == 1
48
-
49
- result = list(client.two_models_as_page_item.list_second_item())
50
- assert len(result) == 1
51
- assert result[0].name == "Madge"
52
-
53
-
54
- def test_list_with_parameterized_next_link(client: PageClient):
55
- result = list(client.with_parameterized_next_link(select="name", include_pending=True))
56
- assert len(result) == 2
57
- assert result[0].id == 1
58
- assert result[0].name == "User1"
59
- assert result[1].id == 2
60
- assert result[1].name == "User2"
61
-
62
-
63
- def test_list_with_relative_next_link(client: PageClient):
64
- result = list(client.with_relative_next_link())
65
- assert len(result) == 2
66
- assert result[0].id == 1
67
- assert result[0].name == "User1"
68
- assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
69
- assert result[1].id == 2
70
- assert result[1].name == "User2"
71
- assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
@@ -1,35 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from specs.azure.core.scalar import ScalarClient, models
8
-
9
-
10
- @pytest.fixture
11
- def client():
12
- with ScalarClient() as client:
13
- yield client
14
-
15
-
16
- def test_azure_location_scalar_get(client: ScalarClient):
17
- result = client.azure_location_scalar.get()
18
- assert result == "eastus"
19
-
20
-
21
- def test_azure_location_scalar_put(client: ScalarClient):
22
- client.azure_location_scalar.put("eastus")
23
-
24
-
25
- def test_azure_location_scalar_post(client: ScalarClient):
26
- result = client.azure_location_scalar.post(models.AzureLocationModel(location="eastus"))
27
- assert result == models.AzureLocationModel(location="eastus")
28
-
29
-
30
- def test_azure_location_scalar_header(client: ScalarClient):
31
- client.azure_location_scalar.header(region="eastus")
32
-
33
-
34
- def test_azure_location_scalar_query(client: ScalarClient):
35
- client.azure_location_scalar.query(region="eastus")