@typespec/http-client-python 0.28.2 → 0.29.0

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 (368) hide show
  1. package/dist/emitter/code-model.d.ts.map +1 -1
  2. package/dist/emitter/code-model.js +7 -6
  3. package/dist/emitter/code-model.js.map +1 -1
  4. package/dist/emitter/constants.d.ts +6 -0
  5. package/dist/emitter/constants.d.ts.map +1 -0
  6. package/dist/emitter/constants.js +27 -0
  7. package/dist/emitter/constants.js.map +1 -0
  8. package/dist/emitter/emitter.d.ts.map +1 -1
  9. package/dist/emitter/emitter.js +193 -119
  10. package/dist/emitter/emitter.js.map +1 -1
  11. package/dist/emitter/http.d.ts.map +1 -1
  12. package/dist/emitter/http.js +33 -1
  13. package/dist/emitter/http.js.map +1 -1
  14. package/dist/emitter/lib.d.ts +37 -3
  15. package/dist/emitter/lib.d.ts.map +1 -1
  16. package/dist/emitter/lib.js +17 -0
  17. package/dist/emitter/lib.js.map +1 -1
  18. package/dist/emitter/run-python3.js +1 -1
  19. package/dist/emitter/run-python3.js.map +1 -1
  20. package/dist/emitter/system-requirements.js +6 -4
  21. package/dist/emitter/system-requirements.js.map +1 -1
  22. package/dist/emitter/types.d.ts +2 -5
  23. package/dist/emitter/types.d.ts.map +1 -1
  24. package/dist/emitter/types.js +86 -63
  25. package/dist/emitter/types.js.map +1 -1
  26. package/dist/emitter/utils.d.ts.map +1 -1
  27. package/dist/emitter/utils.js +16 -17
  28. package/dist/emitter/utils.js.map +1 -1
  29. package/emitter/src/code-model.ts +7 -13
  30. package/emitter/src/constants.ts +27 -0
  31. package/emitter/src/emitter.ts +241 -123
  32. package/emitter/src/http.ts +29 -1
  33. package/emitter/src/lib.ts +24 -0
  34. package/emitter/src/run-python3.ts +1 -1
  35. package/emitter/src/system-requirements.ts +4 -4
  36. package/emitter/src/types.ts +102 -62
  37. package/emitter/src/utils.ts +16 -18
  38. package/emitter/temp/tsconfig.tsbuildinfo +1 -1
  39. package/emitter/test/utils.test.ts +3 -0
  40. package/emitter/tsconfig.build.json +2 -1
  41. package/emitter/tsconfig.json +2 -1
  42. package/eng/scripts/Build-Packages.ps1 +62 -37
  43. package/eng/scripts/Check-GitChanges.ps1 +30 -3
  44. package/eng/scripts/Functions.ps1 +54 -15
  45. package/eng/scripts/Generate.ps1 +42 -8
  46. package/eng/scripts/Generation.psm1 +44 -15
  47. package/eng/scripts/Initialize-Repository.ps1 +29 -11
  48. package/eng/scripts/Test-Packages.ps1 +47 -31
  49. package/eng/scripts/ci/config/eslint-ci.config.mjs +64 -0
  50. package/eng/scripts/ci/{mypy.ini → config/mypy.ini} +1 -1
  51. package/eng/scripts/ci/{pylintrc → config/pylintrc} +1 -1
  52. package/eng/scripts/ci/{pyrightconfig.json → config/pyrightconfig.json} +1 -1
  53. package/eng/scripts/ci/dev_requirements.txt +2 -1
  54. package/eng/scripts/ci/format.ts +232 -2
  55. package/eng/scripts/ci/lint.ts +223 -20
  56. package/eng/scripts/ci/regenerate-common.ts +411 -136
  57. package/eng/scripts/ci/regenerate.ts +247 -101
  58. package/eng/scripts/ci/run-tests.ts +507 -0
  59. package/eng/scripts/ci/run_apiview.py +22 -16
  60. package/eng/scripts/ci/run_mypy.py +34 -23
  61. package/eng/scripts/ci/run_pylint.py +27 -19
  62. package/eng/scripts/ci/run_pyright.py +9 -5
  63. package/eng/scripts/ci/run_sphinx_build.py +24 -9
  64. package/eng/scripts/ci/typecheck.ts +225 -0
  65. package/eng/scripts/ci/util.py +61 -25
  66. package/eng/scripts/ci/utils.ts +5 -5
  67. package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
  68. package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
  69. package/eng/scripts/setup/build.ts +1 -1
  70. package/eng/scripts/setup/build_pygen_wheel.py +4 -3
  71. package/eng/scripts/setup/install.py +4 -3
  72. package/eng/scripts/setup/install.ts +1 -1
  73. package/eng/scripts/setup/prepare.py +3 -2
  74. package/eng/scripts/setup/prepare.ts +1 -1
  75. package/eng/scripts/setup/run-python3.ts +1 -1
  76. package/eng/scripts/setup/run_batch.py +197 -0
  77. package/eng/scripts/setup/run_tsp.py +3 -3
  78. package/eng/scripts/setup/system-requirements.ts +8 -4
  79. package/eng/scripts/setup/venvtools.py +1 -1
  80. package/generator/build/lib/pygen/__init__.py +1 -3
  81. package/generator/build/lib/pygen/codegen/__init__.py +0 -1
  82. package/generator/build/lib/pygen/codegen/models/base.py +0 -1
  83. package/generator/build/lib/pygen/codegen/models/client.py +2 -1
  84. package/generator/build/lib/pygen/codegen/models/code_model.py +1 -0
  85. package/generator/build/lib/pygen/codegen/models/enum_type.py +0 -1
  86. package/generator/build/lib/pygen/codegen/models/model_type.py +1 -7
  87. package/generator/build/lib/pygen/codegen/models/parameter.py +16 -14
  88. package/generator/build/lib/pygen/codegen/serializers/__init__.py +27 -12
  89. package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +12 -3
  90. package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +6 -2
  91. package/generator/build/lib/pygen/codegen/serializers/import_serializer.py +17 -4
  92. package/generator/build/lib/pygen/codegen/serializers/parameter_serializer.py +17 -11
  93. package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +176 -71
  94. package/generator/build/lib/pygen/codegen/templates/packaging_templates/README.md.jinja2 +11 -3
  95. package/generator/build/lib/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +1 -1
  96. package/generator/build/lib/pygen/codegen/templates/serialization.py.jinja2 +5 -1
  97. package/generator/build/lib/pygen/preprocess/__init__.py +37 -30
  98. package/generator/component-detection-pip-report.json +7 -7
  99. package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
  100. package/generator/pygen/__init__.py +1 -3
  101. package/generator/pygen/codegen/__init__.py +0 -1
  102. package/generator/pygen/codegen/models/base.py +0 -1
  103. package/generator/pygen/codegen/models/client.py +2 -1
  104. package/generator/pygen/codegen/models/code_model.py +1 -0
  105. package/generator/pygen/codegen/models/enum_type.py +0 -1
  106. package/generator/pygen/codegen/models/model_type.py +1 -7
  107. package/generator/pygen/codegen/models/parameter.py +16 -14
  108. package/generator/pygen/codegen/serializers/__init__.py +27 -12
  109. package/generator/pygen/codegen/serializers/builder_serializer.py +12 -3
  110. package/generator/pygen/codegen/serializers/general_serializer.py +6 -2
  111. package/generator/pygen/codegen/serializers/import_serializer.py +17 -4
  112. package/generator/pygen/codegen/serializers/parameter_serializer.py +17 -11
  113. package/generator/pygen/codegen/templates/model_base.py.jinja2 +176 -71
  114. package/generator/pygen/codegen/templates/packaging_templates/README.md.jinja2 +11 -3
  115. package/generator/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +1 -1
  116. package/generator/pygen/codegen/templates/serialization.py.jinja2 +5 -1
  117. package/generator/pygen/preprocess/__init__.py +37 -30
  118. package/generator/pygen.egg-info/PKG-INFO +1 -2
  119. package/generator/pygen.egg-info/requires.txt +1 -1
  120. package/generator/setup.py +1 -2
  121. package/package.json +63 -42
  122. package/eng/scripts/ci/run-ci.ts +0 -89
  123. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +0 -94
  124. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +0 -30
  125. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +0 -36
  126. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +0 -205
  127. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_resource_async.py +0 -478
  128. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_access_async.py +0 -101
  129. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_header_async.py +0 -18
  130. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_path_async.py +0 -18
  131. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_query_async.py +0 -18
  132. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +0 -46
  133. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +0 -58
  134. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +0 -82
  135. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +0 -20
  136. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_flatten_async.py +0 -115
  137. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_hierrarchy_building_async.py +0 -53
  138. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_next_link_verb_async.py +0 -28
  139. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_override_async.py +0 -106
  140. package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +0 -38
  141. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_basic_async.py +0 -76
  142. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +0 -22
  143. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py +0 -39
  144. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_model_async.py +0 -33
  145. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +0 -80
  146. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_scalar_async.py +0 -41
  147. package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_traits_async.py +0 -87
  148. package/generator/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +0 -19
  149. package/generator/test/azure/mock_api_tests/asynctests/test_azure_example_basic_async.py +0 -30
  150. package/generator/test/azure/mock_api_tests/asynctests/test_azure_payload_pageable_async.py +0 -19
  151. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_method_subscription_id_async.py +0 -248
  152. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +0 -110
  153. package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py +0 -132
  154. package/generator/test/azure/mock_api_tests/asynctests/test_azure_special_headers_client_request_id_async.py +0 -30
  155. package/generator/test/azure/mock_api_tests/asynctests/test_azure_versioning_previewversion_async.py +0 -53
  156. package/generator/test/azure/mock_api_tests/asynctests/test_client_namespace_async.py +0 -34
  157. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +0 -69
  158. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +0 -37
  159. package/generator/test/azure/mock_api_tests/asynctests/test_client_overload_async.py +0 -27
  160. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_async.py +0 -64
  161. package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_clientoperationgroup_async.py +0 -31
  162. package/generator/test/azure/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  163. package/generator/test/azure/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  164. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  165. package/generator/test/azure/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  166. package/generator/test/azure/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  167. package/generator/test/azure/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -216
  168. package/generator/test/azure/mock_api_tests/asynctests/test_resiliency_srv_driven_async.py +0 -130
  169. package/generator/test/azure/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  170. package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +0 -31
  171. package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +0 -71
  172. package/generator/test/azure/mock_api_tests/conftest.py +0 -207
  173. package/generator/test/azure/mock_api_tests/data/image.jpg +0 -0
  174. package/generator/test/azure/mock_api_tests/data/image.png +0 -0
  175. package/generator/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +0 -89
  176. package/generator/test/azure/mock_api_tests/test_azure_arm_largeheader.py +0 -27
  177. package/generator/test/azure/mock_api_tests/test_azure_arm_nonresource.py +0 -34
  178. package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +0 -180
  179. package/generator/test/azure/mock_api_tests/test_azure_arm_resource.py +0 -436
  180. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_access.py +0 -92
  181. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_header.py +0 -17
  182. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_path.py +0 -17
  183. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_query.py +0 -17
  184. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +0 -42
  185. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +0 -51
  186. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +0 -70
  187. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +0 -19
  188. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_flatten.py +0 -104
  189. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py +0 -45
  190. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py +0 -27
  191. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_override.py +0 -102
  192. package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +0 -32
  193. package/generator/test/azure/mock_api_tests/test_azure_core_basic.py +0 -70
  194. package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +0 -20
  195. package/generator/test/azure/mock_api_tests/test_azure_core_lro_standard.py +0 -32
  196. package/generator/test/azure/mock_api_tests/test_azure_core_model.py +0 -30
  197. package/generator/test/azure/mock_api_tests/test_azure_core_page.py +0 -71
  198. package/generator/test/azure/mock_api_tests/test_azure_core_scalar.py +0 -35
  199. package/generator/test/azure/mock_api_tests/test_azure_core_traits.py +0 -85
  200. package/generator/test/azure/mock_api_tests/test_azure_encode_duration.py +0 -18
  201. package/generator/test/azure/mock_api_tests/test_azure_example_basic.py +0 -29
  202. package/generator/test/azure/mock_api_tests/test_azure_payload_pageable.py +0 -18
  203. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py +0 -235
  204. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +0 -104
  205. package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py +0 -128
  206. package/generator/test/azure/mock_api_tests/test_azure_special_headers_client_request_id.py +0 -29
  207. package/generator/test/azure/mock_api_tests/test_azure_versioning_previewversion.py +0 -50
  208. package/generator/test/azure/mock_api_tests/test_clear_output_folder.py +0 -23
  209. package/generator/test/azure/mock_api_tests/test_client_namespace.py +0 -32
  210. package/generator/test/azure/mock_api_tests/test_client_naming.py +0 -57
  211. package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +0 -35
  212. package/generator/test/azure/mock_api_tests/test_client_overload.py +0 -25
  213. package/generator/test/azure/mock_api_tests/test_client_structure.py +0 -60
  214. package/generator/test/azure/mock_api_tests/test_client_structure_clientoperationgroup.py +0 -29
  215. package/generator/test/azure/mock_api_tests/test_encode_duration.py +0 -60
  216. package/generator/test/azure/mock_api_tests/test_encode_numeric.py +0 -31
  217. package/generator/test/azure/mock_api_tests/test_model_base_flatten_compatibility.py +0 -251
  218. package/generator/test/azure/mock_api_tests/test_parameters_basic.py +0 -22
  219. package/generator/test/azure/mock_api_tests/test_parameters_spread.py +0 -66
  220. package/generator/test/azure/mock_api_tests/test_payload_content_negotiation.py +0 -33
  221. package/generator/test/azure/mock_api_tests/test_payload_multipart.py +0 -198
  222. package/generator/test/azure/mock_api_tests/test_resiliency_srv_driven.py +0 -124
  223. package/generator/test/azure/mock_api_tests/test_serialization_encoded_name_json.py +0 -21
  224. package/generator/test/azure/mock_api_tests/test_service_multi_service.py +0 -29
  225. package/generator/test/azure/mock_api_tests/test_special_words.py +0 -63
  226. package/generator/test/azure/requirements.txt +0 -125
  227. package/generator/test/azure/tox.ini +0 -64
  228. package/generator/test/data/image.jpg +0 -0
  229. package/generator/test/data/image.png +0 -0
  230. package/generator/test/dev_requirements.txt +0 -8
  231. package/generator/test/generic_mock_api_tests/asynctests/test_authentication_async.py +0 -140
  232. package/generator/test/generic_mock_api_tests/asynctests/test_encode_array_async.py +0 -139
  233. package/generator/test/generic_mock_api_tests/asynctests/test_encode_bytes_async.py +0 -132
  234. package/generator/test/generic_mock_api_tests/asynctests/test_encode_datetime_async.py +0 -127
  235. package/generator/test/generic_mock_api_tests/asynctests/test_headasboolean_async.py +0 -35
  236. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_body_optionality_async.py +0 -30
  237. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_collection_format_async.py +0 -38
  238. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +0 -24
  239. package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +0 -18
  240. package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +0 -98
  241. package/generator/test/generic_mock_api_tests/asynctests/test_payload_media_type_async.py +0 -27
  242. package/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +0 -134
  243. package/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +0 -150
  244. package/generator/test/generic_mock_api_tests/asynctests/test_response_status_code_range_async.py +0 -38
  245. package/generator/test/generic_mock_api_tests/asynctests/test_routes_async.py +0 -331
  246. package/generator/test/generic_mock_api_tests/asynctests/test_server_endpoint_not_defined_async.py +0 -18
  247. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_multiple_async.py +0 -25
  248. package/generator/test/generic_mock_api_tests/asynctests/test_server_path_single_async.py +0 -18
  249. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_not_versioned_async.py +0 -28
  250. package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_versioned_async.py +0 -34
  251. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_conditional_request_async.py +0 -38
  252. package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_repeatability_async.py +0 -19
  253. package/generator/test/generic_mock_api_tests/asynctests/test_specs_documentation_async.py +0 -59
  254. package/generator/test/generic_mock_api_tests/asynctests/test_streaming_jsonl_async.py +0 -27
  255. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_array_async.py +0 -127
  256. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +0 -98
  257. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_extensible_async.py +0 -25
  258. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_fixed_async.py +0 -27
  259. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_file_async.py +0 -59
  260. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_empty_async.py +0 -32
  261. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_enum_discriminator_async.py +0 -70
  262. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_nested_discriminator_async.py +0 -85
  263. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_not_discriminated_async.py +0 -34
  264. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_recursive_async.py +0 -34
  265. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_single_discriminator_async.py +0 -67
  266. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_usage_async.py +0 -32
  267. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_visibility_async.py +0 -47
  268. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_additionalproperties_async.py +0 -353
  269. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_nullable_async.py +0 -110
  270. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_optional_async.py +0 -197
  271. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +0 -315
  272. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_scalar_async.py +0 -60
  273. package/generator/test/generic_mock_api_tests/asynctests/test_typetest_union_async.py +0 -90
  274. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_added_async.py +0 -36
  275. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py +0 -21
  276. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_removed_async.py +0 -39
  277. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py +0 -29
  278. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_return_type_changed_from_async.py +0 -18
  279. package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py +0 -22
  280. package/generator/test/generic_mock_api_tests/conftest.py +0 -75
  281. package/generator/test/generic_mock_api_tests/data/image.jpg +0 -0
  282. package/generator/test/generic_mock_api_tests/data/image.png +0 -0
  283. package/generator/test/generic_mock_api_tests/test_authentication.py +0 -130
  284. package/generator/test/generic_mock_api_tests/test_encode_array.py +0 -126
  285. package/generator/test/generic_mock_api_tests/test_encode_bytes.py +0 -128
  286. package/generator/test/generic_mock_api_tests/test_encode_datetime.py +0 -123
  287. package/generator/test/generic_mock_api_tests/test_headasboolean.py +0 -33
  288. package/generator/test/generic_mock_api_tests/test_parameters_body_optionality.py +0 -27
  289. package/generator/test/generic_mock_api_tests/test_parameters_collection_format.py +0 -33
  290. package/generator/test/generic_mock_api_tests/test_parameters_path.py +0 -22
  291. package/generator/test/generic_mock_api_tests/test_parameters_query.py +0 -17
  292. package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +0 -93
  293. package/generator/test/generic_mock_api_tests/test_payload_media_type.py +0 -25
  294. package/generator/test/generic_mock_api_tests/test_payload_pageable.py +0 -99
  295. package/generator/test/generic_mock_api_tests/test_payload_xml.py +0 -135
  296. package/generator/test/generic_mock_api_tests/test_response_status_code_range.py +0 -36
  297. package/generator/test/generic_mock_api_tests/test_routes.py +0 -285
  298. package/generator/test/generic_mock_api_tests/test_server_endpoint_not_defined.py +0 -17
  299. package/generator/test/generic_mock_api_tests/test_server_path_multiple.py +0 -21
  300. package/generator/test/generic_mock_api_tests/test_server_path_single.py +0 -17
  301. package/generator/test/generic_mock_api_tests/test_server_versions_not_versioned.py +0 -25
  302. package/generator/test/generic_mock_api_tests/test_server_versions_versioned.py +0 -30
  303. package/generator/test/generic_mock_api_tests/test_special_headers_conditional_request.py +0 -34
  304. package/generator/test/generic_mock_api_tests/test_special_headers_repeatability.py +0 -18
  305. package/generator/test/generic_mock_api_tests/test_specs_documentation.py +0 -51
  306. package/generator/test/generic_mock_api_tests/test_streaming_jsonl.py +0 -25
  307. package/generator/test/generic_mock_api_tests/test_typetest_array.py +0 -111
  308. package/generator/test/generic_mock_api_tests/test_typetest_dictionary.py +0 -86
  309. package/generator/test/generic_mock_api_tests/test_typetest_enum_extensible.py +0 -23
  310. package/generator/test/generic_mock_api_tests/test_typetest_enum_fixed.py +0 -25
  311. package/generator/test/generic_mock_api_tests/test_typetest_file.py +0 -52
  312. package/generator/test/generic_mock_api_tests/test_typetest_model_empty.py +0 -29
  313. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_enum_discriminator.py +0 -58
  314. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_nested_discriminator.py +0 -79
  315. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_not_discriminated.py +0 -31
  316. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_recursive.py +0 -32
  317. package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_single_discriminator.py +0 -60
  318. package/generator/test/generic_mock_api_tests/test_typetest_model_usage.py +0 -28
  319. package/generator/test/generic_mock_api_tests/test_typetest_model_visibility.py +0 -40
  320. package/generator/test/generic_mock_api_tests/test_typetest_property_additionalproperties.py +0 -314
  321. package/generator/test/generic_mock_api_tests/test_typetest_property_nullable.py +0 -102
  322. package/generator/test/generic_mock_api_tests/test_typetest_property_optional.py +0 -174
  323. package/generator/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +0 -286
  324. package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -53
  325. package/generator/test/generic_mock_api_tests/test_typetest_union.py +0 -80
  326. package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +0 -290
  327. package/generator/test/generic_mock_api_tests/test_versioning_added.py +0 -33
  328. package/generator/test/generic_mock_api_tests/test_versioning_made_optional.py +0 -20
  329. package/generator/test/generic_mock_api_tests/test_versioning_removed.py +0 -37
  330. package/generator/test/generic_mock_api_tests/test_versioning_renamed_from.py +0 -27
  331. package/generator/test/generic_mock_api_tests/test_versioning_return_type_changed_from.py +0 -17
  332. package/generator/test/generic_mock_api_tests/test_versioning_type_changed_from.py +0 -21
  333. package/generator/test/unbranded/mock_api_tests/asynctests/test_auth_flow_async.py +0 -19
  334. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
  335. package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
  336. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
  337. package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
  338. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
  339. package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -218
  340. package/generator/test/unbranded/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
  341. package/generator/test/unbranded/mock_api_tests/asynctests/test_special_words_async.py +0 -73
  342. package/generator/test/unbranded/mock_api_tests/asynctests/test_unbranded_async.py +0 -24
  343. package/generator/test/unbranded/mock_api_tests/conftest.py +0 -91
  344. package/generator/test/unbranded/mock_api_tests/data/image.jpg +0 -0
  345. package/generator/test/unbranded/mock_api_tests/data/image.png +0 -0
  346. package/generator/test/unbranded/mock_api_tests/test_auth_flow.py +0 -17
  347. package/generator/test/unbranded/mock_api_tests/test_encode_duration.py +0 -60
  348. package/generator/test/unbranded/mock_api_tests/test_encode_numeric.py +0 -32
  349. package/generator/test/unbranded/mock_api_tests/test_parameters_basic.py +0 -22
  350. package/generator/test/unbranded/mock_api_tests/test_parameters_spread.py +0 -66
  351. package/generator/test/unbranded/mock_api_tests/test_payload_content_negotiation.py +0 -33
  352. package/generator/test/unbranded/mock_api_tests/test_payload_multipart.py +0 -200
  353. package/generator/test/unbranded/mock_api_tests/test_serialization_encoded_name_json.py +0 -22
  354. package/generator/test/unbranded/mock_api_tests/test_special_words.py +0 -66
  355. package/generator/test/unbranded/mock_api_tests/test_unbranded.py +0 -65
  356. package/generator/test/unbranded/requirements.txt +0 -69
  357. package/generator/test/unbranded/tox.ini +0 -64
  358. package/generator/test/unittests/conftest.py +0 -15
  359. package/generator/test/unittests/requirements.txt +0 -3
  360. package/generator/test/unittests/test_enums.py +0 -89
  361. package/generator/test/unittests/test_model_base_serialization.py +0 -4906
  362. package/generator/test/unittests/test_model_base_xml_serialization.py +0 -1239
  363. package/generator/test/unittests/test_name_converter.py +0 -35
  364. package/generator/test/unittests/test_optional_return_type.py +0 -268
  365. package/generator/test/unittests/test_parameter_ordering.py +0 -104
  366. package/generator/test/unittests/test_sort_schema.py +0 -93
  367. package/generator/test/unittests/tox.ini +0 -5
  368. /package/eng/scripts/ci/{pyproject.toml → config/pyproject.toml} +0 -0
