@typespec/http-client-python 0.28.2 → 0.28.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/dist/emitter/code-model.d.ts.map +1 -1
  2. package/dist/emitter/code-model.js +6 -6
  3. package/dist/emitter/code-model.js.map +1 -1
  4. package/dist/emitter/emitter.d.ts.map +1 -1
  5. package/dist/emitter/emitter.js +27 -28
  6. package/dist/emitter/emitter.js.map +1 -1
  7. package/dist/emitter/lib.d.ts +4 -1
  8. package/dist/emitter/lib.d.ts.map +1 -1
  9. package/dist/emitter/lib.js.map +1 -1
  10. package/dist/emitter/system-requirements.js +6 -4
  11. package/dist/emitter/system-requirements.js.map +1 -1
  12. package/dist/emitter/types.d.ts +2 -5
  13. package/dist/emitter/types.d.ts.map +1 -1
  14. package/dist/emitter/types.js +55 -58
  15. package/dist/emitter/types.js.map +1 -1
  16. package/dist/emitter/utils.d.ts.map +1 -1
  17. package/dist/emitter/utils.js +16 -17
  18. package/dist/emitter/utils.js.map +1 -1
  19. package/emitter/src/code-model.ts +6 -13
  20. package/emitter/src/emitter.ts +29 -31
  21. package/emitter/src/lib.ts +4 -0
  22. package/emitter/src/system-requirements.ts +4 -4
  23. package/emitter/src/types.ts +67 -57
  24. package/emitter/src/utils.ts +16 -18
  25. package/emitter/temp/tsconfig.tsbuildinfo +1 -1
  26. package/eng/scripts/Build-Packages.ps1 +62 -37
  27. package/eng/scripts/Check-GitChanges.ps1 +30 -3
  28. package/eng/scripts/Functions.ps1 +54 -15
  29. package/eng/scripts/Generate.ps1 +42 -8
  30. package/eng/scripts/Generation.psm1 +44 -15
  31. package/eng/scripts/Initialize-Repository.ps1 +29 -11
  32. package/eng/scripts/Test-Packages.ps1 +47 -31
  33. package/eng/scripts/ci/config/eslint-ci.config.mjs +54 -0
  34. package/eng/scripts/ci/dev_requirements.txt +1 -0
  35. package/eng/scripts/ci/format.ts +232 -2
  36. package/eng/scripts/ci/lint.ts +216 -20
  37. package/eng/scripts/ci/regenerate-common.ts +18 -14
  38. package/eng/scripts/ci/regenerate.ts +305 -68
  39. package/eng/scripts/ci/run-tests.ts +402 -0
  40. package/eng/scripts/ci/run_mypy.py +4 -3
  41. package/eng/scripts/ci/run_pylint.py +4 -3
  42. package/eng/scripts/ci/run_pyright.py +4 -3
  43. package/eng/scripts/ci/typecheck.ts +225 -0
  44. package/eng/scripts/ci/util.py +1 -1
  45. package/eng/scripts/ci/utils.ts +5 -5
  46. package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
  47. package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
  48. package/eng/scripts/setup/build.ts +1 -1
  49. package/eng/scripts/setup/build_pygen_wheel.py +1 -0
  50. package/eng/scripts/setup/install.py +1 -0
  51. package/eng/scripts/setup/prepare.py +1 -0
  52. package/eng/scripts/setup/prepare.ts +1 -1
  53. package/eng/scripts/setup/run_tsp.py +3 -3
  54. package/eng/scripts/setup/system-requirements.ts +8 -4
  55. package/eng/scripts/setup/venvtools.py +1 -0
  56. package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +157 -64
  57. package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
  58. package/generator/pygen/codegen/templates/model_base.py.jinja2 +157 -64
  59. package/package.json +48 -42
  60. package/eng/scripts/ci/run-ci.ts +0 -89
  61. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +0 -94
  62. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +0 -30
  63. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +0 -36
  64. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +0 -205
  65. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_resource_async.py +0 -478
  66. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_access_async.py +0 -101
  67. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_header_async.py +0 -18
  68. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_path_async.py +0 -18
  69. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_query_async.py +0 -18
  70. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +0 -46
  71. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +0 -58
  72. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +0 -82
  73. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +0 -20
  74. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_flatten_async.py +0 -115
  75. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_hierrarchy_building_async.py +0 -53
  76. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_next_link_verb_async.py +0 -28
  77. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_override_async.py +0 -106
  78. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +0 -38
  79. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_basic_async.py +0 -76
  80. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +0 -22
  81. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py +0 -39
  82. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_model_async.py +0 -33
  83. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +0 -80
  84. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_scalar_async.py +0 -41
  85. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_traits_async.py +0 -87
  86. package/generator/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +0 -19
  87. package/generator/test/azure/mock_api_tests/asynctests/test_azure_example_basic_async.py +0 -30
  88. package/generator/test/azure/mock_api_tests/asynctests/test_azure_payload_pageable_async.py +0 -19
  89. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_method_subscription_id_async.py +0 -248
  90. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +0 -110
  91. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py +0 -132
  92. package/generator/test/azure/mock_api_tests/asynctests/test_azure_special_headers_client_request_id_async.py +0 -30
  93. package/generator/test/azure/mock_api_tests/asynctests/test_azure_versioning_previewversion_async.py +0 -53
  94. package/generator/test/azure/mock_api_tests/asynctests/test_client_namespace_async.py +0 -34
  95. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +0 -69
  96. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +0 -37
  97. package/generator/test/azure/mock_api_tests/asynctests/test_client_overload_async.py +0 -27
  98. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_async.py +0 -64
  99. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_clientoperationgroup_async.py +0 -31
  100. package/generator/test/azure/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  101. package/generator/test/azure/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  102. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  103. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  104. package/generator/test/azure/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  105. package/generator/test/azure/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -216
  106. package/generator/test/azure/mock_api_tests/asynctests/test_resiliency_srv_driven_async.py +0 -130
  107. package/generator/test/azure/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  108. package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +0 -31
  109. package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +0 -71
  110. package/generator/test/azure/mock_api_tests/conftest.py +0 -207
  111. package/generator/test/azure/mock_api_tests/data/image.jpg +0 -0
  112. package/generator/test/azure/mock_api_tests/data/image.png +0 -0
  113. package/generator/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +0 -89
  114. package/generator/test/azure/mock_api_tests/test_azure_arm_largeheader.py +0 -27
  115. package/generator/test/azure/mock_api_tests/test_azure_arm_nonresource.py +0 -34
  116. package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +0 -180
  117. package/generator/test/azure/mock_api_tests/test_azure_arm_resource.py +0 -436
  118. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_access.py +0 -92
  119. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_header.py +0 -17
  120. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_path.py +0 -17
  121. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_query.py +0 -17
  122. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +0 -42
  123. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +0 -51
  124. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +0 -70
  125. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +0 -19
  126. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_flatten.py +0 -104
  127. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py +0 -45
  128. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py +0 -27
  129. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_override.py +0 -102
  130. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +0 -32
  131. package/generator/test/azure/mock_api_tests/test_azure_core_basic.py +0 -70
  132. package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +0 -20
  133. package/generator/test/azure/mock_api_tests/test_azure_core_lro_standard.py +0 -32
  134. package/generator/test/azure/mock_api_tests/test_azure_core_model.py +0 -30
  135. package/generator/test/azure/mock_api_tests/test_azure_core_page.py +0 -71
  136. package/generator/test/azure/mock_api_tests/test_azure_core_scalar.py +0 -35
  137. package/generator/test/azure/mock_api_tests/test_azure_core_traits.py +0 -85
  138. package/generator/test/azure/mock_api_tests/test_azure_encode_duration.py +0 -18
  139. package/generator/test/azure/mock_api_tests/test_azure_example_basic.py +0 -29
  140. package/generator/test/azure/mock_api_tests/test_azure_payload_pageable.py +0 -18
  141. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py +0 -235
  142. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +0 -104
  143. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py +0 -128
  144. package/generator/test/azure/mock_api_tests/test_azure_special_headers_client_request_id.py +0 -29
  145. package/generator/test/azure/mock_api_tests/test_azure_versioning_previewversion.py +0 -50
  146. package/generator/test/azure/mock_api_tests/test_clear_output_folder.py +0 -23
  147. package/generator/test/azure/mock_api_tests/test_client_namespace.py +0 -32
  148. package/generator/test/azure/mock_api_tests/test_client_naming.py +0 -57
  149. package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +0 -35
  150. package/generator/test/azure/mock_api_tests/test_client_overload.py +0 -25
  151. package/generator/test/azure/mock_api_tests/test_client_structure.py +0 -60
  152. package/generator/test/azure/mock_api_tests/test_client_structure_clientoperationgroup.py +0 -29
  153. package/generator/test/azure/mock_api_tests/test_encode_duration.py +0 -60
  154. package/generator/test/azure/mock_api_tests/test_encode_numeric.py +0 -31
  155. package/generator/test/azure/mock_api_tests/test_model_base_flatten_compatibility.py +0 -251
  156. package/generator/test/azure/mock_api_tests/test_parameters_basic.py +0 -22
  157. package/generator/test/azure/mock_api_tests/test_parameters_spread.py +0 -66
  158. package/generator/test/azure/mock_api_tests/test_payload_content_negotiation.py +0 -33
  159. package/generator/test/azure/mock_api_tests/test_payload_multipart.py +0 -198
  160. package/generator/test/azure/mock_api_tests/test_resiliency_srv_driven.py +0 -124
  161. package/generator/test/azure/mock_api_tests/test_serialization_encoded_name_json.py +0 -21
  162. package/generator/test/azure/mock_api_tests/test_service_multi_service.py +0 -29
  163. package/generator/test/azure/mock_api_tests/test_special_words.py +0 -63
  164. package/generator/test/azure/requirements.txt +0 -125
  165. package/generator/test/azure/tox.ini +0 -64
  166. package/generator/test/data/image.jpg +0 -0
  167. package/generator/test/data/image.png +0 -0
  168. package/generator/test/dev_requirements.txt +0 -8
  169. package/generator/test/generic_mock_api_tests/asynctests/test_authentication_async.py +0 -140
  170. package/generator/test/generic_mock_api_tests/asynctests/test_encode_array_async.py +0 -139
  171. package/generator/test/generic_mock_api_tests/asynctests/test_encode_bytes_async.py +0 -132
  172. package/generator/test/generic_mock_api_tests/asynctests/test_encode_datetime_async.py +0 -127
  173. package/generator/test/generic_mock_api_tests/asynctests/test_headasboolean_async.py +0 -35
  174. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_body_optionality_async.py +0 -30
  175. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_collection_format_async.py +0 -38
  176. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +0 -24
  177. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +0 -18
  178. package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +0 -98
  179. package/generator/test/generic_mock_api_tests/asynctests/test_payload_media_type_async.py +0 -27
  180. package/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +0 -134
  181. package/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +0 -150
  182. package/generator/test/generic_mock_api_tests/asynctests/test_response_status_code_range_async.py +0 -38
  183. package/generator/test/generic_mock_api_tests/asynctests/test_routes_async.py +0 -331
  184. package/generator/test/generic_mock_api_tests/asynctests/test_server_endpoint_not_defined_async.py +0 -18
  185. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_multiple_async.py +0 -25
  186. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_single_async.py +0 -18
  187. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_not_versioned_async.py +0 -28
  188. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_versioned_async.py +0 -34
  189. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_conditional_request_async.py +0 -38
  190. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_repeatability_async.py +0 -19
  191. package/generator/test/generic_mock_api_tests/asynctests/test_specs_documentation_async.py +0 -59
  192. package/generator/test/generic_mock_api_tests/asynctests/test_streaming_jsonl_async.py +0 -27
  193. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_array_async.py +0 -127
  194. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +0 -98
  195. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_extensible_async.py +0 -25
  196. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_fixed_async.py +0 -27
  197. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_file_async.py +0 -59
  198. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_empty_async.py +0 -32
  199. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_enum_discriminator_async.py +0 -70
  200. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_nested_discriminator_async.py +0 -85
  201. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_not_discriminated_async.py +0 -34
  202. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_recursive_async.py +0 -34
  203. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_single_discriminator_async.py +0 -67
  204. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_usage_async.py +0 -32
  205. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_visibility_async.py +0 -47
  206. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_additionalproperties_async.py +0 -353
  207. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_nullable_async.py +0 -110
  208. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_optional_async.py +0 -197
  209. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +0 -315
  210. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_scalar_async.py +0 -60
  211. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_union_async.py +0 -90
  212. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_added_async.py +0 -36
  213. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py +0 -21
  214. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_removed_async.py +0 -39
  215. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py +0 -29
  216. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_return_type_changed_from_async.py +0 -18
  217. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py +0 -22
  218. package/generator/test/generic_mock_api_tests/conftest.py +0 -75
  219. package/generator/test/generic_mock_api_tests/data/image.jpg +0 -0
  220. package/generator/test/generic_mock_api_tests/data/image.png +0 -0
  221. package/generator/test/generic_mock_api_tests/test_authentication.py +0 -130
  222. package/generator/test/generic_mock_api_tests/test_encode_array.py +0 -126
  223. package/generator/test/generic_mock_api_tests/test_encode_bytes.py +0 -128
  224. package/generator/test/generic_mock_api_tests/test_encode_datetime.py +0 -123
  225. package/generator/test/generic_mock_api_tests/test_headasboolean.py +0 -33
  226. package/generator/test/generic_mock_api_tests/test_parameters_body_optionality.py +0 -27
  227. package/generator/test/generic_mock_api_tests/test_parameters_collection_format.py +0 -33
  228. package/generator/test/generic_mock_api_tests/test_parameters_path.py +0 -22
  229. package/generator/test/generic_mock_api_tests/test_parameters_query.py +0 -17
  230. package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +0 -93
  231. package/generator/test/generic_mock_api_tests/test_payload_media_type.py +0 -25
  232. package/generator/test/generic_mock_api_tests/test_payload_pageable.py +0 -99
  233. package/generator/test/generic_mock_api_tests/test_payload_xml.py +0 -135
  234. package/generator/test/generic_mock_api_tests/test_response_status_code_range.py +0 -36
  235. package/generator/test/generic_mock_api_tests/test_routes.py +0 -285
  236. package/generator/test/generic_mock_api_tests/test_server_endpoint_not_defined.py +0 -17
  237. package/generator/test/generic_mock_api_tests/test_server_path_multiple.py +0 -21
  238. package/generator/test/generic_mock_api_tests/test_server_path_single.py +0 -17
  239. package/generator/test/generic_mock_api_tests/test_server_versions_not_versioned.py +0 -25
  240. package/generator/test/generic_mock_api_tests/test_server_versions_versioned.py +0 -30
  241. package/generator/test/generic_mock_api_tests/test_special_headers_conditional_request.py +0 -34
  242. package/generator/test/generic_mock_api_tests/test_special_headers_repeatability.py +0 -18
  243. package/generator/test/generic_mock_api_tests/test_specs_documentation.py +0 -51
  244. package/generator/test/generic_mock_api_tests/test_streaming_jsonl.py +0 -25
  245. package/generator/test/generic_mock_api_tests/test_typetest_array.py +0 -111
  246. package/generator/test/generic_mock_api_tests/test_typetest_dictionary.py +0 -86
  247. package/generator/test/generic_mock_api_tests/test_typetest_enum_extensible.py +0 -23
  248. package/generator/test/generic_mock_api_tests/test_typetest_enum_fixed.py +0 -25
  249. package/generator/test/generic_mock_api_tests/test_typetest_file.py +0 -52
  250. package/generator/test/generic_mock_api_tests/test_typetest_model_empty.py +0 -29
  251. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_enum_discriminator.py +0 -58
  252. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_nested_discriminator.py +0 -79
  253. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_not_discriminated.py +0 -31
  254. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_recursive.py +0 -32
  255. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_single_discriminator.py +0 -60
  256. package/generator/test/generic_mock_api_tests/test_typetest_model_usage.py +0 -28
  257. package/generator/test/generic_mock_api_tests/test_typetest_model_visibility.py +0 -40
  258. package/generator/test/generic_mock_api_tests/test_typetest_property_additionalproperties.py +0 -314
  259. package/generator/test/generic_mock_api_tests/test_typetest_property_nullable.py +0 -102
  260. package/generator/test/generic_mock_api_tests/test_typetest_property_optional.py +0 -174
  261. package/generator/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +0 -286
  262. package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -53
  263. package/generator/test/generic_mock_api_tests/test_typetest_union.py +0 -80
  264. package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +0 -290
  265. package/generator/test/generic_mock_api_tests/test_versioning_added.py +0 -33
  266. package/generator/test/generic_mock_api_tests/test_versioning_made_optional.py +0 -20
  267. package/generator/test/generic_mock_api_tests/test_versioning_removed.py +0 -37
  268. package/generator/test/generic_mock_api_tests/test_versioning_renamed_from.py +0 -27
  269. package/generator/test/generic_mock_api_tests/test_versioning_return_type_changed_from.py +0 -17
  270. package/generator/test/generic_mock_api_tests/test_versioning_type_changed_from.py +0 -21
  271. package/generator/test/unbranded/mock_api_tests/asynctests/test_auth_flow_async.py +0 -19
  272. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  273. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  274. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  275. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  276. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  277. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -218
  278. package/generator/test/unbranded/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  279. package/generator/test/unbranded/mock_api_tests/asynctests/test_special_words_async.py +0 -73
  280. package/generator/test/unbranded/mock_api_tests/asynctests/test_unbranded_async.py +0 -24
  281. package/generator/test/unbranded/mock_api_tests/conftest.py +0 -91
  282. package/generator/test/unbranded/mock_api_tests/data/image.jpg +0 -0
  283. package/generator/test/unbranded/mock_api_tests/data/image.png +0 -0
  284. package/generator/test/unbranded/mock_api_tests/test_auth_flow.py +0 -17
  285. package/generator/test/unbranded/mock_api_tests/test_encode_duration.py +0 -60
  286. package/generator/test/unbranded/mock_api_tests/test_encode_numeric.py +0 -32
  287. package/generator/test/unbranded/mock_api_tests/test_parameters_basic.py +0 -22
  288. package/generator/test/unbranded/mock_api_tests/test_parameters_spread.py +0 -66
  289. package/generator/test/unbranded/mock_api_tests/test_payload_content_negotiation.py +0 -33
  290. package/generator/test/unbranded/mock_api_tests/test_payload_multipart.py +0 -200
  291. package/generator/test/unbranded/mock_api_tests/test_serialization_encoded_name_json.py +0 -22
  292. package/generator/test/unbranded/mock_api_tests/test_special_words.py +0 -66
  293. package/generator/test/unbranded/mock_api_tests/test_unbranded.py +0 -65
  294. package/generator/test/unbranded/requirements.txt +0 -69
  295. package/generator/test/unbranded/tox.ini +0 -64
  296. package/generator/test/unittests/conftest.py +0 -15
  297. package/generator/test/unittests/requirements.txt +0 -3
  298. package/generator/test/unittests/test_enums.py +0 -89
  299. package/generator/test/unittests/test_model_base_serialization.py +0 -4906
  300. package/generator/test/unittests/test_model_base_xml_serialization.py +0 -1239
  301. package/generator/test/unittests/test_name_converter.py +0 -35
  302. package/generator/test/unittests/test_optional_return_type.py +0 -268
  303. package/generator/test/unittests/test_parameter_ordering.py +0 -104
  304. package/generator/test/unittests/test_sort_schema.py +0 -93
  305. package/generator/test/unittests/tox.ini +0 -5
  306. /package/eng/scripts/ci/{mypy.ini → config/mypy.ini} +0 -0
  307. /package/eng/scripts/ci/{pylintrc → config/pylintrc} +0 -0
  308. /package/eng/scripts/ci/{pyproject.toml → config/pyproject.toml} +0 -0
  309. /package/eng/scripts/ci/{pyrightconfig.json → config/pyrightconfig.json} +0 -0
@@ -1,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