@typespec/http-client-python 0.28.1 → 0.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/models/operation.py +9 -8
- 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/models/operation.py +9 -8
- 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,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 base64
|
|
7
|
-
import pytest
|
|
8
|
-
from payload.contentnegotiation import ContentNegotiationClient
|
|
9
|
-
from payload.contentnegotiation.differentbody.models import PngImageAsJson
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
@pytest.fixture
|
|
13
|
-
def client():
|
|
14
|
-
with ContentNegotiationClient(endpoint="http://localhost:3000") as client:
|
|
15
|
-
yield client
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def test_get_avatar_as_png(client: ContentNegotiationClient, png_data: bytes):
|
|
19
|
-
assert b"".join(client.same_body.get_avatar_as_png()) == png_data
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def test_get_avatar_as_jpeg(client: ContentNegotiationClient, jpg_data: bytes):
|
|
23
|
-
assert b"".join(client.same_body.get_avatar_as_jpeg()) == jpg_data
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def test_different_body_get_avatar_as_png(client: ContentNegotiationClient, png_data: bytes):
|
|
27
|
-
assert b"".join(client.different_body.get_avatar_as_png()) == png_data
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def test_different_body_get_avatar_as_json(client: ContentNegotiationClient, png_data: bytes):
|
|
31
|
-
result = client.different_body.get_avatar_as_json()
|
|
32
|
-
expected = PngImageAsJson(content=base64.b64encode(png_data).decode())
|
|
33
|
-
assert result == expected
|
|
@@ -1,200 +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
|
-
from pathlib import Path
|
|
7
|
-
import pytest
|
|
8
|
-
from payload.multipart import MultiPartClient, models
|
|
9
|
-
from payload.multipart.formdata.httpparts.nonstring.models import FloatRequest
|
|
10
|
-
from payload.multipart.formdata.file import models as file_models
|
|
11
|
-
|
|
12
|
-
JPG = Path(__file__).parent / "data/image.jpg"
|
|
13
|
-
PNG = Path(__file__).parent / "data/image.png"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@pytest.fixture
|
|
17
|
-
def client():
|
|
18
|
-
with MultiPartClient(endpoint="http://localhost:3000") as client:
|
|
19
|
-
yield client
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def test_anonymous_model(client: MultiPartClient):
|
|
23
|
-
client.form_data.anonymous_model({"profileImage": open(str(JPG), "rb")})
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def test_basic(client: MultiPartClient):
|
|
27
|
-
client.form_data.basic(
|
|
28
|
-
models.MultiPartRequest(
|
|
29
|
-
id="123",
|
|
30
|
-
profile_image=open(str(JPG), "rb"),
|
|
31
|
-
)
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def test_binary_array_parts(client: MultiPartClient):
|
|
36
|
-
client.form_data.binary_array_parts(
|
|
37
|
-
models.BinaryArrayPartsRequest(
|
|
38
|
-
id="123",
|
|
39
|
-
pictures=[
|
|
40
|
-
open(str(PNG), "rb"),
|
|
41
|
-
open(str(PNG), "rb"),
|
|
42
|
-
],
|
|
43
|
-
)
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
def test_check_file_name_and_content_type(client: MultiPartClient):
|
|
48
|
-
client.form_data.check_file_name_and_content_type(
|
|
49
|
-
models.MultiPartRequest(
|
|
50
|
-
id="123",
|
|
51
|
-
profile_image=("hello.jpg", open(str(JPG), "rb"), "image/jpg"),
|
|
52
|
-
)
|
|
53
|
-
)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
def test_complex(client: MultiPartClient):
|
|
57
|
-
client.form_data.file_array_and_basic(
|
|
58
|
-
models.ComplexPartsRequest(
|
|
59
|
-
id="123",
|
|
60
|
-
address=models.Address(city="X"),
|
|
61
|
-
pictures=[
|
|
62
|
-
open(str(PNG), "rb"),
|
|
63
|
-
open(str(PNG), "rb"),
|
|
64
|
-
],
|
|
65
|
-
profile_image=open(str(JPG), "rb"),
|
|
66
|
-
)
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
def test_json_part(client: MultiPartClient):
|
|
71
|
-
client.form_data.json_part(
|
|
72
|
-
models.JsonPartRequest(
|
|
73
|
-
address=models.Address(city="X"),
|
|
74
|
-
profile_image=open(str(JPG), "rb"),
|
|
75
|
-
)
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
def test_multi_binary_parts(client: MultiPartClient):
|
|
80
|
-
client.form_data.multi_binary_parts(
|
|
81
|
-
models.MultiBinaryPartsRequest(
|
|
82
|
-
profile_image=open(str(JPG), "rb"),
|
|
83
|
-
picture=open(str(PNG), "rb"),
|
|
84
|
-
)
|
|
85
|
-
)
|
|
86
|
-
client.form_data.multi_binary_parts(
|
|
87
|
-
models.MultiBinaryPartsRequest(
|
|
88
|
-
profile_image=open(str(JPG), "rb"),
|
|
89
|
-
)
|
|
90
|
-
)
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
def test_file_with_http_part_specific_content_type(client: MultiPartClient):
|
|
94
|
-
client.form_data.http_parts.content_type.image_jpeg_content_type(
|
|
95
|
-
models.FileWithHttpPartSpecificContentTypeRequest(
|
|
96
|
-
profile_image=("hello.jpg", open(str(JPG), "rb"), "image/jpg"),
|
|
97
|
-
)
|
|
98
|
-
)
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
def test_file_with_http_part_required_content_type(client: MultiPartClient):
|
|
102
|
-
client.form_data.http_parts.content_type.required_content_type(
|
|
103
|
-
models.FileWithHttpPartRequiredContentTypeRequest(
|
|
104
|
-
profile_image=open(str(JPG), "rb"),
|
|
105
|
-
)
|
|
106
|
-
)
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
def test_file_with_http_part_optional_content_type(client: MultiPartClient):
|
|
110
|
-
# call twice: one with content type, one without
|
|
111
|
-
client.form_data.http_parts.content_type.optional_content_type(
|
|
112
|
-
models.FileWithHttpPartOptionalContentTypeRequest(
|
|
113
|
-
profile_image=("hello.jpg", open(str(JPG), "rb").read()),
|
|
114
|
-
)
|
|
115
|
-
)
|
|
116
|
-
client.form_data.http_parts.content_type.optional_content_type(
|
|
117
|
-
models.FileWithHttpPartOptionalContentTypeRequest(
|
|
118
|
-
profile_image=("hello.jpg", open(str(JPG), "rb").read(), "application/octet-stream"),
|
|
119
|
-
)
|
|
120
|
-
)
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
def test_complex_with_http_part(client: MultiPartClient):
|
|
124
|
-
client.form_data.http_parts.json_array_and_file_array(
|
|
125
|
-
models.ComplexHttpPartsModelRequest(
|
|
126
|
-
id="123",
|
|
127
|
-
previous_addresses=[
|
|
128
|
-
models.Address(city="Y"),
|
|
129
|
-
models.Address(city="Z"),
|
|
130
|
-
],
|
|
131
|
-
address=models.Address(city="X"),
|
|
132
|
-
pictures=[
|
|
133
|
-
open(str(PNG), "rb"),
|
|
134
|
-
open(str(PNG), "rb"),
|
|
135
|
-
],
|
|
136
|
-
profile_image=open(str(JPG), "rb"),
|
|
137
|
-
)
|
|
138
|
-
)
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
def test_http_parts_non_string_float(client: MultiPartClient):
|
|
142
|
-
client.form_data.http_parts.non_string.float(FloatRequest(temperature=0.5))
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
def test_with_wire_name(client: MultiPartClient):
|
|
146
|
-
client.form_data.with_wire_name(
|
|
147
|
-
models.MultiPartRequestWithWireName(
|
|
148
|
-
identifier="123",
|
|
149
|
-
image=open(str(JPG), "rb"),
|
|
150
|
-
)
|
|
151
|
-
)
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
def test_optional_parts(client: MultiPartClient):
|
|
155
|
-
# First time with only id
|
|
156
|
-
client.form_data.optional_parts(
|
|
157
|
-
models.MultiPartOptionalRequest(
|
|
158
|
-
id="123",
|
|
159
|
-
)
|
|
160
|
-
)
|
|
161
|
-
# Second time with only profileImage
|
|
162
|
-
client.form_data.optional_parts(
|
|
163
|
-
models.MultiPartOptionalRequest(
|
|
164
|
-
profile_image=open(str(JPG), "rb"),
|
|
165
|
-
)
|
|
166
|
-
)
|
|
167
|
-
# Third time with both id and profileImage
|
|
168
|
-
client.form_data.optional_parts(
|
|
169
|
-
models.MultiPartOptionalRequest(
|
|
170
|
-
id="123",
|
|
171
|
-
profile_image=open(str(JPG), "rb"),
|
|
172
|
-
)
|
|
173
|
-
)
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
def test_file_upload_file_specific_content_type(client: MultiPartClient):
|
|
177
|
-
client.form_data.file.upload_file_specific_content_type(
|
|
178
|
-
file_models.UploadFileSpecificContentTypeRequest(
|
|
179
|
-
file=("image.png", open(str(PNG), "rb"), "image/png"),
|
|
180
|
-
)
|
|
181
|
-
)
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
def test_file_upload_file_required_filename(client: MultiPartClient):
|
|
185
|
-
client.form_data.file.upload_file_required_filename(
|
|
186
|
-
file_models.UploadFileRequiredFilenameRequest(
|
|
187
|
-
file=("image.png", open(str(PNG), "rb"), "image/png"),
|
|
188
|
-
)
|
|
189
|
-
)
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
def test_file_upload_file_array(client: MultiPartClient):
|
|
193
|
-
client.form_data.file.upload_file_array(
|
|
194
|
-
file_models.UploadFileArrayRequest(
|
|
195
|
-
files=[
|
|
196
|
-
("image.png", open(str(PNG), "rb"), "image/png"),
|
|
197
|
-
("image.png", open(str(PNG), "rb"), "image/png"),
|
|
198
|
-
],
|
|
199
|
-
)
|
|
200
|
-
)
|
|
@@ -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 serialization.encodedname.json import JsonClient
|
|
8
|
-
from serialization.encodedname.json.property import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with JsonClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_property_send(client: JsonClient):
|
|
18
|
-
client.property.send(models.JsonEncodedNameModel(default_name=True))
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def test_property_get(client: JsonClient):
|
|
22
|
-
assert client.property.get().default_name
|
|
@@ -1,66 +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 specialwords import SpecialWordsClient
|
|
8
|
-
from specialwords.models import models
|
|
9
|
-
from specialwords.modelproperties import models as model_properties_models
|
|
10
|
-
from specialwords.extensiblestrings import models as extensible_strings_models
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@pytest.fixture
|
|
14
|
-
def client():
|
|
15
|
-
with SpecialWordsClient() as client:
|
|
16
|
-
yield client
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def test_operations(client: SpecialWordsClient, special_words):
|
|
20
|
-
for sw in special_words:
|
|
21
|
-
suffix = "" if sw == "constructor" else "_method"
|
|
22
|
-
getattr(client.operations, sw + suffix)()
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def test_parameter(client: SpecialWordsClient, special_words):
|
|
26
|
-
for sw in special_words:
|
|
27
|
-
suffix = "" if sw == "constructor" else "_parameter"
|
|
28
|
-
getattr(client.parameters, "with_" + sw)(**{sw + suffix: "ok"})
|
|
29
|
-
client.parameters.with_cancellation_token(cancellation_token="ok")
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
def test_model(client: SpecialWordsClient, special_words):
|
|
33
|
-
for sw in special_words:
|
|
34
|
-
suffix = "" if sw == "constructor" else "Model"
|
|
35
|
-
model = getattr(models, sw.capitalize() + suffix)
|
|
36
|
-
getattr(client.models, "with_" + sw)(model(name="ok"))
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def test_model_properties(client: SpecialWordsClient):
|
|
40
|
-
client.model_properties.same_as_model(model_properties_models.SameAsModel(same_as_model="ok"))
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
def test_model_properties_dict_methods(client: SpecialWordsClient):
|
|
44
|
-
client.model_properties.dict_methods(
|
|
45
|
-
body=model_properties_models.DictMethods(
|
|
46
|
-
keys_property="ok",
|
|
47
|
-
items_property="ok",
|
|
48
|
-
values_property="ok",
|
|
49
|
-
popitem_property="ok",
|
|
50
|
-
clear_property="ok",
|
|
51
|
-
update_property="ok",
|
|
52
|
-
setdefault_property="ok",
|
|
53
|
-
pop_property="ok",
|
|
54
|
-
get_property="ok",
|
|
55
|
-
copy_property="ok",
|
|
56
|
-
)
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
def test_model_properties_with_list(client: SpecialWordsClient):
|
|
61
|
-
client.model_properties.with_list(model_properties_models.ModelWithList(list="ok"))
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
def test_extensible_strings(client: SpecialWordsClient):
|
|
65
|
-
for enum_value in extensible_strings_models.ExtensibleString:
|
|
66
|
-
assert enum_value == client.extensible_strings.put_extensible_string_value(body=enum_value)
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
# ------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation.
|
|
3
|
-
# Licensed under the MIT License.
|
|
4
|
-
# ------------------------------------
|
|
5
|
-
import os
|
|
6
|
-
import re
|
|
7
|
-
from subprocess import getoutput
|
|
8
|
-
from pathlib import Path
|
|
9
|
-
import traceback
|
|
10
|
-
from importlib import import_module
|
|
11
|
-
import pytest
|
|
12
|
-
from typetest.scalar import ScalarClient
|
|
13
|
-
from corehttp.exceptions import HttpResponseError
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@pytest.fixture
|
|
17
|
-
def client():
|
|
18
|
-
with ScalarClient() as client:
|
|
19
|
-
yield client
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def test_module():
|
|
23
|
-
with pytest.raises(ModuleNotFoundError):
|
|
24
|
-
import_module("azure")
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def test_track_back(client: ScalarClient):
|
|
28
|
-
try:
|
|
29
|
-
client.string.put("to raise exception")
|
|
30
|
-
except HttpResponseError:
|
|
31
|
-
track_back = traceback.format_exc().lower()
|
|
32
|
-
assert "azure" not in track_back
|
|
33
|
-
assert "microsoft" not in track_back
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
def check_sensitive_word(folder: Path, word: str) -> str:
|
|
37
|
-
special_folders = ["__pycache__", "pytest_cache"]
|
|
38
|
-
if os.name == "nt":
|
|
39
|
-
skip_folders = "|".join(special_folders)
|
|
40
|
-
output = getoutput(
|
|
41
|
-
f"powershell \"ls -r -Path {folder} | where fullname -notmatch '{skip_folders}' | Select-String -Pattern '{word}'\""
|
|
42
|
-
).replace("\\", "/")
|
|
43
|
-
else:
|
|
44
|
-
skip_folders = "{" + ",".join(special_folders) + "}"
|
|
45
|
-
output = getoutput(f"grep -ri --exclude-dir={skip_folders} {word} {folder}")
|
|
46
|
-
|
|
47
|
-
result = set()
|
|
48
|
-
for item in re.findall(f"{folder.as_posix()}[^:]+", output.replace("\n", "")):
|
|
49
|
-
result.add(Path(item).relative_to(folder).parts[0])
|
|
50
|
-
return sorted(list(result))
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
def test_sensitive_word():
|
|
54
|
-
check_folder = (Path(os.path.dirname(__file__)) / "../generated").resolve()
|
|
55
|
-
assert [] == check_sensitive_word(check_folder, "azure")
|
|
56
|
-
# after update spector, it shall also equal to []
|
|
57
|
-
expected = [
|
|
58
|
-
"authentication-oauth2",
|
|
59
|
-
"authentication-noauth-union",
|
|
60
|
-
"authentication-union",
|
|
61
|
-
"setuppy-authentication-union",
|
|
62
|
-
]
|
|
63
|
-
if (check_folder / "generation-subdir").exists():
|
|
64
|
-
expected.append("generation-subdir")
|
|
65
|
-
assert sorted(expected) == sorted(check_sensitive_word(check_folder, "microsoft"))
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
-r ../dev_requirements.txt
|
|
2
|
-
-e ../../
|
|
3
|
-
|
|
4
|
-
# === common test dependencies across repos ===
|
|
5
|
-
-e ./generated/authentication-api-key
|
|
6
|
-
-e ./generated/authentication-http-custom
|
|
7
|
-
-e ./generated/authentication-noauth-union
|
|
8
|
-
-e ./generated/authentication-oauth2
|
|
9
|
-
-e ./generated/authentication-union
|
|
10
|
-
-e ./generated/setuppy-authentication-union
|
|
11
|
-
-e ./generated/specs-documentation
|
|
12
|
-
-e ./generated/encode-duration
|
|
13
|
-
-e ./generated/encode-numeric
|
|
14
|
-
-e ./generated/encode-array
|
|
15
|
-
-e ./generated/parameters-basic
|
|
16
|
-
-e ./generated/parameters-collection-format
|
|
17
|
-
-e ./generated/parameters-path
|
|
18
|
-
-e ./generated/parameters-query
|
|
19
|
-
-e ./generated/parameters-spread
|
|
20
|
-
-e ./generated/serialization-encoded-name-json
|
|
21
|
-
-e ./generated/server-endpoint-not-defined
|
|
22
|
-
-e ./generated/server-path-multiple
|
|
23
|
-
-e ./generated/server-path-single
|
|
24
|
-
-e ./generated/server-versions-versioned
|
|
25
|
-
-e ./generated/server-versions-not-versioned
|
|
26
|
-
-e ./generated/special-words
|
|
27
|
-
-e ./generated/streaming-jsonl
|
|
28
|
-
-e ./generated/typetest-array
|
|
29
|
-
-e ./generated/typetest-dictionary
|
|
30
|
-
-e ./generated/typetest-enum-extensible
|
|
31
|
-
-e ./generated/typetest-enum-fixed
|
|
32
|
-
# -e ./generated/typetest-file
|
|
33
|
-
-e ./generated/typetest-model-enumdiscriminator
|
|
34
|
-
-e ./generated/typetest-model-nesteddiscriminator
|
|
35
|
-
-e ./generated/typetest-model-notdiscriminated
|
|
36
|
-
-e ./generated/typetest-model-singlediscriminator
|
|
37
|
-
-e ./generated/typetest-model-recursive
|
|
38
|
-
-e ./generated/typetest-model-usage
|
|
39
|
-
-e ./generated/typetest-model-visibility
|
|
40
|
-
-e ./generated/typetest-property-nullable
|
|
41
|
-
-e ./generated/typetest-property-optional
|
|
42
|
-
-e ./generated/typetest-property-valuetypes
|
|
43
|
-
-e ./generated/typetest-property-additionalproperties
|
|
44
|
-
-e ./generated/typetest-scalar
|
|
45
|
-
-e ./generated/typetest-union
|
|
46
|
-
-e ./generated/typetest-discriminatedunion
|
|
47
|
-
-e ./generated/typetest-model-empty
|
|
48
|
-
-e ./generated/headasbooleantrue
|
|
49
|
-
-e ./generated/headasbooleanfalse
|
|
50
|
-
-e ./generated/parameters-body-optionality
|
|
51
|
-
-e ./generated/special-headers-repeatability
|
|
52
|
-
-e ./generated/special-headers-conditional-request
|
|
53
|
-
-e ./generated/encode-datetime
|
|
54
|
-
-e ./generated/encode-bytes
|
|
55
|
-
-e ./generated/payload-content-negotiation
|
|
56
|
-
-e ./generated/payload-json-merge-patch
|
|
57
|
-
-e ./generated/payload-pageable
|
|
58
|
-
-e ./generated/payload-multipart
|
|
59
|
-
-e ./generated/payload-media-type
|
|
60
|
-
-e ./generated/payload-xml
|
|
61
|
-
-e ./generated/routes
|
|
62
|
-
-e ./generated/response-status-code-range
|
|
63
|
-
-e ./generated/versioning-added
|
|
64
|
-
-e ./generated/versioning-madeoptional
|
|
65
|
-
-e ./generated/versioning-removed
|
|
66
|
-
-e ./generated/versioning-renamedfrom
|
|
67
|
-
-e ./generated/versioning-returntypechangedfrom
|
|
68
|
-
-e ./generated/versioning-typechangedfrom
|
|
69
|
-
# === end common test dependencies across repos ===
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
[tox]
|
|
2
|
-
envlist=base, lint, mypy, pyright, apiview, sphinx
|
|
3
|
-
skipsdist=True
|
|
4
|
-
|
|
5
|
-
[testenv:ci]
|
|
6
|
-
deps=
|
|
7
|
-
-r requirements.txt
|
|
8
|
-
commands =
|
|
9
|
-
# pytest
|
|
10
|
-
{[testenv:test]commands}
|
|
11
|
-
|
|
12
|
-
# pylint
|
|
13
|
-
{[testenv:lint]commands}
|
|
14
|
-
|
|
15
|
-
# mypy
|
|
16
|
-
{[testenv:mypy]commands}
|
|
17
|
-
|
|
18
|
-
# pyright
|
|
19
|
-
{[testenv:pyright]commands}
|
|
20
|
-
|
|
21
|
-
# apiview
|
|
22
|
-
{[testenv:apiview]commands}
|
|
23
|
-
|
|
24
|
-
# sphinx docstring validation
|
|
25
|
-
{[testenv:sphinx]commands}
|
|
26
|
-
|
|
27
|
-
[testenv:test]
|
|
28
|
-
deps=
|
|
29
|
-
-r requirements.txt
|
|
30
|
-
commands =
|
|
31
|
-
pytest mock_api_tests ../generic_mock_api_tests
|
|
32
|
-
|
|
33
|
-
[testenv:lint]
|
|
34
|
-
deps=
|
|
35
|
-
-r requirements.txt
|
|
36
|
-
commands =
|
|
37
|
-
pip install azure-pylint-guidelines-checker==0.5.2 --index-url="https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
|
|
38
|
-
python ../../../eng/scripts/ci/run_pylint.py -t unbranded -s "generated" {posargs}
|
|
39
|
-
|
|
40
|
-
[testenv:mypy]
|
|
41
|
-
deps=
|
|
42
|
-
-r requirements.txt
|
|
43
|
-
commands =
|
|
44
|
-
python ../../../eng/scripts/ci/run_mypy.py -t unbranded -s "generated" {posargs}
|
|
45
|
-
|
|
46
|
-
[testenv:pyright]
|
|
47
|
-
deps=
|
|
48
|
-
-r requirements.txt
|
|
49
|
-
commands =
|
|
50
|
-
python ../../../eng/scripts/ci/run_pyright.py -t unbranded -s "generated" {posargs}
|
|
51
|
-
|
|
52
|
-
[testenv:apiview]
|
|
53
|
-
deps=
|
|
54
|
-
-r requirements.txt
|
|
55
|
-
commands =
|
|
56
|
-
pip install apiview-stub-generator==0.3.19 --index-url="https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-python/pypi/simple/"
|
|
57
|
-
python ../../../eng/scripts/ci/run_apiview.py -t unbranded -s "generated" {posargs}
|
|
58
|
-
|
|
59
|
-
[testenv:sphinx]
|
|
60
|
-
basepython = python3.10
|
|
61
|
-
deps=
|
|
62
|
-
-r requirements.txt
|
|
63
|
-
commands =
|
|
64
|
-
python ../../../eng/scripts/ci/run_sphinx_build.py -t unbranded -s "generated" {posargs}
|
|
@@ -1,15 +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 importlib
|
|
7
|
-
import pytest
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@pytest.fixture
|
|
11
|
-
def core_library():
|
|
12
|
-
try:
|
|
13
|
-
return importlib.import_module("azure.core")
|
|
14
|
-
except ModuleNotFoundError:
|
|
15
|
-
return importlib.import_module("corehttp")
|
|
@@ -1,89 +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
|
-
from enum import Enum, EnumMeta
|
|
7
|
-
from specialwords.extensiblestrings import models as extensible_strings_models
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class _CaseInsensitiveEnumMeta(EnumMeta):
|
|
11
|
-
def __getitem__(self, name):
|
|
12
|
-
return super().__getitem__(name.upper())
|
|
13
|
-
|
|
14
|
-
def __getattr__(cls, name):
|
|
15
|
-
"""Return the enum member matching `name`
|
|
16
|
-
We use __getattr__ instead of descriptors or inserting into the enum
|
|
17
|
-
class' __dict__ in order to support `name` and `value` being both
|
|
18
|
-
properties for enum members (which live in the class' __dict__) and
|
|
19
|
-
enum members themselves.
|
|
20
|
-
"""
|
|
21
|
-
try:
|
|
22
|
-
return cls._member_map_[name.upper()]
|
|
23
|
-
except KeyError:
|
|
24
|
-
raise AttributeError(name)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
class EnumsWithCallableNames(str, Enum, metaclass=_CaseInsensitiveEnumMeta):
|
|
28
|
-
"""Gets the unit of measurement."""
|
|
29
|
-
|
|
30
|
-
COUNT = "count"
|
|
31
|
-
ENCODE = "encode"
|
|
32
|
-
FIND = "find"
|
|
33
|
-
JOIN = "join"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
def test_count():
|
|
37
|
-
assert EnumsWithCallableNames.COUNT == "count"
|
|
38
|
-
assert callable(EnumsWithCallableNames.count)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
def test_encode():
|
|
42
|
-
assert EnumsWithCallableNames.ENCODE == "encode"
|
|
43
|
-
assert callable(EnumsWithCallableNames.encode)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
def test_find():
|
|
47
|
-
assert EnumsWithCallableNames.FIND == "find"
|
|
48
|
-
assert callable(EnumsWithCallableNames.find)
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
def test_join():
|
|
52
|
-
assert EnumsWithCallableNames.JOIN == "join"
|
|
53
|
-
assert callable(EnumsWithCallableNames.join)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
def test_extensible_strings_enum_with_special_words():
|
|
57
|
-
assert extensible_strings_models.ExtensibleString.AND == "and"
|
|
58
|
-
assert extensible_strings_models.ExtensibleString.AS == "as"
|
|
59
|
-
assert extensible_strings_models.ExtensibleString.ASSERT == "assert"
|
|
60
|
-
assert extensible_strings_models.ExtensibleString.ASYNC == "async"
|
|
61
|
-
assert extensible_strings_models.ExtensibleString.AWAIT == "await"
|
|
62
|
-
assert extensible_strings_models.ExtensibleString.BREAK == "break"
|
|
63
|
-
assert extensible_strings_models.ExtensibleString.CLASS == "class"
|
|
64
|
-
assert extensible_strings_models.ExtensibleString.CONSTRUCTOR == "constructor"
|
|
65
|
-
assert extensible_strings_models.ExtensibleString.CONTINUE == "continue"
|
|
66
|
-
assert extensible_strings_models.ExtensibleString.DEF == "def"
|
|
67
|
-
assert extensible_strings_models.ExtensibleString.DEL == "del"
|
|
68
|
-
assert extensible_strings_models.ExtensibleString.ELIF == "elif"
|
|
69
|
-
assert extensible_strings_models.ExtensibleString.ELSE == "else"
|
|
70
|
-
assert extensible_strings_models.ExtensibleString.EXCEPT == "except"
|
|
71
|
-
assert extensible_strings_models.ExtensibleString.EXEC == "exec"
|
|
72
|
-
assert extensible_strings_models.ExtensibleString.FINALLY == "finally"
|
|
73
|
-
assert extensible_strings_models.ExtensibleString.FOR == "for"
|
|
74
|
-
assert extensible_strings_models.ExtensibleString.FROM == "from"
|
|
75
|
-
assert extensible_strings_models.ExtensibleString.GLOBAL == "global"
|
|
76
|
-
assert extensible_strings_models.ExtensibleString.IF == "if"
|
|
77
|
-
assert extensible_strings_models.ExtensibleString.IMPORT == "import"
|
|
78
|
-
assert extensible_strings_models.ExtensibleString.IN == "in"
|
|
79
|
-
assert extensible_strings_models.ExtensibleString.IS == "is"
|
|
80
|
-
assert extensible_strings_models.ExtensibleString.LAMBDA == "lambda"
|
|
81
|
-
assert extensible_strings_models.ExtensibleString.NOT == "not"
|
|
82
|
-
assert extensible_strings_models.ExtensibleString.OR == "or"
|
|
83
|
-
assert extensible_strings_models.ExtensibleString.PASS == "pass"
|
|
84
|
-
assert extensible_strings_models.ExtensibleString.RAISE == "raise"
|
|
85
|
-
assert extensible_strings_models.ExtensibleString.RETURN == "return"
|
|
86
|
-
assert extensible_strings_models.ExtensibleString.TRY == "try"
|
|
87
|
-
assert extensible_strings_models.ExtensibleString.WHILE == "while"
|
|
88
|
-
assert extensible_strings_models.ExtensibleString.WITH == "with"
|
|
89
|
-
assert extensible_strings_models.ExtensibleString.YIELD == "yield"
|