@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,85 +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 functools
7
- from datetime import datetime
8
-
9
- import pytest
10
- from azure.core.exceptions import HttpResponseError
11
- from azure.core import MatchConditions
12
- from specs.azure.core.traits import TraitsClient
13
- from specs.azure.core.traits.models import UserActionParam
14
-
15
-
16
- @pytest.fixture
17
- def client():
18
- with TraitsClient() as client:
19
- yield client
20
-
21
-
22
- def test_get(client: TraitsClient, check_client_request_id_header):
23
- def assert_test_get(**kwargs):
24
- checked = {}
25
- result, header = client.smoke_test(
26
- id=1,
27
- foo="123",
28
- if_unmodified_since=datetime(year=2022, month=8, day=26, hour=14, minute=38, second=0),
29
- if_modified_since=datetime(year=2021, month=8, day=26, hour=14, minute=38, second=0),
30
- cls=lambda x, y, z: (y, z),
31
- raw_request_hook=functools.partial(
32
- check_client_request_id_header, header="x-ms-client-request-id", checked=checked
33
- ),
34
- **kwargs,
35
- )
36
- assert result.id == 1
37
- assert result.name == "Madge"
38
- assert header["ETag"] == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
39
- assert header["bar"] == "456"
40
- assert header["x-ms-client-request-id"] == checked["x-ms-client-request-id"]
41
-
42
- assert_test_get(etag="valid", match_condition=MatchConditions.IfNotModified)
43
- assert_test_get(etag="invalid", match_condition=MatchConditions.IfModified)
44
- with pytest.raises(HttpResponseError):
45
- assert_test_get()
46
-
47
-
48
- def test_repeatable_action(client: TraitsClient, check_repeatability_header):
49
- result, header = client.repeatable_action(
50
- id=1,
51
- body=UserActionParam(user_action_value="test"),
52
- cls=lambda x, y, z: (y, z),
53
- raw_request_hook=check_repeatability_header,
54
- )
55
- assert result.user_action_result == "test"
56
- assert header["Repeatability-Result"] == "accepted"
57
-
58
- result, header = client.repeatable_action(
59
- id=1,
60
- body=UserActionParam(user_action_value="test"),
61
- cls=lambda x, y, z: (y, z),
62
- headers={
63
- "Repeatability-Request-ID": "5942d803-e3fa-4f96-8f67-607d7bd607f5",
64
- "Repeatability-First-Sent": "Sun, 06 Nov 1994 08:49:37 GMT",
65
- },
66
- raw_request_hook=check_repeatability_header,
67
- )
68
- assert result.user_action_result == "test"
69
- assert header["Repeatability-Result"] == "accepted"
70
-
71
- with pytest.raises(HttpResponseError):
72
- client.repeatable_action(
73
- id=1,
74
- body=UserActionParam(user_action_value="test"),
75
- cls=lambda x, y, z: (y, z),
76
- headers={"Repeatability-Request-ID": "wrong-id"},
77
- )
78
-
79
- with pytest.raises(HttpResponseError):
80
- client.repeatable_action(
81
- id=1,
82
- body=UserActionParam(user_action_value="test"),
83
- cls=lambda x, y, z: (y, z),
84
- headers={"Repeatability-First-Sent": "wrong-datetime"},
85
- )
@@ -1,18 +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.encode.duration import DurationClient
8
- from specs.azure.encode.duration import models
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with DurationClient() as client:
14
- yield client
15
-
16
-
17
- def test_duration_constant(client: DurationClient):
18
- client.duration_constant(models.DurationModel(input="1.02:59:59.5000000"))
@@ -1,29 +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.example.basic import AzureExampleClient
8
- from specs.azure.example.basic.models import ActionRequest, Model
9
-
10
-
11
- @pytest.fixture
12
- def client():
13
- with AzureExampleClient() as client:
14
- yield client
15
-
16
-
17
- def test_basic_action(client: AzureExampleClient):
18
- body = ActionRequest(
19
- string_property="text",
20
- model_property=Model(int32_property=1, float32_property=1.5, enum_property="EnumValue1"),
21
- array_property=["item"],
22
- record_property={"record": "value"},
23
- )
24
- result = client.basic_action(
25
- body=body,
26
- query_param="query",
27
- header_param="header",
28
- )
29
- assert result.string_property == body.string_property
@@ -1,18 +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.payload.pageable import PageableClient
8
-
9
-
10
- @pytest.fixture
11
- def client():
12
- with PageableClient(endpoint="http://localhost:3000") as client:
13
- yield client
14
-
15
-
16
- def test_list(client: PageableClient):
17
- result = list(client.list(maxpagesize=3))
18
- assert len(result) == 4
@@ -1,235 +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 azure.resourcemanager.methodsubscriptionid import MethodSubscriptionIdClient
8
- from azure.resourcemanager.methodsubscriptionid import models
9
-
10
- SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000"
11
- RESOURCE_GROUP_NAME = "test-rg"
12
-
13
-
14
- @pytest.fixture
15
- def client(credential, authentication_policy):
16
- with MethodSubscriptionIdClient(
17
- credential,
18
- SUBSCRIPTION_ID,
19
- "http://localhost:3000",
20
- authentication_policy=authentication_policy,
21
- ) as client:
22
- yield client
23
-
24
-
25
- def test_operations_list(client):
26
- """Test Operations.list() endpoint."""
27
- operations = client.operations.list()
28
- operations_list = [op for op in operations]
29
- assert len(operations_list) > 0
30
-
31
- operation = operations_list[0]
32
- assert operation.name == "Azure.ResourceManager.MethodSubscriptionId/services/read"
33
- assert operation.is_data_action is False
34
- assert operation.display.provider == "Azure.ResourceManager.MethodSubscriptionId"
35
- assert operation.display.resource == "services"
36
- assert operation.display.operation == "Lists services"
37
- assert operation.display.description == "Lists registered services"
38
-
39
-
40
- def test_two_subscription_resources_method_level_subscription_resource1_operations_get(client):
41
- """Test get operation for SubscriptionResource1 with method-level subscription ID."""
42
- result = client.two_subscription_resources_method_level.subscription_resource1_operations.get(
43
- subscription_id=SUBSCRIPTION_ID,
44
- subscription_resource1_name="sub-resource-1",
45
- )
46
-
47
- assert (
48
- result.id
49
- == f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s/sub-resource-1"
50
- )
51
- assert result.name == "sub-resource-1"
52
- assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s"
53
- assert result.properties.description == "Valid subscription resource 1"
54
- assert result.properties.provisioning_state == "Succeeded"
55
- assert result.system_data.created_by == "AzureSDK"
56
-
57
-
58
- def test_two_subscription_resources_method_level_subscription_resource1_operations_put(client):
59
- """Test put operation for SubscriptionResource1 with method-level subscription ID."""
60
- resource = models.SubscriptionResource1(
61
- properties=models.SubscriptionResource1Properties(description="Valid subscription resource 1")
62
- )
63
-
64
- result = client.two_subscription_resources_method_level.subscription_resource1_operations.put(
65
- subscription_id=SUBSCRIPTION_ID,
66
- subscription_resource1_name="sub-resource-1",
67
- resource=resource,
68
- )
69
-
70
- assert (
71
- result.id
72
- == f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s/sub-resource-1"
73
- )
74
- assert result.name == "sub-resource-1"
75
- assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s"
76
- assert result.properties.description == "Valid subscription resource 1"
77
- assert result.properties.provisioning_state == "Succeeded"
78
- assert result.system_data.created_by == "AzureSDK"
79
-
80
-
81
- def test_two_subscription_resources_method_level_subscription_resource1_operations_delete(client):
82
- """Test delete operation for SubscriptionResource1 with method-level subscription ID."""
83
- client.two_subscription_resources_method_level.subscription_resource1_operations.delete(
84
- subscription_id=SUBSCRIPTION_ID,
85
- subscription_resource1_name="sub-resource-1",
86
- )
87
-
88
-
89
- def test_two_subscription_resources_method_level_subscription_resource2_operations_get(client):
90
- """Test get operation for SubscriptionResource2 with method-level subscription ID."""
91
- result = client.two_subscription_resources_method_level.subscription_resource2_operations.get(
92
- subscription_id=SUBSCRIPTION_ID,
93
- subscription_resource2_name="sub-resource-2",
94
- )
95
-
96
- assert (
97
- result.id
98
- == f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s/sub-resource-2"
99
- )
100
- assert result.name == "sub-resource-2"
101
- assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s"
102
- assert result.properties.config_value == "test-config"
103
- assert result.properties.provisioning_state == "Succeeded"
104
- assert result.system_data.created_by == "AzureSDK"
105
-
106
-
107
- def test_two_subscription_resources_method_level_subscription_resource2_operations_put(client):
108
- """Test put operation for SubscriptionResource2 with method-level subscription ID."""
109
- resource = models.SubscriptionResource2(
110
- properties=models.SubscriptionResource2Properties(config_value="test-config")
111
- )
112
-
113
- result = client.two_subscription_resources_method_level.subscription_resource2_operations.put(
114
- subscription_id=SUBSCRIPTION_ID,
115
- subscription_resource2_name="sub-resource-2",
116
- resource=resource,
117
- )
118
-
119
- assert (
120
- result.id
121
- == f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s/sub-resource-2"
122
- )
123
- assert result.name == "sub-resource-2"
124
- assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s"
125
- assert result.properties.config_value == "test-config"
126
- assert result.properties.provisioning_state == "Succeeded"
127
- assert result.system_data.created_by == "AzureSDK"
128
-
129
-
130
- def test_two_subscription_resources_method_level_subscription_resource2_operations_delete(client):
131
- """Test delete operation for SubscriptionResource2 with method-level subscription ID."""
132
- client.two_subscription_resources_method_level.subscription_resource2_operations.delete(
133
- subscription_id=SUBSCRIPTION_ID,
134
- subscription_resource2_name="sub-resource-2",
135
- )
136
-
137
-
138
- def test_mixed_subscription_placement_subscription_resource_operations_get(client):
139
- """Test get operation for SubscriptionResource in mixed placement scenario."""
140
- result = client.mixed_subscription_placement.subscription_resource_operations.get(
141
- subscription_id=SUBSCRIPTION_ID,
142
- subscription_resource_name="sub-resource",
143
- )
144
-
145
- assert (
146
- result.id
147
- == f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResources/sub-resource"
148
- )
149
- assert result.name == "sub-resource"
150
- assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResources"
151
- assert result.properties.subscription_setting == "test-sub-setting"
152
- assert result.properties.provisioning_state == "Succeeded"
153
- assert result.system_data.created_by == "AzureSDK"
154
-
155
-
156
- def test_mixed_subscription_placement_subscription_resource_operations_put(client):
157
- """Test put operation for SubscriptionResource in mixed placement scenario."""
158
- resource = models.SubscriptionResource(
159
- properties=models.SubscriptionResourceProperties(subscription_setting="test-sub-setting")
160
- )
161
-
162
- result = client.mixed_subscription_placement.subscription_resource_operations.put(
163
- subscription_id=SUBSCRIPTION_ID,
164
- subscription_resource_name="sub-resource",
165
- resource=resource,
166
- )
167
-
168
- assert (
169
- result.id
170
- == f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResources/sub-resource"
171
- )
172
- assert result.name == "sub-resource"
173
- assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResources"
174
- assert result.properties.subscription_setting == "test-sub-setting"
175
- assert result.properties.provisioning_state == "Succeeded"
176
- assert result.system_data.created_by == "AzureSDK"
177
-
178
-
179
- def test_mixed_subscription_placement_subscription_resource_operations_delete(client):
180
- """Test delete operation for SubscriptionResource in mixed placement scenario."""
181
- client.mixed_subscription_placement.subscription_resource_operations.delete(
182
- subscription_id=SUBSCRIPTION_ID,
183
- subscription_resource_name="sub-resource",
184
- )
185
-
186
-
187
- def test_mixed_subscription_placement_resource_group_resource_operations_get(client):
188
- """Test get operation for ResourceGroupResource with client-level subscription ID."""
189
- result = client.mixed_subscription_placement.resource_group_resource_operations.get(
190
- resource_group_name=RESOURCE_GROUP_NAME,
191
- resource_group_resource_name="rg-resource",
192
- )
193
-
194
- assert (
195
- result.id
196
- == f"/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources/rg-resource"
197
- )
198
- assert result.name == "rg-resource"
199
- assert result.type == "Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources"
200
- assert result.location == "eastus"
201
- assert result.properties.resource_group_setting == "test-setting"
202
- assert result.properties.provisioning_state == "Succeeded"
203
- assert result.system_data.created_by == "AzureSDK"
204
-
205
-
206
- def test_mixed_subscription_placement_resource_group_resource_operations_put(client):
207
- """Test put operation for ResourceGroupResource with client-level subscription ID."""
208
- resource = models.ResourceGroupResource(
209
- location="eastus", properties=models.ResourceGroupResourceProperties(resource_group_setting="test-setting")
210
- )
211
-
212
- result = client.mixed_subscription_placement.resource_group_resource_operations.put(
213
- resource_group_name=RESOURCE_GROUP_NAME,
214
- resource_group_resource_name="rg-resource",
215
- resource=resource,
216
- )
217
-
218
- assert (
219
- result.id
220
- == f"/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources/rg-resource"
221
- )
222
- assert result.name == "rg-resource"
223
- assert result.type == "Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources"
224
- assert result.location == "eastus"
225
- assert result.properties.resource_group_setting == "test-setting"
226
- assert result.properties.provisioning_state == "Succeeded"
227
- assert result.system_data.created_by == "AzureSDK"
228
-
229
-
230
- def test_mixed_subscription_placement_resource_group_resource_operations_delete(client):
231
- """Test delete operation for ResourceGroupResource with client-level subscription ID."""
232
- client.mixed_subscription_placement.resource_group_resource_operations.delete(
233
- resource_group_name=RESOURCE_GROUP_NAME,
234
- resource_group_resource_name="rg-resource",
235
- )
@@ -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 azure.core.exceptions import HttpResponseError
8
- from azure.resourcemanager.multiservice.combined import CombinedClient
9
- from azure.resourcemanager.multiservice.combined.models import VirtualMachine, Disk
10
-
11
-
12
- @pytest.fixture
13
- def client(credential, authentication_policy):
14
- """Create a Combined client for testing."""
15
- return CombinedClient(
16
- credential=credential, # Will use mock server, no real auth needed
17
- subscription_id="00000000-0000-0000-0000-000000000000",
18
- base_url="http://localhost:3000",
19
- authentication_policy=authentication_policy,
20
- polling_interval=0.1, # Speed up tests by reducing polling interval
21
- )
22
-
23
-
24
- def test_virtual_machines_get(client):
25
- resource_group_name = "test-rg"
26
- vm_name = "vm1"
27
-
28
- with pytest.raises(HttpResponseError):
29
- client.virtual_machines.get(
30
- resource_group_name=resource_group_name,
31
- vm_name=vm_name,
32
- api_version="av1", # invalid api version shall raise error
33
- )
34
-
35
- result = client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name)
36
-
37
- assert result is not None
38
- assert isinstance(result, VirtualMachine)
39
- assert result.name == vm_name
40
-
41
-
42
- def test_virtual_machines_create_or_update(client):
43
- resource_group_name = "test-rg"
44
- vm_name = "vm1"
45
-
46
- vm_resource = VirtualMachine(location="eastus", properties={})
47
-
48
- with pytest.raises(HttpResponseError):
49
- client.virtual_machines.begin_create_or_update(
50
- resource_group_name=resource_group_name,
51
- vm_name=vm_name,
52
- resource=vm_resource,
53
- api_version="av1", # invalid api version shall raise error
54
- ).result()
55
-
56
- poller = client.virtual_machines.begin_create_or_update(
57
- resource_group_name=resource_group_name, vm_name=vm_name, resource=vm_resource
58
- )
59
-
60
- result = poller.result()
61
- assert result is not None
62
- assert isinstance(result, VirtualMachine)
63
- assert result.location == "eastus"
64
-
65
-
66
- def test_disks_get(client):
67
- resource_group_name = "test-rg"
68
- disk_name = "disk1"
69
- with pytest.raises(HttpResponseError):
70
- client.disks.get(
71
- resource_group_name=resource_group_name,
72
- disk_name=disk_name,
73
- api_version="av1", # invalid api version shall raise error
74
- )
75
-
76
- result = client.disks.get(resource_group_name=resource_group_name, disk_name=disk_name)
77
-
78
- assert result is not None
79
- assert isinstance(result, Disk)
80
- assert result.name == disk_name
81
-
82
-
83
- def test_disks_create_or_update(client):
84
- resource_group_name = "test-rg"
85
- disk_name = "disk1"
86
-
87
- disk_resource = Disk(location="eastus", properties={})
88
-
89
- with pytest.raises(HttpResponseError):
90
- client.disks.begin_create_or_update(
91
- resource_group_name=resource_group_name,
92
- disk_name=disk_name,
93
- resource=disk_resource,
94
- api_version="av1", # invalid api version shall raise error
95
- ).result()
96
-
97
- poller = client.disks.begin_create_or_update(
98
- resource_group_name=resource_group_name, disk_name=disk_name, resource=disk_resource
99
- )
100
-
101
- result = poller.result()
102
- assert result is not None
103
- assert isinstance(result, Disk)
104
- assert result.location == "eastus"
@@ -1,128 +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 azure.resourcemanager.multiservicesharedmodels.combined import CombinedClient
8
- from azure.resourcemanager.multiservicesharedmodels.combined.models import (
9
- VirtualMachine,
10
- VirtualMachineProperties,
11
- StorageAccount,
12
- StorageAccountProperties,
13
- SharedMetadata,
14
- )
15
-
16
-
17
- @pytest.fixture
18
- def client(credential, authentication_policy):
19
- """Create a Combined client for testing."""
20
- return CombinedClient(
21
- credential=credential,
22
- subscription_id="00000000-0000-0000-0000-000000000000",
23
- base_url="http://localhost:3000",
24
- authentication_policy=authentication_policy,
25
- polling_interval=0.1,
26
- )
27
-
28
-
29
- def test_virtual_machines_get(client):
30
- """Test getting a virtual machine with shared metadata."""
31
- resource_group_name = "test-rg"
32
- vm_name = "vm-shared1"
33
-
34
- result = client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name)
35
-
36
- assert result is not None
37
- assert isinstance(result, VirtualMachine)
38
- assert result.name == vm_name
39
- assert result.location == "eastus"
40
- assert result.type == "Microsoft.Compute/virtualMachinesShared"
41
- assert result.properties is not None
42
- assert result.properties.provisioning_state == "Succeeded"
43
- assert result.properties.metadata is not None
44
- assert result.properties.metadata.created_by == "user@example.com"
45
- assert result.properties.metadata.tags == {"environment": "production"}
46
-
47
-
48
- def test_virtual_machines_create_or_update(client):
49
- """Test creating or updating a virtual machine with shared metadata."""
50
- resource_group_name = "test-rg"
51
- vm_name = "vm-shared1"
52
-
53
- vm_resource = VirtualMachine(
54
- location="eastus",
55
- properties=VirtualMachineProperties(
56
- metadata=SharedMetadata(
57
- created_by="user@example.com",
58
- tags={"environment": "production"},
59
- ),
60
- ),
61
- )
62
-
63
- poller = client.virtual_machines.begin_create_or_update(
64
- resource_group_name=resource_group_name,
65
- vm_name=vm_name,
66
- resource=vm_resource,
67
- )
68
-
69
- result = poller.result()
70
- assert result is not None
71
- assert isinstance(result, VirtualMachine)
72
- assert result.location == "eastus"
73
- assert result.properties is not None
74
- assert result.properties.provisioning_state == "Succeeded"
75
- assert result.properties.metadata is not None
76
- assert result.properties.metadata.created_by == "user@example.com"
77
- assert result.properties.metadata.tags == {"environment": "production"}
78
-
79
-
80
- def test_storage_accounts_get(client):
81
- """Test getting a storage account with shared metadata."""
82
- resource_group_name = "test-rg"
83
- account_name = "account1"
84
-
85
- result = client.storage_accounts.get(resource_group_name=resource_group_name, account_name=account_name)
86
-
87
- assert result is not None
88
- assert isinstance(result, StorageAccount)
89
- assert result.name == account_name
90
- assert result.location == "westus"
91
- assert result.type == "Microsoft.Storage/storageAccounts"
92
- assert result.properties is not None
93
- assert result.properties.provisioning_state == "Succeeded"
94
- assert result.properties.metadata is not None
95
- assert result.properties.metadata.created_by == "admin@example.com"
96
- assert result.properties.metadata.tags == {"department": "engineering"}
97
-
98
-
99
- def test_storage_accounts_create_or_update(client):
100
- """Test creating or updating a storage account with shared metadata."""
101
- resource_group_name = "test-rg"
102
- account_name = "account1"
103
-
104
- storage_resource = StorageAccount(
105
- location="westus",
106
- properties=StorageAccountProperties(
107
- metadata=SharedMetadata(
108
- created_by="admin@example.com",
109
- tags={"department": "engineering"},
110
- ),
111
- ),
112
- )
113
-
114
- poller = client.storage_accounts.begin_create_or_update(
115
- resource_group_name=resource_group_name,
116
- account_name=account_name,
117
- resource=storage_resource,
118
- )
119
-
120
- result = poller.result()
121
- assert result is not None
122
- assert isinstance(result, StorageAccount)
123
- assert result.location == "westus"
124
- assert result.properties is not None
125
- assert result.properties.provisioning_state == "Succeeded"
126
- assert result.properties.metadata is not None
127
- assert result.properties.metadata.created_by == "admin@example.com"
128
- assert result.properties.metadata.tags == {"department": "engineering"}
@@ -1,29 +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 functools
7
-
8
- import pytest
9
-
10
- from azure.specialheaders.xmsclientrequestid import XmsClientRequestIdClient
11
-
12
-
13
- @pytest.fixture
14
- def client():
15
- with XmsClientRequestIdClient() as client:
16
- yield client
17
-
18
-
19
- def test_get(client: XmsClientRequestIdClient, check_client_request_id_header):
20
- checked = {}
21
- result, resp = client.get(
22
- cls=lambda x, y, z: (y, x),
23
- raw_request_hook=functools.partial(
24
- check_client_request_id_header, header="x-ms-client-request-id", checked=checked
25
- ),
26
- )
27
- assert result is None
28
- assert resp.http_response.headers["x-ms-client-request-id"] == checked["x-ms-client-request-id"]
29
- pass