@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
package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.clientlocation.parameter import MoveMethodParameterToClient
|
|
8
|
-
from specs.azure.clientgenerator.core.clientlocation.subclient import MoveToExistingSubClient
|
|
9
|
-
from specs.azure.clientgenerator.core.clientlocation.newsubclient import MoveToNewSubClient
|
|
10
|
-
from specs.azure.clientgenerator.core.clientlocation.rootclient import MoveToRootClient
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@pytest.fixture
|
|
14
|
-
def move_method_parameter_to_client():
|
|
15
|
-
with MoveMethodParameterToClient(storage_account="testaccount") as client:
|
|
16
|
-
yield client
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.fixture
|
|
20
|
-
def move_to_existing_sub_client():
|
|
21
|
-
with MoveToExistingSubClient() as client:
|
|
22
|
-
yield client
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@pytest.fixture
|
|
26
|
-
def move_to_new_sub_client():
|
|
27
|
-
with MoveToNewSubClient() as client:
|
|
28
|
-
yield client
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
@pytest.fixture
|
|
32
|
-
def move_to_root_client():
|
|
33
|
-
with MoveToRootClient() as client:
|
|
34
|
-
yield client
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
def test_move_method_parameter_to_client_blob_operations_get_blob(
|
|
38
|
-
move_method_parameter_to_client: MoveMethodParameterToClient,
|
|
39
|
-
):
|
|
40
|
-
move_method_parameter_to_client.blob_operations.get_blob(container="testcontainer", blob="testblob.txt")
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def test_move_to_existing_sub_client_user_operations_get_user(move_to_existing_sub_client: MoveToExistingSubClient):
|
|
44
|
-
move_to_existing_sub_client.user_operations.get_user()
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
def test_move_to_existing_sub_client_admin_operations_delete_user(move_to_existing_sub_client: MoveToExistingSubClient):
|
|
48
|
-
move_to_existing_sub_client.admin_operations.delete_user()
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
def test_move_to_existing_sub_client_admin_operations_get_admin_info(
|
|
52
|
-
move_to_existing_sub_client: MoveToExistingSubClient,
|
|
53
|
-
):
|
|
54
|
-
move_to_existing_sub_client.admin_operations.get_admin_info()
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
def test_move_to_new_sub_client_product_operations_list_products(move_to_new_sub_client: MoveToNewSubClient):
|
|
58
|
-
move_to_new_sub_client.product_operations.list_products()
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def test_move_to_new_sub_client_archive_operations_archive_product(move_to_new_sub_client: MoveToNewSubClient):
|
|
62
|
-
move_to_new_sub_client.archive_operations.archive_product()
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def test_move_to_root_client_resource_operations_get_resource(move_to_root_client: MoveToRootClient):
|
|
66
|
-
move_to_root_client.resource_operations.get_resource()
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
def test_move_to_root_client_get_health_status(move_to_root_client: MoveToRootClient):
|
|
70
|
-
move_to_root_client.get_health_status()
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.emptystring import DeserializeEmptyStringAsNullClient
|
|
8
|
-
from specs.azure.clientgenerator.core.emptystring import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with DeserializeEmptyStringAsNullClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_get(client: DeserializeEmptyStringAsNullClient):
|
|
18
|
-
result = client.get()
|
|
19
|
-
assert result == models.ResponseModel(sample_url="")
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.flattenproperty import FlattenPropertyClient
|
|
8
|
-
from specs.azure.clientgenerator.core.flattenproperty.models import (
|
|
9
|
-
ChildFlattenModel,
|
|
10
|
-
ChildModel,
|
|
11
|
-
FlattenModel,
|
|
12
|
-
FlattenUnknownModel,
|
|
13
|
-
NestedFlattenModel,
|
|
14
|
-
Solution,
|
|
15
|
-
SolutionProperties,
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
@pytest.fixture
|
|
20
|
-
def client():
|
|
21
|
-
with FlattenPropertyClient() as client:
|
|
22
|
-
yield client
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
# ========== test for spector ==========
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def test_put_flatten_model(client: FlattenPropertyClient):
|
|
29
|
-
resp = FlattenModel(name="test", properties=ChildModel(age=1, description="test"))
|
|
30
|
-
assert client.put_flatten_model(FlattenModel(name="foo", properties=ChildModel(age=10, description="bar"))) == resp
|
|
31
|
-
assert client.put_flatten_model(FlattenModel(name="foo", age=10, description="bar")) == resp
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def test_put_nested_flatten_model(client: FlattenPropertyClient):
|
|
35
|
-
# python doesn't support nested flatten model
|
|
36
|
-
assert client.put_nested_flatten_model(
|
|
37
|
-
NestedFlattenModel(
|
|
38
|
-
name="foo",
|
|
39
|
-
properties=ChildFlattenModel(summary="bar", properties=ChildModel(age=10, description="test")),
|
|
40
|
-
)
|
|
41
|
-
) == NestedFlattenModel(
|
|
42
|
-
name="test",
|
|
43
|
-
properties=ChildFlattenModel(summary="test", properties=ChildModel(age=1, description="foo")),
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
def test_put_flatten_unknown_model(client: FlattenPropertyClient):
|
|
48
|
-
result = client.put_flatten_unknown_model(FlattenUnknownModel(name="foo"))
|
|
49
|
-
assert result.name == "test"
|
|
50
|
-
assert result.properties == {"key1": "value1", "key2": "value2"}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
def test_put_flatten_read_only_model(client: FlattenPropertyClient):
|
|
54
|
-
result = client.put_flatten_read_only_model(Solution(name="foo"))
|
|
55
|
-
assert result == Solution(
|
|
56
|
-
name="foo",
|
|
57
|
-
properties=SolutionProperties(solution_id="solution1", title="Solution Title", content="Solution Content"),
|
|
58
|
-
)
|
|
59
|
-
assert result.solution_id == "solution1"
|
|
60
|
-
assert result.title == "Solution Title"
|
|
61
|
-
assert result.content == "Solution Content"
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
# ============test for compatibility ============
|
|
65
|
-
def test_dpg_model_common():
|
|
66
|
-
flatten_model = FlattenModel(name="hello", properties=ChildModel(age=0, description="test"))
|
|
67
|
-
assert flatten_model.name == "hello"
|
|
68
|
-
assert flatten_model.properties.age == 0
|
|
69
|
-
assert flatten_model.properties.description == "test"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
def test_dpg_model_none():
|
|
73
|
-
flatten_model = FlattenModel()
|
|
74
|
-
assert flatten_model.name is None
|
|
75
|
-
assert flatten_model.properties is None
|
|
76
|
-
assert flatten_model.age is None
|
|
77
|
-
assert flatten_model.description is None
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
def test_dpg_model_compatibility():
|
|
81
|
-
flatten_model = FlattenModel(description="test", age=0)
|
|
82
|
-
assert flatten_model.description == "test"
|
|
83
|
-
assert flatten_model.age == 0
|
|
84
|
-
assert flatten_model.properties.description == "test"
|
|
85
|
-
assert flatten_model.properties.age == 0
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
def test_dpg_model_setattr():
|
|
89
|
-
flatten_model = FlattenModel()
|
|
90
|
-
|
|
91
|
-
flatten_model.age = 0
|
|
92
|
-
assert flatten_model.properties.age == 0
|
|
93
|
-
flatten_model.description = "test"
|
|
94
|
-
assert flatten_model.properties.description == "test"
|
|
95
|
-
|
|
96
|
-
flatten_model.properties.age = 1
|
|
97
|
-
assert flatten_model.age == 1
|
|
98
|
-
flatten_model.properties.description = "test2"
|
|
99
|
-
assert flatten_model.description == "test2"
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
def test_dpg_model_exception():
|
|
103
|
-
with pytest.raises(AttributeError):
|
|
104
|
-
FlattenModel().no_prop
|
package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.hierarchybuilding import HierarchyBuildingClient
|
|
8
|
-
from specs.azure.clientgenerator.core.hierarchybuilding.models import (
|
|
9
|
-
Pet,
|
|
10
|
-
Dog,
|
|
11
|
-
)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@pytest.fixture
|
|
15
|
-
def client():
|
|
16
|
-
with HierarchyBuildingClient() as client:
|
|
17
|
-
yield client
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
# ========== test for spector ==========
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def test_update_pet_as_pet(client: HierarchyBuildingClient):
|
|
24
|
-
resp = Pet(name="Buddy", trained=True)
|
|
25
|
-
assert client.pet_operations.update_pet_as_pet(Pet(name="Buddy", trained=True)) == resp
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def test_update_dog_as_pet(client: HierarchyBuildingClient):
|
|
29
|
-
resp = Dog(name="Rex", trained=True, breed="German Shepherd")
|
|
30
|
-
assert client.pet_operations.update_dog_as_pet(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def test_update_pet_as_animal(client: HierarchyBuildingClient):
|
|
34
|
-
resp = Pet(name="Buddy", trained=True)
|
|
35
|
-
assert client.animal_operations.update_pet_as_animal(Pet(name="Buddy", trained=True)) == resp
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def test_update_dog_as_animal(client: HierarchyBuildingClient):
|
|
39
|
-
resp = Dog(name="Rex", trained=True, breed="German Shepherd")
|
|
40
|
-
assert client.animal_operations.update_dog_as_animal(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def test_update_dog_as_dog(client: HierarchyBuildingClient):
|
|
44
|
-
resp = Dog(name="Rex", trained=True, breed="German Shepherd")
|
|
45
|
-
assert client.dog_operations.update_dog_as_dog(Dog(name="Rex", trained=True, breed="German Shepherd")) == resp
|
package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
|
|
8
|
-
from specs.azure.clientgenerator.core.nextlinkverb import NextLinkVerbClient
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with NextLinkVerbClient(endpoint="http://localhost:3000") as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def assert_items(items):
|
|
18
|
-
items = list(items)
|
|
19
|
-
assert len(items) == 2
|
|
20
|
-
assert items[0].id == "test1"
|
|
21
|
-
assert items[1].id == "test2"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def test_list_items_next_link_verb(client: NextLinkVerbClient):
|
|
25
|
-
# The operation uses POST for nextLink per @nextLinkVerb
|
|
26
|
-
pager = client.list_items()
|
|
27
|
-
assert_items(pager)
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import inspect
|
|
7
|
-
import pytest
|
|
8
|
-
from specs.azure.clientgenerator.core.override import OverrideClient
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with OverrideClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_reorder_parameters(client: OverrideClient):
|
|
18
|
-
client.reorder_parameters.reorder("param1", "param2")
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def test_group_parameters(client: OverrideClient):
|
|
22
|
-
client.group_parameters.group(param1="param1", param2="param2")
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def test_require_optional_parameter(client: OverrideClient):
|
|
26
|
-
client.require_optional_parameter.require_optional("param1", "param2")
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def test_remove_optional_parameter(client: OverrideClient):
|
|
30
|
-
# Test with optional param2 provided
|
|
31
|
-
client.remove_optional_parameter.remove_optional("param1", param2="param2")
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
# make sure signature name of `reorder_parameters` are ["param1", "param2"]
|
|
35
|
-
def test_reorder_parameters_unit(client: OverrideClient):
|
|
36
|
-
# Get the reorder method from the reorder_parameters operation
|
|
37
|
-
reorder_method = client.reorder_parameters.reorder
|
|
38
|
-
|
|
39
|
-
# Inspect the method signature
|
|
40
|
-
sig = inspect.signature(reorder_method)
|
|
41
|
-
|
|
42
|
-
# Get parameter names excluding 'self' and '**kwargs'
|
|
43
|
-
param_names = [
|
|
44
|
-
param_name
|
|
45
|
-
for param_name, param in sig.parameters.items()
|
|
46
|
-
if param_name not in ("self", "kwargs") and param.kind != param.VAR_KEYWORD
|
|
47
|
-
]
|
|
48
|
-
|
|
49
|
-
# Assert that the parameter names are exactly ["param1", "param2"]
|
|
50
|
-
assert param_names == ["param1", "param2"], f"Expected parameter names ['param1', 'param2'], but got {param_names}"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
def test_require_optional_parameter_signature(client: OverrideClient):
|
|
54
|
-
# Get the require_optional method
|
|
55
|
-
require_optional_method = client.require_optional_parameter.require_optional
|
|
56
|
-
|
|
57
|
-
# Inspect the method signature
|
|
58
|
-
sig = inspect.signature(require_optional_method)
|
|
59
|
-
|
|
60
|
-
# Get parameter details
|
|
61
|
-
params = sig.parameters
|
|
62
|
-
|
|
63
|
-
# Check that both param1 and param2 are required (no default values)
|
|
64
|
-
assert "param1" in params, "param1 should be present in signature"
|
|
65
|
-
assert "param2" in params, "param2 should be present in signature"
|
|
66
|
-
assert params["param1"].default == params["param1"].empty, "param1 should have no default value"
|
|
67
|
-
assert params["param2"].default == params["param2"].empty, "param2 should have no default value"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
def test_remove_optional_parameter_signature(client: OverrideClient):
|
|
71
|
-
"""Test that remove_optional_parameter.remove_optional method signature has correct parameters.
|
|
72
|
-
|
|
73
|
-
The @override decorator should remove some optional parameters from the method signature.
|
|
74
|
-
Only param1 (required) and param2 (optional) should remain.
|
|
75
|
-
"""
|
|
76
|
-
# Get the remove_optional method
|
|
77
|
-
remove_optional_method = client.remove_optional_parameter.remove_optional
|
|
78
|
-
|
|
79
|
-
# Inspect the method signature
|
|
80
|
-
sig = inspect.signature(remove_optional_method)
|
|
81
|
-
|
|
82
|
-
# Get parameter names excluding 'self' and '**kwargs'
|
|
83
|
-
param_names = [
|
|
84
|
-
param_name
|
|
85
|
-
for param_name, param in sig.parameters.items()
|
|
86
|
-
if param_name not in ("self", "kwargs") and param.kind != param.VAR_KEYWORD
|
|
87
|
-
]
|
|
88
|
-
|
|
89
|
-
# Should have param1 (required) and param2 (keyword-only optional)
|
|
90
|
-
assert "param1" in param_names, "param1 should be present in signature"
|
|
91
|
-
assert "param2" in sig.parameters, "param2 should be present in signature"
|
|
92
|
-
|
|
93
|
-
# param1 should be required (positional)
|
|
94
|
-
assert sig.parameters["param1"].default == sig.parameters["param1"].empty, "param1 should have no default value"
|
|
95
|
-
|
|
96
|
-
# param2 should be optional keyword-only with None default
|
|
97
|
-
assert sig.parameters["param2"].kind == sig.parameters["param2"].KEYWORD_ONLY, "param2 should be keyword-only"
|
|
98
|
-
assert sig.parameters["param2"].default is None, "param2 should have None as default value"
|
|
99
|
-
|
|
100
|
-
# param3 and param4 should be removed
|
|
101
|
-
assert "param3" not in param_names, "param3 should not be present in signature"
|
|
102
|
-
assert "param4" not in param_names, "param4 should not be present in signature"
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.clientgenerator.core.usage import UsageClient
|
|
8
|
-
from specs.azure.clientgenerator.core.usage import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with UsageClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_input_to_input_output(client: UsageClient):
|
|
18
|
-
client.model_in_operation.input_to_input_output(models.InputModel(name="Madge"))
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def test_output_to_input_output(client: UsageClient):
|
|
22
|
-
assert models.OutputModel(name="Madge") == client.model_in_operation.output_to_input_output()
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def test_model_usage(client: UsageClient):
|
|
26
|
-
assert models.RoundTripModel(
|
|
27
|
-
result=models.ResultModel(name="Madge")
|
|
28
|
-
) == client.model_in_operation.model_in_read_only_property(body=models.RoundTripModel())
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
def test_orphan_model_serializable(client: UsageClient):
|
|
32
|
-
client.model_in_operation.orphan_model_serializable(body=models.OrphanModel(model_name="name", description="desc"))
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.basic import BasicClient, models
|
|
8
|
-
|
|
9
|
-
VALID_USER = models.User(id=1, name="Madge", etag="11bdc430-65e8-45ad-81d9-8ffa60d55b59")
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
@pytest.fixture
|
|
13
|
-
def client():
|
|
14
|
-
with BasicClient() as client:
|
|
15
|
-
yield client
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def test_create_or_update(client: BasicClient):
|
|
19
|
-
result = client.create_or_update(id=1, resource={"name": "Madge"})
|
|
20
|
-
assert result == VALID_USER
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def test_create_or_replace(client: BasicClient):
|
|
24
|
-
result = client.create_or_replace(id=1, resource={"name": "Madge"})
|
|
25
|
-
assert result == VALID_USER
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def test_get(client: BasicClient):
|
|
29
|
-
result = client.get(id=1)
|
|
30
|
-
assert result == VALID_USER
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
def test_list(client: BasicClient):
|
|
34
|
-
result = list(
|
|
35
|
-
client.list(
|
|
36
|
-
top=5,
|
|
37
|
-
skip=10,
|
|
38
|
-
orderby=["id"],
|
|
39
|
-
filter="id lt 10",
|
|
40
|
-
select=["id", "orders", "etag"],
|
|
41
|
-
expand=["orders"],
|
|
42
|
-
)
|
|
43
|
-
)
|
|
44
|
-
assert len(result) == 2
|
|
45
|
-
assert result[0].id == 1
|
|
46
|
-
assert result[0].name == "Madge"
|
|
47
|
-
assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
48
|
-
assert result[0].orders[0].id == 1
|
|
49
|
-
assert result[0].orders[0].user_id == 1
|
|
50
|
-
assert result[0].orders[0].detail == "a recorder"
|
|
51
|
-
assert result[1].id == 2
|
|
52
|
-
assert result[1].name == "John"
|
|
53
|
-
assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b5a"
|
|
54
|
-
assert result[1].orders[0].id == 2
|
|
55
|
-
assert result[1].orders[0].user_id == 2
|
|
56
|
-
assert result[1].orders[0].detail == "a TV"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def test_delete(client: BasicClient):
|
|
60
|
-
client.delete(id=1)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
def test_export(client: BasicClient):
|
|
64
|
-
result = client.export(id=1, format="json")
|
|
65
|
-
assert result == VALID_USER
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
def test_export_all_users(client: BasicClient):
|
|
69
|
-
result = client.export_all_users(format="json")
|
|
70
|
-
assert result.users[0] == VALID_USER
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.lro.rpc import RpcClient, models
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@pytest.fixture
|
|
11
|
-
def client():
|
|
12
|
-
with RpcClient() as client:
|
|
13
|
-
yield client
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def test_long_running_rpc(client: RpcClient, polling_method):
|
|
17
|
-
result = client.begin_long_running_rpc(
|
|
18
|
-
models.GenerationOptions(prompt="text"), polling_interval=0, polling=polling_method
|
|
19
|
-
).result()
|
|
20
|
-
assert result == models.GenerationResult(data="text data")
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.lro.standard import StandardClient
|
|
8
|
-
from specs.azure.core.lro.standard.models import User, ExportedUser
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with StandardClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_lro_core_put(client, polling_method):
|
|
18
|
-
user = User({"name": "madge", "role": "contributor"})
|
|
19
|
-
result = client.begin_create_or_replace(
|
|
20
|
-
name=user.name, resource=user, polling_interval=0, polling=polling_method
|
|
21
|
-
).result()
|
|
22
|
-
assert result == user
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def test_lro_core_delete(client, polling_method):
|
|
26
|
-
client.begin_delete(name="madge", polling_interval=0, polling=polling_method).result()
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def test_lro_core_export(client, polling_method):
|
|
30
|
-
export_user = ExportedUser({"name": "madge", "resourceUri": "/users/madge"})
|
|
31
|
-
result = client.begin_export(name="madge", format="json", polling_interval=0, polling=polling_method).result()
|
|
32
|
-
assert result == export_user
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.model import ModelClient
|
|
8
|
-
from specs.azure.core.model.models import AzureEmbeddingModel
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with ModelClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_azure_core_embedding_vector_post(client: ModelClient):
|
|
18
|
-
embedding_model = AzureEmbeddingModel(embedding=[0, 1, 2, 3, 4])
|
|
19
|
-
result = client.azure_core_embedding_vector.post(
|
|
20
|
-
body=embedding_model,
|
|
21
|
-
)
|
|
22
|
-
assert result == AzureEmbeddingModel(embedding=[5, 6, 7, 8, 9])
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def test_azure_core_embedding_vector_put(client: ModelClient):
|
|
26
|
-
client.azure_core_embedding_vector.put(body=[0, 1, 2, 3, 4])
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def test_azure_core_embedding_vector_get(client: ModelClient):
|
|
30
|
-
assert [0, 1, 2, 3, 4] == client.azure_core_embedding_vector.get()
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from typing import Iterable
|
|
8
|
-
from specs.azure.core.page import PageClient, models
|
|
9
|
-
|
|
10
|
-
VALID_USER = models.User(id=1, name="Madge", etag="11bdc430-65e8-45ad-81d9-8ffa60d55b59")
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@pytest.fixture
|
|
14
|
-
def client():
|
|
15
|
-
with PageClient() as client:
|
|
16
|
-
yield client
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def _list_with_page_tests(pager: Iterable[models.User]):
|
|
20
|
-
result = list(pager)
|
|
21
|
-
assert len(result) == 1
|
|
22
|
-
assert result[0].id == 1
|
|
23
|
-
assert result[0].name == "Madge"
|
|
24
|
-
assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
25
|
-
assert result[0].orders is None
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def test_list_with_page(client: PageClient):
|
|
29
|
-
_list_with_page_tests(client.list_with_page())
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
def test_list_with_custom_page_model(client: PageClient):
|
|
33
|
-
_list_with_page_tests(client.list_with_custom_page_model())
|
|
34
|
-
with pytest.raises(AttributeError):
|
|
35
|
-
models.CustomPageModel
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
def test_list_with_parameters(client: PageClient):
|
|
39
|
-
result = list(client.list_with_parameters(models.ListItemInputBody(input_name="Madge"), another="Second"))
|
|
40
|
-
assert len(result) == 1
|
|
41
|
-
assert result[0] == VALID_USER
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def test_two_models_as_page_item(client: PageClient):
|
|
45
|
-
result = list(client.two_models_as_page_item.list_first_item())
|
|
46
|
-
assert len(result) == 1
|
|
47
|
-
assert result[0].id == 1
|
|
48
|
-
|
|
49
|
-
result = list(client.two_models_as_page_item.list_second_item())
|
|
50
|
-
assert len(result) == 1
|
|
51
|
-
assert result[0].name == "Madge"
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
def test_list_with_parameterized_next_link(client: PageClient):
|
|
55
|
-
result = list(client.with_parameterized_next_link(select="name", include_pending=True))
|
|
56
|
-
assert len(result) == 2
|
|
57
|
-
assert result[0].id == 1
|
|
58
|
-
assert result[0].name == "User1"
|
|
59
|
-
assert result[1].id == 2
|
|
60
|
-
assert result[1].name == "User2"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
def test_list_with_relative_next_link(client: PageClient):
|
|
64
|
-
result = list(client.with_relative_next_link())
|
|
65
|
-
assert len(result) == 2
|
|
66
|
-
assert result[0].id == 1
|
|
67
|
-
assert result[0].name == "User1"
|
|
68
|
-
assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
69
|
-
assert result[1].id == 2
|
|
70
|
-
assert result[1].name == "User2"
|
|
71
|
-
assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from specs.azure.core.scalar import ScalarClient, models
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@pytest.fixture
|
|
11
|
-
def client():
|
|
12
|
-
with ScalarClient() as client:
|
|
13
|
-
yield client
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def test_azure_location_scalar_get(client: ScalarClient):
|
|
17
|
-
result = client.azure_location_scalar.get()
|
|
18
|
-
assert result == "eastus"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def test_azure_location_scalar_put(client: ScalarClient):
|
|
22
|
-
client.azure_location_scalar.put("eastus")
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def test_azure_location_scalar_post(client: ScalarClient):
|
|
26
|
-
result = client.azure_location_scalar.post(models.AzureLocationModel(location="eastus"))
|
|
27
|
-
assert result == models.AzureLocationModel(location="eastus")
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def test_azure_location_scalar_header(client: ScalarClient):
|
|
31
|
-
client.azure_location_scalar.header(region="eastus")
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
def test_azure_location_scalar_query(client: ScalarClient):
|
|
35
|
-
client.azure_location_scalar.query(region="eastus")
|