@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.
- package/dist/emitter/code-model.d.ts.map +1 -1
- package/dist/emitter/code-model.js +6 -6
- package/dist/emitter/code-model.js.map +1 -1
- package/dist/emitter/emitter.d.ts.map +1 -1
- package/dist/emitter/emitter.js +27 -28
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/lib.d.ts +4 -1
- package/dist/emitter/lib.d.ts.map +1 -1
- package/dist/emitter/lib.js.map +1 -1
- package/dist/emitter/system-requirements.js +6 -4
- package/dist/emitter/system-requirements.js.map +1 -1
- package/dist/emitter/types.d.ts +2 -5
- package/dist/emitter/types.d.ts.map +1 -1
- package/dist/emitter/types.js +55 -58
- package/dist/emitter/types.js.map +1 -1
- package/dist/emitter/utils.d.ts.map +1 -1
- package/dist/emitter/utils.js +16 -17
- package/dist/emitter/utils.js.map +1 -1
- package/emitter/src/code-model.ts +6 -13
- package/emitter/src/emitter.ts +29 -31
- package/emitter/src/lib.ts +4 -0
- package/emitter/src/system-requirements.ts +4 -4
- package/emitter/src/types.ts +67 -57
- package/emitter/src/utils.ts +16 -18
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/eng/scripts/Build-Packages.ps1 +62 -37
- package/eng/scripts/Check-GitChanges.ps1 +30 -3
- package/eng/scripts/Functions.ps1 +54 -15
- package/eng/scripts/Generate.ps1 +42 -8
- package/eng/scripts/Generation.psm1 +44 -15
- package/eng/scripts/Initialize-Repository.ps1 +29 -11
- package/eng/scripts/Test-Packages.ps1 +47 -31
- package/eng/scripts/ci/config/eslint-ci.config.mjs +54 -0
- package/eng/scripts/ci/dev_requirements.txt +1 -0
- package/eng/scripts/ci/format.ts +232 -2
- package/eng/scripts/ci/lint.ts +216 -20
- package/eng/scripts/ci/regenerate-common.ts +18 -14
- package/eng/scripts/ci/regenerate.ts +305 -68
- package/eng/scripts/ci/run-tests.ts +402 -0
- package/eng/scripts/ci/run_mypy.py +4 -3
- package/eng/scripts/ci/run_pylint.py +4 -3
- package/eng/scripts/ci/run_pyright.py +4 -3
- package/eng/scripts/ci/typecheck.ts +225 -0
- package/eng/scripts/ci/util.py +1 -1
- package/eng/scripts/ci/utils.ts +5 -5
- package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
- package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
- package/eng/scripts/setup/build.ts +1 -1
- package/eng/scripts/setup/build_pygen_wheel.py +1 -0
- package/eng/scripts/setup/install.py +1 -0
- package/eng/scripts/setup/prepare.py +1 -0
- package/eng/scripts/setup/prepare.ts +1 -1
- package/eng/scripts/setup/run_tsp.py +3 -3
- package/eng/scripts/setup/system-requirements.ts +8 -4
- package/eng/scripts/setup/venvtools.py +1 -0
- package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +157 -64
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/codegen/templates/model_base.py.jinja2 +157 -64
- package/package.json +48 -42
- package/eng/scripts/ci/run-ci.ts +0 -89
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +0 -94
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +0 -36
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +0 -205
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_resource_async.py +0 -478
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_access_async.py +0 -101
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_header_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_path_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_query_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +0 -46
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +0 -58
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +0 -82
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +0 -20
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_flatten_async.py +0 -115
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_hierrarchy_building_async.py +0 -53
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_next_link_verb_async.py +0 -28
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_override_async.py +0 -106
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +0 -38
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_basic_async.py +0 -76
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +0 -22
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py +0 -39
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_model_async.py +0 -33
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +0 -80
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_scalar_async.py +0 -41
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_traits_async.py +0 -87
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +0 -19
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_example_basic_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_payload_pageable_async.py +0 -19
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_method_subscription_id_async.py +0 -248
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +0 -110
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py +0 -132
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_special_headers_client_request_id_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_versioning_previewversion_async.py +0 -53
- package/generator/test/azure/mock_api_tests/asynctests/test_client_namespace_async.py +0 -34
- package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +0 -69
- package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +0 -37
- package/generator/test/azure/mock_api_tests/asynctests/test_client_overload_async.py +0 -27
- package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_async.py +0 -64
- package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_clientoperationgroup_async.py +0 -31
- package/generator/test/azure/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
- package/generator/test/azure/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
- package/generator/test/azure/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
- package/generator/test/azure/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
- package/generator/test/azure/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
- package/generator/test/azure/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -216
- package/generator/test/azure/mock_api_tests/asynctests/test_resiliency_srv_driven_async.py +0 -130
- package/generator/test/azure/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
- package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +0 -31
- package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +0 -71
- package/generator/test/azure/mock_api_tests/conftest.py +0 -207
- package/generator/test/azure/mock_api_tests/data/image.jpg +0 -0
- package/generator/test/azure/mock_api_tests/data/image.png +0 -0
- package/generator/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +0 -89
- package/generator/test/azure/mock_api_tests/test_azure_arm_largeheader.py +0 -27
- package/generator/test/azure/mock_api_tests/test_azure_arm_nonresource.py +0 -34
- package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +0 -180
- package/generator/test/azure/mock_api_tests/test_azure_arm_resource.py +0 -436
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_access.py +0 -92
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_header.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_path.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_query.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +0 -42
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +0 -51
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +0 -70
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +0 -19
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_flatten.py +0 -104
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py +0 -45
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py +0 -27
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_override.py +0 -102
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +0 -32
- package/generator/test/azure/mock_api_tests/test_azure_core_basic.py +0 -70
- package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +0 -20
- package/generator/test/azure/mock_api_tests/test_azure_core_lro_standard.py +0 -32
- package/generator/test/azure/mock_api_tests/test_azure_core_model.py +0 -30
- package/generator/test/azure/mock_api_tests/test_azure_core_page.py +0 -71
- package/generator/test/azure/mock_api_tests/test_azure_core_scalar.py +0 -35
- package/generator/test/azure/mock_api_tests/test_azure_core_traits.py +0 -85
- package/generator/test/azure/mock_api_tests/test_azure_encode_duration.py +0 -18
- package/generator/test/azure/mock_api_tests/test_azure_example_basic.py +0 -29
- package/generator/test/azure/mock_api_tests/test_azure_payload_pageable.py +0 -18
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py +0 -235
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +0 -104
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py +0 -128
- package/generator/test/azure/mock_api_tests/test_azure_special_headers_client_request_id.py +0 -29
- package/generator/test/azure/mock_api_tests/test_azure_versioning_previewversion.py +0 -50
- package/generator/test/azure/mock_api_tests/test_clear_output_folder.py +0 -23
- package/generator/test/azure/mock_api_tests/test_client_namespace.py +0 -32
- package/generator/test/azure/mock_api_tests/test_client_naming.py +0 -57
- package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +0 -35
- package/generator/test/azure/mock_api_tests/test_client_overload.py +0 -25
- package/generator/test/azure/mock_api_tests/test_client_structure.py +0 -60
- package/generator/test/azure/mock_api_tests/test_client_structure_clientoperationgroup.py +0 -29
- package/generator/test/azure/mock_api_tests/test_encode_duration.py +0 -60
- package/generator/test/azure/mock_api_tests/test_encode_numeric.py +0 -31
- package/generator/test/azure/mock_api_tests/test_model_base_flatten_compatibility.py +0 -251
- package/generator/test/azure/mock_api_tests/test_parameters_basic.py +0 -22
- package/generator/test/azure/mock_api_tests/test_parameters_spread.py +0 -66
- package/generator/test/azure/mock_api_tests/test_payload_content_negotiation.py +0 -33
- package/generator/test/azure/mock_api_tests/test_payload_multipart.py +0 -198
- package/generator/test/azure/mock_api_tests/test_resiliency_srv_driven.py +0 -124
- package/generator/test/azure/mock_api_tests/test_serialization_encoded_name_json.py +0 -21
- package/generator/test/azure/mock_api_tests/test_service_multi_service.py +0 -29
- package/generator/test/azure/mock_api_tests/test_special_words.py +0 -63
- package/generator/test/azure/requirements.txt +0 -125
- package/generator/test/azure/tox.ini +0 -64
- package/generator/test/data/image.jpg +0 -0
- package/generator/test/data/image.png +0 -0
- package/generator/test/dev_requirements.txt +0 -8
- package/generator/test/generic_mock_api_tests/asynctests/test_authentication_async.py +0 -140
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_array_async.py +0 -139
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_bytes_async.py +0 -132
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_datetime_async.py +0 -127
- package/generator/test/generic_mock_api_tests/asynctests/test_headasboolean_async.py +0 -35
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_body_optionality_async.py +0 -30
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_collection_format_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +0 -24
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +0 -98
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_media_type_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +0 -134
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +0 -150
- package/generator/test/generic_mock_api_tests/asynctests/test_response_status_code_range_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_routes_async.py +0 -331
- package/generator/test/generic_mock_api_tests/asynctests/test_server_endpoint_not_defined_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_server_path_multiple_async.py +0 -25
- package/generator/test/generic_mock_api_tests/asynctests/test_server_path_single_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_not_versioned_async.py +0 -28
- package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_versioned_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_conditional_request_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_repeatability_async.py +0 -19
- package/generator/test/generic_mock_api_tests/asynctests/test_specs_documentation_async.py +0 -59
- package/generator/test/generic_mock_api_tests/asynctests/test_streaming_jsonl_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_array_async.py +0 -127
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +0 -98
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_extensible_async.py +0 -25
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_fixed_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_file_async.py +0 -59
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_empty_async.py +0 -32
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_enum_discriminator_async.py +0 -70
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_nested_discriminator_async.py +0 -85
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_not_discriminated_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_recursive_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_single_discriminator_async.py +0 -67
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_usage_async.py +0 -32
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_visibility_async.py +0 -47
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_additionalproperties_async.py +0 -353
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_nullable_async.py +0 -110
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_optional_async.py +0 -197
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +0 -315
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_scalar_async.py +0 -60
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_union_async.py +0 -90
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_added_async.py +0 -36
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py +0 -21
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_removed_async.py +0 -39
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py +0 -29
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_return_type_changed_from_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py +0 -22
- package/generator/test/generic_mock_api_tests/conftest.py +0 -75
- package/generator/test/generic_mock_api_tests/data/image.jpg +0 -0
- package/generator/test/generic_mock_api_tests/data/image.png +0 -0
- package/generator/test/generic_mock_api_tests/test_authentication.py +0 -130
- package/generator/test/generic_mock_api_tests/test_encode_array.py +0 -126
- package/generator/test/generic_mock_api_tests/test_encode_bytes.py +0 -128
- package/generator/test/generic_mock_api_tests/test_encode_datetime.py +0 -123
- package/generator/test/generic_mock_api_tests/test_headasboolean.py +0 -33
- package/generator/test/generic_mock_api_tests/test_parameters_body_optionality.py +0 -27
- package/generator/test/generic_mock_api_tests/test_parameters_collection_format.py +0 -33
- package/generator/test/generic_mock_api_tests/test_parameters_path.py +0 -22
- package/generator/test/generic_mock_api_tests/test_parameters_query.py +0 -17
- package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +0 -93
- package/generator/test/generic_mock_api_tests/test_payload_media_type.py +0 -25
- package/generator/test/generic_mock_api_tests/test_payload_pageable.py +0 -99
- package/generator/test/generic_mock_api_tests/test_payload_xml.py +0 -135
- package/generator/test/generic_mock_api_tests/test_response_status_code_range.py +0 -36
- package/generator/test/generic_mock_api_tests/test_routes.py +0 -285
- package/generator/test/generic_mock_api_tests/test_server_endpoint_not_defined.py +0 -17
- package/generator/test/generic_mock_api_tests/test_server_path_multiple.py +0 -21
- package/generator/test/generic_mock_api_tests/test_server_path_single.py +0 -17
- package/generator/test/generic_mock_api_tests/test_server_versions_not_versioned.py +0 -25
- package/generator/test/generic_mock_api_tests/test_server_versions_versioned.py +0 -30
- package/generator/test/generic_mock_api_tests/test_special_headers_conditional_request.py +0 -34
- package/generator/test/generic_mock_api_tests/test_special_headers_repeatability.py +0 -18
- package/generator/test/generic_mock_api_tests/test_specs_documentation.py +0 -51
- package/generator/test/generic_mock_api_tests/test_streaming_jsonl.py +0 -25
- package/generator/test/generic_mock_api_tests/test_typetest_array.py +0 -111
- package/generator/test/generic_mock_api_tests/test_typetest_dictionary.py +0 -86
- package/generator/test/generic_mock_api_tests/test_typetest_enum_extensible.py +0 -23
- package/generator/test/generic_mock_api_tests/test_typetest_enum_fixed.py +0 -25
- package/generator/test/generic_mock_api_tests/test_typetest_file.py +0 -52
- package/generator/test/generic_mock_api_tests/test_typetest_model_empty.py +0 -29
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_enum_discriminator.py +0 -58
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_nested_discriminator.py +0 -79
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_not_discriminated.py +0 -31
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_recursive.py +0 -32
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_single_discriminator.py +0 -60
- package/generator/test/generic_mock_api_tests/test_typetest_model_usage.py +0 -28
- package/generator/test/generic_mock_api_tests/test_typetest_model_visibility.py +0 -40
- package/generator/test/generic_mock_api_tests/test_typetest_property_additionalproperties.py +0 -314
- package/generator/test/generic_mock_api_tests/test_typetest_property_nullable.py +0 -102
- package/generator/test/generic_mock_api_tests/test_typetest_property_optional.py +0 -174
- package/generator/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +0 -286
- package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -53
- package/generator/test/generic_mock_api_tests/test_typetest_union.py +0 -80
- package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +0 -290
- package/generator/test/generic_mock_api_tests/test_versioning_added.py +0 -33
- package/generator/test/generic_mock_api_tests/test_versioning_made_optional.py +0 -20
- package/generator/test/generic_mock_api_tests/test_versioning_removed.py +0 -37
- package/generator/test/generic_mock_api_tests/test_versioning_renamed_from.py +0 -27
- package/generator/test/generic_mock_api_tests/test_versioning_return_type_changed_from.py +0 -17
- package/generator/test/generic_mock_api_tests/test_versioning_type_changed_from.py +0 -21
- package/generator/test/unbranded/mock_api_tests/asynctests/test_auth_flow_async.py +0 -19
- package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
- package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
- package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
- package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
- package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -218
- package/generator/test/unbranded/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/asynctests/test_special_words_async.py +0 -73
- package/generator/test/unbranded/mock_api_tests/asynctests/test_unbranded_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/conftest.py +0 -91
- package/generator/test/unbranded/mock_api_tests/data/image.jpg +0 -0
- package/generator/test/unbranded/mock_api_tests/data/image.png +0 -0
- package/generator/test/unbranded/mock_api_tests/test_auth_flow.py +0 -17
- package/generator/test/unbranded/mock_api_tests/test_encode_duration.py +0 -60
- package/generator/test/unbranded/mock_api_tests/test_encode_numeric.py +0 -32
- package/generator/test/unbranded/mock_api_tests/test_parameters_basic.py +0 -22
- package/generator/test/unbranded/mock_api_tests/test_parameters_spread.py +0 -66
- package/generator/test/unbranded/mock_api_tests/test_payload_content_negotiation.py +0 -33
- package/generator/test/unbranded/mock_api_tests/test_payload_multipart.py +0 -200
- package/generator/test/unbranded/mock_api_tests/test_serialization_encoded_name_json.py +0 -22
- package/generator/test/unbranded/mock_api_tests/test_special_words.py +0 -66
- package/generator/test/unbranded/mock_api_tests/test_unbranded.py +0 -65
- package/generator/test/unbranded/requirements.txt +0 -69
- package/generator/test/unbranded/tox.ini +0 -64
- package/generator/test/unittests/conftest.py +0 -15
- package/generator/test/unittests/requirements.txt +0 -3
- package/generator/test/unittests/test_enums.py +0 -89
- package/generator/test/unittests/test_model_base_serialization.py +0 -4906
- package/generator/test/unittests/test_model_base_xml_serialization.py +0 -1239
- package/generator/test/unittests/test_name_converter.py +0 -35
- package/generator/test/unittests/test_optional_return_type.py +0 -268
- package/generator/test/unittests/test_parameter_ordering.py +0 -104
- package/generator/test/unittests/test_sort_schema.py +0 -93
- package/generator/test/unittests/tox.ini +0 -5
- /package/eng/scripts/ci/{mypy.ini → config/mypy.ini} +0 -0
- /package/eng/scripts/ci/{pylintrc → config/pylintrc} +0 -0
- /package/eng/scripts/ci/{pyproject.toml → config/pyproject.toml} +0 -0
- /package/eng/scripts/ci/{pyrightconfig.json → config/pyrightconfig.json} +0 -0
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.clientinitialization.default.aio import (
|
|
8
|
-
HeaderParamClient,
|
|
9
|
-
MultipleParamsClient,
|
|
10
|
-
MixedParamsClient,
|
|
11
|
-
PathParamClient,
|
|
12
|
-
ParamAliasClient,
|
|
13
|
-
)
|
|
14
|
-
from specs.azure.clientgenerator.core.clientinitialization.default.models import Input
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_header_param_client():
|
|
19
|
-
async with HeaderParamClient("test-name-value") as client:
|
|
20
|
-
await client.with_query(id="test-id")
|
|
21
|
-
await client.with_body(Input(name="test-name"))
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@pytest.mark.asyncio
|
|
25
|
-
async def test_multiple_params_client():
|
|
26
|
-
async with MultipleParamsClient("test-name-value", "us-west") as client:
|
|
27
|
-
await client.with_query(id="test-id")
|
|
28
|
-
await client.with_body(Input(name="test-name"))
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@pytest.mark.asyncio
|
|
32
|
-
async def test_mixed_params_client():
|
|
33
|
-
async with MixedParamsClient("test-name-value") as client:
|
|
34
|
-
await client.with_query(region="us-west", id="test-id")
|
|
35
|
-
await client.with_body(Input(name="test-name"), region="us-west")
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
@pytest.mark.asyncio
|
|
39
|
-
async def test_path_param_client():
|
|
40
|
-
async with PathParamClient("sample-blob") as client:
|
|
41
|
-
await client.with_query(format="text")
|
|
42
|
-
await client.get_standalone()
|
|
43
|
-
await client.delete_standalone()
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
@pytest.mark.asyncio
|
|
47
|
-
async def test_param_alias_client():
|
|
48
|
-
async with ParamAliasClient("sample-blob") as client:
|
|
49
|
-
await client.with_aliased_name()
|
|
50
|
-
await client.with_original_name()
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
# @pytest.mark.asyncio
|
|
54
|
-
# async def test_parent_child_client():
|
|
55
|
-
# async with ParentClient() as client:
|
|
56
|
-
# await client.child_client.with_query()
|
|
57
|
-
# await client.child_client.get_standalone()
|
|
58
|
-
# await client.child_client.delete_standalone()
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.clientlocation.parameter.aio import MoveMethodParameterToClient
|
|
8
|
-
from specs.azure.clientgenerator.core.clientlocation.subclient.aio import MoveToExistingSubClient
|
|
9
|
-
from specs.azure.clientgenerator.core.clientlocation.newsubclient.aio import MoveToNewSubClient
|
|
10
|
-
from specs.azure.clientgenerator.core.clientlocation.rootclient.aio import MoveToRootClient
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@pytest.fixture
|
|
14
|
-
async def move_method_parameter_to_client():
|
|
15
|
-
async with MoveMethodParameterToClient(storage_account="testaccount") as client:
|
|
16
|
-
yield client
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.fixture
|
|
20
|
-
async def move_to_existing_sub_client():
|
|
21
|
-
async with MoveToExistingSubClient() as client:
|
|
22
|
-
yield client
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@pytest.fixture
|
|
26
|
-
async def move_to_new_sub_client():
|
|
27
|
-
async with MoveToNewSubClient() as client:
|
|
28
|
-
yield client
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@pytest.fixture
|
|
32
|
-
async def move_to_root_client():
|
|
33
|
-
async with MoveToRootClient() as client:
|
|
34
|
-
yield client
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
@pytest.mark.asyncio
|
|
38
|
-
async def test_move_method_parameter_to_client_blob_operations_get_blob(
|
|
39
|
-
move_method_parameter_to_client: MoveMethodParameterToClient,
|
|
40
|
-
):
|
|
41
|
-
await move_method_parameter_to_client.blob_operations.get_blob(container="testcontainer", blob="testblob.txt")
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
@pytest.mark.asyncio
|
|
45
|
-
async def test_move_to_existing_sub_client_user_operations_get_user(
|
|
46
|
-
move_to_existing_sub_client: MoveToExistingSubClient,
|
|
47
|
-
):
|
|
48
|
-
await move_to_existing_sub_client.user_operations.get_user()
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
@pytest.mark.asyncio
|
|
52
|
-
async def test_move_to_existing_sub_client_admin_operations_delete_user(
|
|
53
|
-
move_to_existing_sub_client: MoveToExistingSubClient,
|
|
54
|
-
):
|
|
55
|
-
await move_to_existing_sub_client.admin_operations.delete_user()
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
@pytest.mark.asyncio
|
|
59
|
-
async def test_move_to_existing_sub_client_admin_operations_get_admin_info(
|
|
60
|
-
move_to_existing_sub_client: MoveToExistingSubClient,
|
|
61
|
-
):
|
|
62
|
-
await move_to_existing_sub_client.admin_operations.get_admin_info()
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
@pytest.mark.asyncio
|
|
66
|
-
async def test_move_to_new_sub_client_product_operations_list_products(move_to_new_sub_client: MoveToNewSubClient):
|
|
67
|
-
await move_to_new_sub_client.product_operations.list_products()
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
@pytest.mark.asyncio
|
|
71
|
-
async def test_move_to_new_sub_client_archive_operations_archive_product(move_to_new_sub_client: MoveToNewSubClient):
|
|
72
|
-
await move_to_new_sub_client.archive_operations.archive_product()
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
@pytest.mark.asyncio
|
|
76
|
-
async def test_move_to_root_client_resource_operations_get_resource(move_to_root_client: MoveToRootClient):
|
|
77
|
-
await move_to_root_client.resource_operations.get_resource()
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
@pytest.mark.asyncio
|
|
81
|
-
async def test_move_to_root_client_get_health_status(move_to_root_client: MoveToRootClient):
|
|
82
|
-
await move_to_root_client.get_health_status()
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.emptystring.aio import DeserializeEmptyStringAsNullClient
|
|
8
|
-
from specs.azure.clientgenerator.core.emptystring import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with DeserializeEmptyStringAsNullClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_get(client: DeserializeEmptyStringAsNullClient):
|
|
19
|
-
result = await client.get()
|
|
20
|
-
assert result == models.ResponseModel(sample_url="")
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.flattenproperty.aio import FlattenPropertyClient
|
|
8
|
-
from specs.azure.clientgenerator.core.flattenproperty.models import (
|
|
9
|
-
ChildFlattenModel,
|
|
10
|
-
ChildModel,
|
|
11
|
-
FlattenModel,
|
|
12
|
-
FlattenUnknownModel,
|
|
13
|
-
NestedFlattenModel,
|
|
14
|
-
Solution,
|
|
15
|
-
SolutionProperties,
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.fixture
|
|
20
|
-
async def client():
|
|
21
|
-
async with FlattenPropertyClient() as client:
|
|
22
|
-
yield client
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
# ========== test for spector ==========
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@pytest.mark.asyncio
|
|
29
|
-
async def test_put_flatten_model(client: FlattenPropertyClient):
|
|
30
|
-
resp = FlattenModel(name="test", properties=ChildModel(age=1, description="test"))
|
|
31
|
-
assert (
|
|
32
|
-
await client.put_flatten_model(FlattenModel(name="foo", properties=ChildModel(age=10, description="bar")))
|
|
33
|
-
== resp
|
|
34
|
-
)
|
|
35
|
-
assert await client.put_flatten_model(FlattenModel(name="foo", age=10, description="bar")) == resp
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
@pytest.mark.asyncio
|
|
39
|
-
async def test_put_nested_flatten_model(client: FlattenPropertyClient):
|
|
40
|
-
# python doesn't support nested flatten model
|
|
41
|
-
assert await client.put_nested_flatten_model(
|
|
42
|
-
NestedFlattenModel(
|
|
43
|
-
name="foo",
|
|
44
|
-
properties=ChildFlattenModel(summary="bar", properties=ChildModel(age=10, description="test")),
|
|
45
|
-
)
|
|
46
|
-
) == NestedFlattenModel(
|
|
47
|
-
name="test",
|
|
48
|
-
properties=ChildFlattenModel(summary="test", properties=ChildModel(age=1, description="foo")),
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
@pytest.mark.asyncio
|
|
53
|
-
async def test_put_flatten_unknown_model(client: FlattenPropertyClient):
|
|
54
|
-
result = await client.put_flatten_unknown_model(FlattenUnknownModel(name="foo"))
|
|
55
|
-
assert result.name == "test"
|
|
56
|
-
assert result.properties == {"key1": "value1", "key2": "value2"}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
@pytest.mark.asyncio
|
|
60
|
-
async def test_put_flatten_read_only_model(client: FlattenPropertyClient):
|
|
61
|
-
result = await client.put_flatten_read_only_model(Solution(name="foo"))
|
|
62
|
-
assert result == Solution(
|
|
63
|
-
name="foo",
|
|
64
|
-
properties=SolutionProperties(solution_id="solution1", title="Solution Title", content="Solution Content"),
|
|
65
|
-
)
|
|
66
|
-
assert result.solution_id == "solution1"
|
|
67
|
-
assert result.title == "Solution Title"
|
|
68
|
-
assert result.content == "Solution Content"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
@pytest.mark.asyncio # ============test for compatibility ============
|
|
72
|
-
async def test_dpg_model_common():
|
|
73
|
-
flatten_model = FlattenModel(name="hello", properties=ChildModel(age=0, description="test"))
|
|
74
|
-
assert flatten_model.name == "hello"
|
|
75
|
-
assert flatten_model.properties.age == 0
|
|
76
|
-
assert flatten_model.properties.description == "test"
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
@pytest.mark.asyncio
|
|
80
|
-
async def test_dpg_model_none():
|
|
81
|
-
flatten_model = FlattenModel()
|
|
82
|
-
assert flatten_model.name is None
|
|
83
|
-
assert flatten_model.properties is None
|
|
84
|
-
assert flatten_model.age is None
|
|
85
|
-
assert flatten_model.description is None
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
@pytest.mark.asyncio
|
|
89
|
-
async def test_dpg_model_compatibility():
|
|
90
|
-
flatten_model = FlattenModel(description="test", age=0)
|
|
91
|
-
assert flatten_model.description == "test"
|
|
92
|
-
assert flatten_model.age == 0
|
|
93
|
-
assert flatten_model.properties.description == "test"
|
|
94
|
-
assert flatten_model.properties.age == 0
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
@pytest.mark.asyncio
|
|
98
|
-
async def test_dpg_model_setattr():
|
|
99
|
-
flatten_model = FlattenModel()
|
|
100
|
-
|
|
101
|
-
flatten_model.age = 0
|
|
102
|
-
assert flatten_model.properties.age == 0
|
|
103
|
-
flatten_model.description = "test"
|
|
104
|
-
assert flatten_model.properties.description == "test"
|
|
105
|
-
|
|
106
|
-
flatten_model.properties.age = 1
|
|
107
|
-
assert flatten_model.age == 1
|
|
108
|
-
flatten_model.properties.description = "test2"
|
|
109
|
-
assert flatten_model.description == "test2"
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
@pytest.mark.asyncio
|
|
113
|
-
async def test_dpg_model_exception():
|
|
114
|
-
with pytest.raises(AttributeError):
|
|
115
|
-
FlattenModel().no_prop
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.hierarchybuilding.aio import HierarchyBuildingClient
|
|
8
|
-
from specs.azure.clientgenerator.core.hierarchybuilding.models import (
|
|
9
|
-
Pet,
|
|
10
|
-
Dog,
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@pytest.fixture
|
|
15
|
-
async def client():
|
|
16
|
-
async with HierarchyBuildingClient() as client:
|
|
17
|
-
yield client
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# ========== test for spector ==========
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@pytest.mark.asyncio
|
|
24
|
-
async def test_update_pet_as_pet(client: HierarchyBuildingClient):
|
|
25
|
-
resp = Pet(name="Buddy", trained=True)
|
|
26
|
-
assert await client.pet_operations.update_pet_as_pet(Pet(name="Buddy", trained=True)) == resp
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@pytest.mark.asyncio
|
|
30
|
-
async def test_update_dog_as_pet(client: HierarchyBuildingClient):
|
|
31
|
-
resp = Dog(name="Rex", trained=True, breed="German Shepherd")
|
|
32
|
-
assert await client.pet_operations.update_dog_as_pet(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
@pytest.mark.asyncio
|
|
36
|
-
async def test_update_pet_as_animal(client: HierarchyBuildingClient):
|
|
37
|
-
resp = Pet(name="Buddy", trained=True)
|
|
38
|
-
assert await client.animal_operations.update_pet_as_animal(Pet(name="Buddy", trained=True)) == resp
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
@pytest.mark.asyncio
|
|
42
|
-
async def test_update_dog_as_animal(client: HierarchyBuildingClient):
|
|
43
|
-
resp = Dog(name="Rex", trained=True, breed="German Shepherd")
|
|
44
|
-
assert (
|
|
45
|
-
await client.animal_operations.update_dog_as_animal(Dog(name="Rex", trained=True, breed="German Shepherd"))
|
|
46
|
-
== resp
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
@pytest.mark.asyncio
|
|
51
|
-
async def test_update_dog_as_dog(client: HierarchyBuildingClient):
|
|
52
|
-
resp = Dog(name="Rex", trained=True, breed="German Shepherd")
|
|
53
|
-
assert await client.dog_operations.update_dog_as_dog(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
|
|
8
|
-
from specs.azure.clientgenerator.core.nextlinkverb.aio import NextLinkVerbClient
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with NextLinkVerbClient(endpoint="http://localhost:3000") as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def assert_items(items):
|
|
18
|
-
assert len(items) == 2
|
|
19
|
-
assert items[0].id == "test1"
|
|
20
|
-
assert items[1].id == "test2"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@pytest.mark.asyncio
|
|
24
|
-
async def test_list_items_next_link_verb(client: NextLinkVerbClient):
|
|
25
|
-
# The operation uses POST for nextLink per @nextLinkVerb
|
|
26
|
-
pager = client.list_items()
|
|
27
|
-
items = [item async for item in pager]
|
|
28
|
-
assert_items(items)
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import inspect
|
|
7
|
-
import pytest
|
|
8
|
-
from specs.azure.clientgenerator.core.override.aio import OverrideClient
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with OverrideClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_reorder_parameters(client: OverrideClient):
|
|
19
|
-
await client.reorder_parameters.reorder("param1", "param2")
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@pytest.mark.asyncio
|
|
23
|
-
async def test_group_parameters(client: OverrideClient):
|
|
24
|
-
await client.group_parameters.group(param1="param1", param2="param2")
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
@pytest.mark.asyncio
|
|
28
|
-
async def test_require_optional_parameter(client: OverrideClient):
|
|
29
|
-
await client.require_optional_parameter.require_optional("param1", "param2")
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@pytest.mark.asyncio
|
|
33
|
-
async def test_remove_optional_parameter(client: OverrideClient):
|
|
34
|
-
# Test with optional param2 provided
|
|
35
|
-
await client.remove_optional_parameter.remove_optional("param1", param2="param2")
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def test_reorder_parameters_unit_async(client: OverrideClient):
|
|
39
|
-
# make sure signature name of `reorder_parameters` are ["param1", "param2"]
|
|
40
|
-
# Get the reorder method from the reorder_parameters operation
|
|
41
|
-
reorder_method = client.reorder_parameters.reorder
|
|
42
|
-
|
|
43
|
-
# Inspect the method signature
|
|
44
|
-
sig = inspect.signature(reorder_method)
|
|
45
|
-
|
|
46
|
-
# Get parameter names excluding 'self' and '**kwargs'
|
|
47
|
-
param_names = [
|
|
48
|
-
param_name
|
|
49
|
-
for param_name, param in sig.parameters.items()
|
|
50
|
-
if param_name not in ("self", "kwargs") and param.kind != param.VAR_KEYWORD
|
|
51
|
-
]
|
|
52
|
-
|
|
53
|
-
# Assert that the parameter names are exactly ["param1", "param2"]
|
|
54
|
-
assert param_names == ["param1", "param2"], f"Expected parameter names ['param1', 'param2'], but got {param_names}"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
def test_require_optional_parameter_signature(client: OverrideClient):
|
|
58
|
-
# Get the require_optional method
|
|
59
|
-
require_optional_method = client.require_optional_parameter.require_optional
|
|
60
|
-
|
|
61
|
-
# Inspect the method signature
|
|
62
|
-
sig = inspect.signature(require_optional_method)
|
|
63
|
-
|
|
64
|
-
# Get parameter details
|
|
65
|
-
params = sig.parameters
|
|
66
|
-
|
|
67
|
-
# Check that both param1 and param2 are required (no default values)
|
|
68
|
-
assert "param1" in params, "param1 should be present in signature"
|
|
69
|
-
assert "param2" in params, "param2 should be present in signature"
|
|
70
|
-
assert params["param1"].default == params["param1"].empty, "param1 should have no default value"
|
|
71
|
-
assert params["param2"].default == params["param2"].empty, "param2 should have no default value"
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
def test_remove_optional_parameter_signature(client: OverrideClient):
|
|
75
|
-
"""Test that remove_optional_parameter.remove_optional method signature has correct parameters.
|
|
76
|
-
|
|
77
|
-
The @override decorator should remove some optional parameters from the method signature.
|
|
78
|
-
Only param1 (required) and param2 (optional) should remain.
|
|
79
|
-
"""
|
|
80
|
-
# Get the remove_optional method
|
|
81
|
-
remove_optional_method = client.remove_optional_parameter.remove_optional
|
|
82
|
-
|
|
83
|
-
# Inspect the method signature
|
|
84
|
-
sig = inspect.signature(remove_optional_method)
|
|
85
|
-
|
|
86
|
-
# Get parameter names excluding 'self' and '**kwargs'
|
|
87
|
-
param_names = [
|
|
88
|
-
param_name
|
|
89
|
-
for param_name, param in sig.parameters.items()
|
|
90
|
-
if param_name not in ("self", "kwargs") and param.kind != param.VAR_KEYWORD
|
|
91
|
-
]
|
|
92
|
-
|
|
93
|
-
# Should have param1 (required) and param2 (keyword-only optional)
|
|
94
|
-
assert "param1" in param_names, "param1 should be present in signature"
|
|
95
|
-
assert "param2" in sig.parameters, "param2 should be present in signature"
|
|
96
|
-
|
|
97
|
-
# param1 should be required (positional)
|
|
98
|
-
assert sig.parameters["param1"].default == sig.parameters["param1"].empty, "param1 should have no default value"
|
|
99
|
-
|
|
100
|
-
# param2 should be optional keyword-only with None default
|
|
101
|
-
assert sig.parameters["param2"].kind == sig.parameters["param2"].KEYWORD_ONLY, "param2 should be keyword-only"
|
|
102
|
-
assert sig.parameters["param2"].default is None, "param2 should have None as default value"
|
|
103
|
-
|
|
104
|
-
# param3 and param4 should be removed
|
|
105
|
-
assert "param3" not in param_names, "param3 should not be present in signature"
|
|
106
|
-
assert "param4" not in param_names, "param4 should not be present in signature"
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.usage.aio import UsageClient
|
|
8
|
-
from specs.azure.clientgenerator.core.usage import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with UsageClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_input_to_input_output(client: UsageClient):
|
|
19
|
-
await client.model_in_operation.input_to_input_output(models.InputModel(name="Madge"))
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@pytest.mark.asyncio
|
|
23
|
-
async def test_output_to_input_output(client: UsageClient):
|
|
24
|
-
assert models.OutputModel(name="Madge") == await client.model_in_operation.output_to_input_output()
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
@pytest.mark.asyncio
|
|
28
|
-
async def test_model_usage(client: UsageClient):
|
|
29
|
-
assert models.RoundTripModel(
|
|
30
|
-
result=models.ResultModel(name="Madge")
|
|
31
|
-
) == await client.model_in_operation.model_in_read_only_property(body=models.RoundTripModel())
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
@pytest.mark.asyncio
|
|
35
|
-
async def test_orphan_model_serializable(client: UsageClient):
|
|
36
|
-
await client.model_in_operation.orphan_model_serializable(
|
|
37
|
-
body=models.OrphanModel(model_name="name", description="desc")
|
|
38
|
-
)
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.basic import models, aio
|
|
8
|
-
|
|
9
|
-
VALID_USER = models.User(id=1, name="Madge", etag="11bdc430-65e8-45ad-81d9-8ffa60d55b59")
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
@pytest.fixture
|
|
13
|
-
async def client():
|
|
14
|
-
async with aio.BasicClient() as client:
|
|
15
|
-
yield client
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
@pytest.mark.asyncio
|
|
19
|
-
async def test_create_or_update(client: aio.BasicClient):
|
|
20
|
-
result = await client.create_or_update(id=1, resource={"name": "Madge"})
|
|
21
|
-
assert result == VALID_USER
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@pytest.mark.asyncio
|
|
25
|
-
async def test_create_or_replace(client: aio.BasicClient):
|
|
26
|
-
result = await client.create_or_replace(id=1, resource={"name": "Madge"})
|
|
27
|
-
assert result == VALID_USER
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
@pytest.mark.asyncio
|
|
31
|
-
async def test_get(client: aio.BasicClient):
|
|
32
|
-
result = await client.get(id=1)
|
|
33
|
-
assert result == VALID_USER
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
@pytest.mark.asyncio
|
|
37
|
-
async def test_list(client: aio.BasicClient):
|
|
38
|
-
result = client.list(
|
|
39
|
-
top=5,
|
|
40
|
-
skip=10,
|
|
41
|
-
orderby=["id"],
|
|
42
|
-
filter="id lt 10",
|
|
43
|
-
select=["id", "orders", "etag"],
|
|
44
|
-
expand=["orders"],
|
|
45
|
-
)
|
|
46
|
-
result = [item async for item in result]
|
|
47
|
-
assert len(result) == 2
|
|
48
|
-
assert result[0].id == 1
|
|
49
|
-
assert result[0].name == "Madge"
|
|
50
|
-
assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
51
|
-
assert result[0].orders[0].id == 1
|
|
52
|
-
assert result[0].orders[0].user_id == 1
|
|
53
|
-
assert result[0].orders[0].detail == "a recorder"
|
|
54
|
-
assert result[1].id == 2
|
|
55
|
-
assert result[1].name == "John"
|
|
56
|
-
assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b5a"
|
|
57
|
-
assert result[1].orders[0].id == 2
|
|
58
|
-
assert result[1].orders[0].user_id == 2
|
|
59
|
-
assert result[1].orders[0].detail == "a TV"
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
@pytest.mark.asyncio
|
|
63
|
-
async def test_delete(client: aio.BasicClient):
|
|
64
|
-
await client.delete(id=1)
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
@pytest.mark.asyncio
|
|
68
|
-
async def test_export(client: aio.BasicClient):
|
|
69
|
-
result = await client.export(id=1, format="json")
|
|
70
|
-
assert result == VALID_USER
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
@pytest.mark.asyncio
|
|
74
|
-
async def test_export_all_users(client: aio.BasicClient):
|
|
75
|
-
result = await client.export_all_users(format="json")
|
|
76
|
-
assert result.users[0] == VALID_USER
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.lro.rpc.aio import RpcClient
|
|
8
|
-
from specs.azure.core.lro.rpc import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with RpcClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_long_running_rpc(client: RpcClient, async_polling_method):
|
|
19
|
-
result = await client.begin_long_running_rpc(
|
|
20
|
-
models.GenerationOptions(prompt="text"), polling_interval=0, polling=async_polling_method
|
|
21
|
-
)
|
|
22
|
-
assert (await result.result()) == models.GenerationResult(data="text data")
|
package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.lro.standard.aio import StandardClient
|
|
8
|
-
from specs.azure.core.lro.standard.models import User, ExportedUser
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with StandardClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_lro_core_put(client, async_polling_method):
|
|
19
|
-
user = User({"name": "madge", "role": "contributor"})
|
|
20
|
-
result = await (
|
|
21
|
-
await client.begin_create_or_replace(
|
|
22
|
-
name=user.name, resource=user, polling_interval=0, polling=async_polling_method
|
|
23
|
-
)
|
|
24
|
-
).result()
|
|
25
|
-
assert result == user
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@pytest.mark.asyncio
|
|
29
|
-
async def test_lro_core_delete(client, async_polling_method):
|
|
30
|
-
await (await client.begin_delete(name="madge", polling_interval=0, polling=async_polling_method)).result()
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
@pytest.mark.asyncio
|
|
34
|
-
async def test_lro_core_export(client, async_polling_method):
|
|
35
|
-
export_user = ExportedUser({"name": "madge", "resourceUri": "/users/madge"})
|
|
36
|
-
result = await (
|
|
37
|
-
await client.begin_export(name="madge", format="json", polling_interval=0, polling=async_polling_method)
|
|
38
|
-
).result()
|
|
39
|
-
assert result == export_user
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.model.aio import ModelClient
|
|
8
|
-
from specs.azure.core.model.models import AzureEmbeddingModel
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with ModelClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_azure_core_embedding_vector_post(client: ModelClient):
|
|
19
|
-
embedding_model = AzureEmbeddingModel(embedding=[0, 1, 2, 3, 4])
|
|
20
|
-
result = await client.azure_core_embedding_vector.post(
|
|
21
|
-
body=embedding_model,
|
|
22
|
-
)
|
|
23
|
-
assert result == AzureEmbeddingModel(embedding=[5, 6, 7, 8, 9])
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
@pytest.mark.asyncio
|
|
27
|
-
async def test_azure_core_embedding_vector_put(client: ModelClient):
|
|
28
|
-
await client.azure_core_embedding_vector.put(body=[0, 1, 2, 3, 4])
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@pytest.mark.asyncio
|
|
32
|
-
async def test_azure_core_embedding_vector_get(client: ModelClient):
|
|
33
|
-
assert [0, 1, 2, 3, 4] == (await client.azure_core_embedding_vector.get())
|