@@ -1,64 +0,0 @@
1
- [tox]
2
- envlist=base, lint, mypy, pyright, apiview, sphinx
3
- skipsdist=True
4
-
5
- [testenv:ci]
6
- deps=
7
- -r requirements.txt
8
- commands =
9
- # pytest
10
- {[testenv:test]commands}
11
-
12
- # pylint
13
- {[testenv:lint]commands}
14
-
15
- # mypy
16
- {[testenv:mypy]commands}
17
-
18
- # pyright
19
- {[testenv:pyright]commands}
20
-
21
- # apiview
22
- {[testenv:apiview]commands}
23
-
24
- # sphinx docstring validation
25
- {[testenv:sphinx]commands}
26
-
27
- [testenv:test]
28
- deps=
29
- -r requirements.txt
30
- commands =
31
- pytest mock_api_tests ../generic_mock_api_tests
32
-
33
- [testenv:lint]
34
- deps=
35
- -r requirements.txt
36
- commands =
37
- pip install azure-pylint-guidelines-checker==0.5.2 --index-url="https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
38
- python ../../../eng/scripts/ci/run_pylint.py -t azure -s "generated" {posargs}
39
-
40
- [testenv:mypy]
41
- deps=
42
- -r requirements.txt
43
- commands =
44
- python ../../../eng/scripts/ci/run_mypy.py -t azure -s "generated" {posargs}
45
-
46
- [testenv:pyright]
47
- deps=
48
- -r requirements.txt
49
- commands =
50
- python ../../../eng/scripts/ci/run_pyright.py -t azure -s "generated" {posargs}
51
-
52
- [testenv:apiview]
53
- deps=
54
- -r requirements.txt
55
- commands =
56
- pip install apiview-stub-generator==0.3.19 --index-url="https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
57
- python ../../../eng/scripts/ci/run_apiview.py -t azure -s "generated" {posargs}
58
-
59
- [testenv:sphinx]
60
- basepython = python3.10
61
- deps=
62
- -r requirements.txt
63
- commands =
64
- python ../../../eng/scripts/ci/run_sphinx_build.py -t azure -s "generated" {posargs}
Binary file
Binary file
@@ -1,8 +0,0 @@
1
- -r ../../eng/scripts/ci/dev_requirements.txt
2
- aiohttp
3
- pytest-asyncio==0.14.0
4
- requests==2.32.2
5
- sphinx==8.2.0
6
- sphinx_rtd_theme==3.0.2
7
- myst_parser==4.0.1
8
- sphinxcontrib-jquery==4.1
@@ -1,140 +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 authentication.apikey.aio import ApiKeyClient
8
- from authentication.http.custom.aio import CustomClient
9
- from authentication.oauth2.aio import OAuth2Client
10
- from authentication.union.aio import UnionClient
11
- from setuppy.authentication.union.aio import UnionClient as SetuppyUnionClient
12
- from authentication.noauth.union.aio import UnionClient as NoauthUnionClient
13
-
14
- # Utilities functions
15
-
16
-
17
- @pytest.fixture
18
- async def api_key_client(key_credential):
19
- client = None
20
-
21
- def _build_client(client_type, key: str = "valid-key"):
22
- client = client_type(key_credential(key))
23
- return client
24
-
25
- yield _build_client
26
- if client:
27
- await client.close()
28
-
29
-
30
- @pytest.fixture()
31
- def token_credential(core_library):
32
- class FakeCredential:
33
- @staticmethod
34
- async def get_token(*scopes):
35
- return core_library.credentials.AccessToken(token="".join(scopes), expires_on=1800)
36
-
37
- @staticmethod
38
- async def get_token_info(*scopes, **kwargs):
39
- return core_library.credentials.AccessTokenInfo(token="".join(scopes), expires_on=1800)
40
-
41
- return FakeCredential()
42
-
43
-
44
- @pytest.fixture
45
- async def oauth2_client(token_credential):
46
- client = None
47
-
48
- def _build_client(client_type):
49
- client = client_type(token_credential)
50
- return client
51
-
52
- yield _build_client
53
- if client:
54
- await client.close()
55
-
56
-
57
- @pytest.fixture
58
- async def http_custom_client(key_credential):
59
- client = None
60
-
61
- def _build_client(key: str = "valid-key"):
62
- client = CustomClient(key_credential(key))
63
- return client
64
-
65
- yield _build_client
66
- if client:
67
- await client.close()
68
-
69
-
70
- # Tests
71
-
72
-
73
- @pytest.mark.asyncio
74
- async def test_api_key_valid(api_key_client):
75
- client = api_key_client(ApiKeyClient)
76
- await client.valid()
77
-
78
-
79
- @pytest.mark.asyncio
80
- async def test_api_key_invalid(api_key_client, core_library):
81
- client = api_key_client(ApiKeyClient, "invalid-key")
82
- with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
83
- await client.invalid()
84
- assert ex.value.status_code == 403
85
- assert ex.value.reason == "Forbidden"
86
-
87
-
88
- @pytest.mark.asyncio
89
- async def test_oauth2_valid(oauth2_client):
90
- client = oauth2_client(OAuth2Client)
91
- await client.valid(enforce_https=False)
92
-
93
-
94
- @pytest.mark.asyncio
95
- async def test_oauth2_invalid(oauth2_client, core_library):
96
- client = oauth2_client(OAuth2Client)
97
- with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
98
- await client.invalid(enforce_https=False)
99
- assert ex.value.status_code == 403
100
-
101
-
102
- @pytest.mark.asyncio
103
- @pytest.mark.parametrize("union_client_type", [UnionClient, SetuppyUnionClient])
104
- async def test_union_keyvalid(api_key_client, union_client_type):
105
- client = api_key_client(union_client_type)
106
- await client.valid_key()
107
-
108
-
109
- @pytest.mark.asyncio
110
- @pytest.mark.parametrize("union_client_type", [UnionClient, SetuppyUnionClient])
111
- async def test_union_tokenvalid(oauth2_client, union_client_type):
112
- client = oauth2_client(union_client_type)
113
- await client.valid_token(enforce_https=False)
114
-
115
-
116
- @pytest.mark.asyncio
117
- async def test_noauth_union_valid_no_auth():
118
- client = NoauthUnionClient()
119
- await client.valid_no_auth()
120
-
121
-
122
- @pytest.mark.asyncio
123
- async def test_noauth_union_valid_token(oauth2_client):
124
- client = oauth2_client(NoauthUnionClient)
125
- await client.valid_token(enforce_https=False)
126
-
127
-
128
- @pytest.mark.asyncio
129
- async def test_http_custom_valid(http_custom_client):
130
- client = http_custom_client()
131
- await client.valid()
132
-
133
-
134
- @pytest.mark.asyncio
135
- async def test_http_custom_invalid(http_custom_client, core_library):
136
- client = http_custom_client(key="invalid-key")
137
- with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
138
- await client.invalid()
139
- assert ex.value.status_code == 403
140
- assert ex.value.reason == "Forbidden"
@@ -1,139 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
-
7
- import pytest
8
- from encode.array.aio import ArrayClient
9
- from encode.array import models
10
-
11
-
12
- @pytest.fixture
13
- async def client():
14
- async with ArrayClient() as client:
15
- yield client
16
-
17
-
18
- @pytest.mark.asyncio
19
- async def test_comma_delimited(client: ArrayClient):
20
- body = models.CommaDelimitedArrayProperty(value=["blue", "red", "green"])
21
- result = await client.property.comma_delimited(body)
22
- assert result.value == ["blue", "red", "green"]
23
-
24
-
25
- @pytest.mark.asyncio
26
- async def test_space_delimited(client: ArrayClient):
27
- body = models.SpaceDelimitedArrayProperty(value=["blue", "red", "green"])
28
- result = await client.property.space_delimited(body)
29
- assert result.value == ["blue", "red", "green"]
30
-
31
-
32
- @pytest.mark.asyncio
33
- async def test_pipe_delimited(client: ArrayClient):
34
- body = models.PipeDelimitedArrayProperty(value=["blue", "red", "green"])
35
- result = await client.property.pipe_delimited(body)
36
- assert result.value == ["blue", "red", "green"]
37
-
38
-
39
- @pytest.mark.asyncio
40
- async def test_newline_delimited(client: ArrayClient):
41
- body = models.NewlineDelimitedArrayProperty(value=["blue", "red", "green"])
42
- result = await client.property.newline_delimited(body)
43
- assert result.value == ["blue", "red", "green"]
44
-
45
-
46
- @pytest.mark.asyncio
47
- async def test_enum_comma_delimited(client: ArrayClient):
48
- body = models.CommaDelimitedEnumArrayProperty(value=[models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN])
49
- result = await client.property.enum_comma_delimited(body)
50
- assert result.value == [models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN]
51
-
52
-
53
- @pytest.mark.asyncio
54
- async def test_enum_space_delimited(client: ArrayClient):
55
- body = models.SpaceDelimitedEnumArrayProperty(value=[models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN])
56
- result = await client.property.enum_space_delimited(body)
57
- assert result.value == [models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN]
58
-
59
-
60
- @pytest.mark.asyncio
61
- async def test_enum_pipe_delimited(client: ArrayClient):
62
- body = models.PipeDelimitedEnumArrayProperty(value=[models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN])
63
- result = await client.property.enum_pipe_delimited(body)
64
- assert result.value == [models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN]
65
-
66
-
67
- @pytest.mark.asyncio
68
- async def test_enum_newline_delimited(client: ArrayClient):
69
- body = models.NewlineDelimitedEnumArrayProperty(value=[models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN])
70
- result = await client.property.enum_newline_delimited(body)
71
- assert result.value == [models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN]
72
-
73
-
74
- @pytest.mark.asyncio
75
- async def test_extensible_enum_comma_delimited(client: ArrayClient):
76
- body = models.CommaDelimitedExtensibleEnumArrayProperty(
77
- value=[
78
- models.ColorsExtensibleEnum.BLUE,
79
- models.ColorsExtensibleEnum.RED,
80
- models.ColorsExtensibleEnum.GREEN,
81
- ]
82
- )
83
- result = await client.property.extensible_enum_comma_delimited(body)
84
- assert result.value == [
85
- models.ColorsExtensibleEnum.BLUE,
86
- models.ColorsExtensibleEnum.RED,
87
- models.ColorsExtensibleEnum.GREEN,
88
- ]
89
-
90
-
91
- @pytest.mark.asyncio
92
- async def test_extensible_enum_space_delimited(client: ArrayClient):
93
- body = models.SpaceDelimitedExtensibleEnumArrayProperty(
94
- value=[
95
- models.ColorsExtensibleEnum.BLUE,
96
- models.ColorsExtensibleEnum.RED,
97
- models.ColorsExtensibleEnum.GREEN,
98
- ]
99
- )
100
- result = await client.property.extensible_enum_space_delimited(body)
101
- assert result.value == [
102
- models.ColorsExtensibleEnum.BLUE,
103
- models.ColorsExtensibleEnum.RED,
104
- models.ColorsExtensibleEnum.GREEN,
105
- ]
106
-
107
-
108
- @pytest.mark.asyncio
109
- async def test_extensible_enum_pipe_delimited(client: ArrayClient):
110
- body = models.PipeDelimitedExtensibleEnumArrayProperty(
111
- value=[
112
- models.ColorsExtensibleEnum.BLUE,
113
- models.ColorsExtensibleEnum.RED,
114
- models.ColorsExtensibleEnum.GREEN,
115
- ]
116
- )
117
- result = await client.property.extensible_enum_pipe_delimited(body)
118
- assert result.value == [
119
- models.ColorsExtensibleEnum.BLUE,
120
- models.ColorsExtensibleEnum.RED,
121
- models.ColorsExtensibleEnum.GREEN,
122
- ]
123
-
124
-
125
- @pytest.mark.asyncio
126
- async def test_extensible_enum_newline_delimited(client: ArrayClient):
127
- body = models.NewlineDelimitedExtensibleEnumArrayProperty(
128
- value=[
129
- models.ColorsExtensibleEnum.BLUE,
130
- models.ColorsExtensibleEnum.RED,
131
- models.ColorsExtensibleEnum.GREEN,
132
- ]
133
- )
134
- result = await client.property.extensible_enum_newline_delimited(body)
135
- assert result.value == [
136
- models.ColorsExtensibleEnum.BLUE,
137
- models.ColorsExtensibleEnum.RED,
138
- models.ColorsExtensibleEnum.GREEN,
139
- ]
@@ -1,132 +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 pathlib import Path
8
- from encode.bytes.aio import BytesClient
9
- from encode.bytes.models import (
10
- DefaultBytesProperty,
11
- Base64urlBytesProperty,
12
- Base64BytesProperty,
13
- Base64urlArrayBytesProperty,
14
- )
15
-
16
- FILE_FOLDER = Path(__file__).parent.parent
17
-
18
-
19
- @pytest.fixture
20
- async def client():
21
- async with BytesClient() as client:
22
- yield client
23
-
24
-
25
- @pytest.mark.asyncio
26
- async def test_query(client: BytesClient):
27
- await client.query.default(
28
- value=bytes("test", "utf-8"),
29
- )
30
- await client.query.base64(
31
- value=bytes("test", "utf-8"),
32
- )
33
- await client.query.base64_url(
34
- value=bytes("test", "utf-8"),
35
- )
36
- await client.query.base64_url_array(
37
- value=[
38
- bytes("test", "utf-8"),
39
- bytes("test", "utf-8"),
40
- ],
41
- )
42
-
43
-
44
- @pytest.mark.asyncio
45
- async def test_property(client: BytesClient):
46
- result = await client.property.default(
47
- DefaultBytesProperty(
48
- value=bytes("test", "utf-8"),
49
- )
50
- )
51
- assert result.value == bytes("test", "utf-8")
52
-
53
- result = await client.property.base64(
54
- Base64BytesProperty(
55
- value=bytes("test", "utf-8"),
56
- )
57
- )
58
- assert result.value == bytes("test", "utf-8")
59
-
60
- result = await client.property.base64_url(
61
- Base64urlBytesProperty(
62
- value=bytes("test", "utf-8"),
63
- )
64
- )
65
- assert result.value == bytes("test", "utf-8")
66
-
67
- result = await client.property.base64_url_array(
68
- Base64urlArrayBytesProperty(
69
- value=[
70
- bytes("test", "utf-8"),
71
- bytes("test", "utf-8"),
72
- ],
73
- )
74
- )
75
- assert result.value == [
76
- bytes("test", "utf-8"),
77
- bytes("test", "utf-8"),
78
- ]
79
-
80
-
81
- @pytest.mark.asyncio
82
- async def test_header(client: BytesClient):
83
- await client.header.default(
84
- value=bytes("test", "utf-8"),
85
- )
86
- await client.header.base64(
87
- value=bytes("test", "utf-8"),
88
- )
89
- await client.header.base64_url(
90
- value=bytes("test", "utf-8"),
91
- )
92
- await client.header.base64_url_array(
93
- value=[
94
- bytes("test", "utf-8"),
95
- bytes("test", "utf-8"),
96
- ],
97
- )
98
-
99
-
100
- @pytest.fixture
101
- def png_data() -> bytes:
102
- with open(str(FILE_FOLDER / "data/image.png"), "rb") as file_in:
103
- return file_in.read()
104
-
105
-
106
- @pytest.mark.asyncio
107
- async def test_request_body(client: BytesClient, png_data: bytes):
108
- await client.request_body.default(
109
- value=png_data,
110
- )
111
- await client.request_body.octet_stream(
112
- value=png_data,
113
- )
114
- await client.request_body.custom_content_type(
115
- value=png_data,
116
- )
117
- await client.request_body.base64(
118
- value=bytes("test", "utf-8"),
119
- )
120
- await client.request_body.base64_url(
121
- value=bytes("test", "utf-8"),
122
- )
123
-
124
-
125
- @pytest.mark.asyncio
126
- async def test_response_body(client: BytesClient, png_data: bytes):
127
- expected = b"test"
128
- assert b"".join([d async for d in (await client.response_body.default())]) == png_data
129
- assert expected == await client.response_body.base64()
130
- assert b"".join([d async for d in (await client.response_body.octet_stream())]) == png_data
131
- assert b"".join([d async for d in (await client.response_body.custom_content_type())]) == png_data
132
- assert expected == await client.response_body.base64_url()
@@ -1,127 +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 datetime
7
-
8
- import pytest
9
- from encode.datetime.aio import DatetimeClient
10
- from encode.datetime.models import (
11
- DefaultDatetimeProperty,
12
- Rfc3339DatetimeProperty,
13
- Rfc7231DatetimeProperty,
14
- UnixTimestampDatetimeProperty,
15
- UnixTimestampArrayDatetimeProperty,
16
- )
17
-
18
-
19
- @pytest.fixture
20
- async def client():
21
- async with DatetimeClient() as client:
22
- yield client
23
-
24
-
25
- @pytest.mark.asyncio
26
- async def test_query(client: DatetimeClient):
27
- await client.query.default(
28
- value=datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc),
29
- )
30
- await client.query.rfc3339(
31
- value=datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc),
32
- )
33
- await client.query.rfc7231(
34
- value=datetime.datetime(2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc),
35
- )
36
- await client.query.unix_timestamp(
37
- value=datetime.datetime(2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc),
38
- )
39
- await client.query.unix_timestamp_array(
40
- value=[
41
- datetime.datetime(2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc),
42
- datetime.datetime(2023, 6, 14, 9, 17, 36, tzinfo=datetime.timezone.utc),
43
- ],
44
- )
45
-
46
-
47
- @pytest.mark.asyncio
48
- async def test_property(client: DatetimeClient):
49
- result = await client.property.default(
50
- DefaultDatetimeProperty(
51
- value=datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc),
52
- )
53
- )
54
- assert result.value == datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc)
55
-
56
- result = await client.property.rfc3339(
57
- Rfc3339DatetimeProperty(
58
- value=datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc),
59
- )
60
- )
61
- assert result.value == datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc)
62
-
63
- result = await client.property.rfc7231(
64
- Rfc7231DatetimeProperty(
65
- value=datetime.datetime(2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc),
66
- )
67
- )
68
- assert result.value == datetime.datetime(2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc)
69
-
70
- result = await client.property.unix_timestamp(
71
- UnixTimestampDatetimeProperty(
72
- value=datetime.datetime(2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc),
73
- )
74
- )
75
- assert result.value == datetime.datetime(2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc)
76
-
77
- result = await client.property.unix_timestamp_array(
78
- UnixTimestampArrayDatetimeProperty(
79
- value=[
80
- datetime.datetime(2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc),
81
- datetime.datetime(2023, 6, 14, 9, 17, 36, tzinfo=datetime.timezone.utc),
82
- ],
83
- )
84
- )
85
- assert result.value == [
86
- datetime.datetime(2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc),
87
- datetime.datetime(2023, 6, 14, 9, 17, 36, tzinfo=datetime.timezone.utc),
88
- ]
89
-
90
-
91
- @pytest.mark.asyncio
92
- async def test_header(client: DatetimeClient):
93
- await client.header.default(
94
- value=datetime.datetime(2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc),
95
- )
96
- await client.header.rfc3339(
97
- value=datetime.datetime(2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc),
98
- )
99
- await client.header.rfc7231(
100
- value=datetime.datetime(2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc),
101
- )
102
- await client.header.unix_timestamp(
103
- value=datetime.datetime(2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc),
104
- )
105
- await client.header.unix_timestamp_array(
106
- value=[
107
- datetime.datetime(2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc),
108
- datetime.datetime(2023, 6, 14, 9, 17, 36, tzinfo=datetime.timezone.utc),
109
- ]
110
- )
111
-
112
-
113
- @pytest.mark.asyncio
114
- async def test_response_header(client: DatetimeClient):
115
- cls = lambda x, y, z: z
116
- assert (await client.response_header.default(cls=cls))["value"] == datetime.datetime(
117
- 2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc
118
- )
119
- assert (await client.response_header.rfc3339(cls=cls))["value"] == datetime.datetime(
120
- 2022, 8, 26, 18, 38, 0, tzinfo=datetime.timezone.utc
121
- )
122
- assert (await client.response_header.rfc7231(cls=cls))["value"] == datetime.datetime(
123
- 2022, 8, 26, 14, 38, 0, tzinfo=datetime.timezone.utc
124
- )
125
- assert (await client.response_header.unix_timestamp(cls=cls))["value"] == datetime.datetime(
126
- 2023, 6, 12, 10, 47, 44, tzinfo=datetime.timezone.utc
127
- )
@@ -1,35 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from headasbooleantrue.aio import VisibilityClient as HeadAsBooleanTrueClient
8
- from headasbooleantrue import models as models_true
9
-
10
- from headasbooleanfalse.aio import VisibilityClient as HeadAsBooleanFalseClient
11
- from headasbooleanfalse import models as models_false
12
-
13
-
14
- @pytest.fixture
15
- async def client_true():
16
- async with HeadAsBooleanTrueClient() as client:
17
- yield client
18
-
19
-
20
- @pytest.fixture
21
- async def client_false():
22
- async with HeadAsBooleanFalseClient() as client:
23
- yield client
24
-
25
-
26
- @pytest.mark.asyncio
27
- async def test_head_true(client_true):
28
- body = models_true.VisibilityModel()
29
- assert await client_true.head_model(body, query_prop=123) == True
30
-
31
-
32
- @pytest.mark.asyncio
33
- async def test_head_false(client_false):
34
- body = models_false.VisibilityModel()
35
- assert await client_false.head_model(body, query_prop=123) is None
@@ -1,30 +0,0 @@
1
- # -------------------------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for
4
- # license information.
5
- # --------------------------------------------------------------------------
6
- import pytest
7
- from parameters.bodyoptionality.aio import BodyOptionalityClient
8
- from parameters.bodyoptionality.models import BodyModel
9
-
10
-
11
- @pytest.fixture
12
- async def client():
13
- async with BodyOptionalityClient() as client:
14
- yield client
15
-
16
-
17
- @pytest.mark.asyncio
18
- async def test_required_explicit(client: BodyOptionalityClient):
19
- await client.required_explicit(BodyModel(name="foo"))
20
-
21
-
22
- @pytest.mark.asyncio
23
- async def test_required_implicit(client: BodyOptionalityClient):
24
- await client.required_implicit(name="foo")
25
-
26
-
27
- @pytest.mark.asyncio
28
- async def test_optional_explicit(client: BodyOptionalityClient):
29
- await client.optional_explicit.set(BodyModel(name="foo"))
30
- await client.optional_explicit.omit()