@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,80 +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 AsyncIterable
|
|
8
|
-
from specs.azure.core.page import models, aio
|
|
9
|
-
|
|
10
|
-
VALID_USER = models.User(id=1, name="Madge", etag="11bdc430-65e8-45ad-81d9-8ffa60d55b59")
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@pytest.fixture
|
|
14
|
-
async def client():
|
|
15
|
-
async with aio.PageClient() as client:
|
|
16
|
-
yield client
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
async def _list_with_page_tests(pager: AsyncIterable[models.User]):
|
|
20
|
-
result = [p async for p in 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
|
-
@pytest.mark.asyncio
|
|
29
|
-
async def test_list_with_page(client: aio.PageClient):
|
|
30
|
-
await _list_with_page_tests(client.list_with_page())
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
@pytest.mark.asyncio
|
|
34
|
-
async def test_list_with_custom_page_model(client: aio.PageClient):
|
|
35
|
-
await _list_with_page_tests(client.list_with_custom_page_model())
|
|
36
|
-
with pytest.raises(AttributeError):
|
|
37
|
-
models.CustomPageModel
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
@pytest.mark.asyncio
|
|
41
|
-
async def test_list_with_parameters(client: aio.PageClient):
|
|
42
|
-
result = [
|
|
43
|
-
item
|
|
44
|
-
async for item in client.list_with_parameters(models.ListItemInputBody(input_name="Madge"), another="Second")
|
|
45
|
-
]
|
|
46
|
-
assert len(result) == 1
|
|
47
|
-
assert result[0] == VALID_USER
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
@pytest.mark.asyncio
|
|
51
|
-
async def test_two_models_as_page_item(client: aio.PageClient):
|
|
52
|
-
result = [item async for item in client.two_models_as_page_item.list_first_item()]
|
|
53
|
-
assert len(result) == 1
|
|
54
|
-
assert result[0].id == 1
|
|
55
|
-
|
|
56
|
-
result = [item async for item in client.two_models_as_page_item.list_second_item()]
|
|
57
|
-
assert len(result) == 1
|
|
58
|
-
assert result[0].name == "Madge"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
@pytest.mark.asyncio
|
|
62
|
-
async def test_list_with_parameterized_next_link(client: aio.PageClient):
|
|
63
|
-
result = [item async for item in client.with_parameterized_next_link(select="name", include_pending=True)]
|
|
64
|
-
assert len(result) == 2
|
|
65
|
-
assert result[0].id == 1
|
|
66
|
-
assert result[0].name == "User1"
|
|
67
|
-
assert result[1].id == 2
|
|
68
|
-
assert result[1].name == "User2"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
@pytest.mark.asyncio
|
|
72
|
-
async def test_list_with_relative_next_link(client: aio.PageClient):
|
|
73
|
-
result = [item async for item in client.with_relative_next_link()]
|
|
74
|
-
assert len(result) == 2
|
|
75
|
-
assert result[0].id == 1
|
|
76
|
-
assert result[0].name == "User1"
|
|
77
|
-
assert result[0].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
78
|
-
assert result[1].id == 2
|
|
79
|
-
assert result[1].name == "User2"
|
|
80
|
-
assert result[1].etag == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
@@ -1,41 +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.aio import ScalarClient
|
|
8
|
-
from specs.azure.core.scalar import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with ScalarClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_azure_location_scalar_get(client: ScalarClient):
|
|
19
|
-
result = await client.azure_location_scalar.get()
|
|
20
|
-
assert result == "eastus"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
@pytest.mark.asyncio
|
|
24
|
-
async def test_azure_location_scalar_put(client: ScalarClient):
|
|
25
|
-
await client.azure_location_scalar.put("eastus")
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
@pytest.mark.asyncio
|
|
29
|
-
async def test_azure_location_scalar_post(client: ScalarClient):
|
|
30
|
-
result = await client.azure_location_scalar.post(models.AzureLocationModel(location="eastus"))
|
|
31
|
-
assert result == models.AzureLocationModel(location="eastus")
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
@pytest.mark.asyncio
|
|
35
|
-
async def test_azure_location_scalar_header(client: ScalarClient):
|
|
36
|
-
await client.azure_location_scalar.header(region="eastus")
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
@pytest.mark.asyncio
|
|
40
|
-
async def test_azure_location_scalar_query(client: ScalarClient):
|
|
41
|
-
await client.azure_location_scalar.query(region="eastus")
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import functools
|
|
7
|
-
from datetime import datetime
|
|
8
|
-
|
|
9
|
-
import pytest
|
|
10
|
-
from azure.core.exceptions import HttpResponseError
|
|
11
|
-
from azure.core import MatchConditions
|
|
12
|
-
from specs.azure.core.traits.aio import TraitsClient
|
|
13
|
-
from specs.azure.core.traits.models import UserActionParam
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@pytest.fixture
|
|
17
|
-
async def client():
|
|
18
|
-
async with TraitsClient() as client:
|
|
19
|
-
yield client
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@pytest.mark.asyncio
|
|
23
|
-
async def test_get(client: TraitsClient, check_client_request_id_header):
|
|
24
|
-
async def assert_test_get(**kwargs):
|
|
25
|
-
checked = {}
|
|
26
|
-
result, header = await client.smoke_test(
|
|
27
|
-
id=1,
|
|
28
|
-
foo="123",
|
|
29
|
-
if_unmodified_since=datetime(year=2022, month=8, day=26, hour=14, minute=38, second=0),
|
|
30
|
-
if_modified_since=datetime(year=2021, month=8, day=26, hour=14, minute=38, second=0),
|
|
31
|
-
cls=lambda x, y, z: (y, z),
|
|
32
|
-
raw_request_hook=functools.partial(
|
|
33
|
-
check_client_request_id_header, header="x-ms-client-request-id", checked=checked
|
|
34
|
-
),
|
|
35
|
-
**kwargs,
|
|
36
|
-
)
|
|
37
|
-
assert result.id == 1
|
|
38
|
-
assert result.name == "Madge"
|
|
39
|
-
assert header["ETag"] == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
40
|
-
assert header["bar"] == "456"
|
|
41
|
-
assert header["x-ms-client-request-id"] == checked["x-ms-client-request-id"]
|
|
42
|
-
|
|
43
|
-
await assert_test_get(etag="valid", match_condition=MatchConditions.IfNotModified)
|
|
44
|
-
await assert_test_get(etag="invalid", match_condition=MatchConditions.IfModified)
|
|
45
|
-
with pytest.raises(HttpResponseError):
|
|
46
|
-
await assert_test_get()
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
@pytest.mark.asyncio
|
|
50
|
-
async def test_repeatable_action(client: TraitsClient, check_repeatability_header):
|
|
51
|
-
result, header = await client.repeatable_action(
|
|
52
|
-
id=1,
|
|
53
|
-
body=UserActionParam(user_action_value="test"),
|
|
54
|
-
cls=lambda x, y, z: (y, z),
|
|
55
|
-
raw_request_hook=check_repeatability_header,
|
|
56
|
-
)
|
|
57
|
-
assert result.user_action_result == "test"
|
|
58
|
-
assert header["Repeatability-Result"] == "accepted"
|
|
59
|
-
|
|
60
|
-
result, header = await client.repeatable_action(
|
|
61
|
-
id=1,
|
|
62
|
-
body=UserActionParam(user_action_value="test"),
|
|
63
|
-
cls=lambda x, y, z: (y, z),
|
|
64
|
-
headers={
|
|
65
|
-
"Repeatability-Request-ID": "5942d803-e3fa-4f96-8f67-607d7bd607f5",
|
|
66
|
-
"Repeatability-First-Sent": "Sun, 06 Nov 1994 08:49:37 GMT",
|
|
67
|
-
},
|
|
68
|
-
raw_request_hook=check_repeatability_header,
|
|
69
|
-
)
|
|
70
|
-
assert result.user_action_result == "test"
|
|
71
|
-
assert header["Repeatability-Result"] == "accepted"
|
|
72
|
-
|
|
73
|
-
with pytest.raises(HttpResponseError):
|
|
74
|
-
await client.repeatable_action(
|
|
75
|
-
id=1,
|
|
76
|
-
body=UserActionParam(user_action_value="test"),
|
|
77
|
-
cls=lambda x, y, z: (y, z),
|
|
78
|
-
headers={"Repeatability-Request-ID": "wrong-id"},
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
with pytest.raises(HttpResponseError):
|
|
82
|
-
await client.repeatable_action(
|
|
83
|
-
id=1,
|
|
84
|
-
body=UserActionParam(user_action_value="test"),
|
|
85
|
-
cls=lambda x, y, z: (y, z),
|
|
86
|
-
headers={"Repeatability-First-Sent": "wrong-datetime"},
|
|
87
|
-
)
|
|
@@ -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.encode.duration.aio import DurationClient
|
|
8
|
-
from specs.azure.encode.duration import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with DurationClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_duration_constant(client: DurationClient):
|
|
19
|
-
await client.duration_constant(models.DurationModel(input="1.02:59:59.5000000"))
|
|
@@ -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.example.basic.aio import AzureExampleClient
|
|
8
|
-
from specs.azure.example.basic.models import ActionRequest, Model
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with AzureExampleClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_basic_action(client: AzureExampleClient):
|
|
19
|
-
body = ActionRequest(
|
|
20
|
-
string_property="text",
|
|
21
|
-
model_property=Model(int32_property=1, float32_property=1.5, enum_property="EnumValue1"),
|
|
22
|
-
array_property=["item"],
|
|
23
|
-
record_property={"record": "value"},
|
|
24
|
-
)
|
|
25
|
-
result = await client.basic_action(
|
|
26
|
-
body=body,
|
|
27
|
-
query_param="query",
|
|
28
|
-
header_param="header",
|
|
29
|
-
)
|
|
30
|
-
assert result.string_property == body.string_property
|
|
@@ -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.payload.pageable.aio import PageableClient
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@pytest.fixture
|
|
11
|
-
async def client():
|
|
12
|
-
async with PageableClient(endpoint="http://localhost:3000") as client:
|
|
13
|
-
yield client
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@pytest.mark.asyncio
|
|
17
|
-
async def test_list(client: PageableClient):
|
|
18
|
-
result = [p async for p in client.list(maxpagesize=3)]
|
|
19
|
-
assert len(result) == 4
|
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from azure.resourcemanager.methodsubscriptionid.aio import MethodSubscriptionIdClient
|
|
8
|
-
from azure.resourcemanager.methodsubscriptionid import models
|
|
9
|
-
|
|
10
|
-
SUBSCRIPTION_ID = "00000000-0000-0000-0000-000000000000"
|
|
11
|
-
RESOURCE_GROUP_NAME = "test-rg"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
@pytest.fixture
|
|
15
|
-
async def client(credential, authentication_policy):
|
|
16
|
-
async with MethodSubscriptionIdClient(
|
|
17
|
-
credential,
|
|
18
|
-
SUBSCRIPTION_ID,
|
|
19
|
-
"http://localhost:3000",
|
|
20
|
-
authentication_policy=authentication_policy,
|
|
21
|
-
) as client:
|
|
22
|
-
yield client
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@pytest.mark.asyncio
|
|
26
|
-
async def test_operations_list(client):
|
|
27
|
-
"""Test Operations.list() endpoint."""
|
|
28
|
-
operations = client.operations.list()
|
|
29
|
-
operations_list = [op async for op in operations]
|
|
30
|
-
assert len(operations_list) > 0
|
|
31
|
-
|
|
32
|
-
operation = operations_list[0]
|
|
33
|
-
assert operation.name == "Azure.ResourceManager.MethodSubscriptionId/services/read"
|
|
34
|
-
assert operation.is_data_action is False
|
|
35
|
-
assert operation.display.provider == "Azure.ResourceManager.MethodSubscriptionId"
|
|
36
|
-
assert operation.display.resource == "services"
|
|
37
|
-
assert operation.display.operation == "Lists services"
|
|
38
|
-
assert operation.display.description == "Lists registered services"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
@pytest.mark.asyncio
|
|
42
|
-
async def test_two_subscription_resources_method_level_subscription_resource1_operations_get(client):
|
|
43
|
-
"""Test get operation for SubscriptionResource1 with method-level subscription ID."""
|
|
44
|
-
result = await client.two_subscription_resources_method_level.subscription_resource1_operations.get(
|
|
45
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
46
|
-
subscription_resource1_name="sub-resource-1",
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
assert (
|
|
50
|
-
result.id
|
|
51
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s/sub-resource-1"
|
|
52
|
-
)
|
|
53
|
-
assert result.name == "sub-resource-1"
|
|
54
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s"
|
|
55
|
-
assert result.properties.description == "Valid subscription resource 1"
|
|
56
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
57
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
@pytest.mark.asyncio
|
|
61
|
-
async def test_two_subscription_resources_method_level_subscription_resource1_operations_put(client):
|
|
62
|
-
"""Test put operation for SubscriptionResource1 with method-level subscription ID."""
|
|
63
|
-
resource = models.SubscriptionResource1(
|
|
64
|
-
properties=models.SubscriptionResource1Properties(description="Valid subscription resource 1")
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
result = await client.two_subscription_resources_method_level.subscription_resource1_operations.put(
|
|
68
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
69
|
-
subscription_resource1_name="sub-resource-1",
|
|
70
|
-
resource=resource,
|
|
71
|
-
)
|
|
72
|
-
|
|
73
|
-
assert (
|
|
74
|
-
result.id
|
|
75
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s/sub-resource-1"
|
|
76
|
-
)
|
|
77
|
-
assert result.name == "sub-resource-1"
|
|
78
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s"
|
|
79
|
-
assert result.properties.description == "Valid subscription resource 1"
|
|
80
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
81
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
@pytest.mark.asyncio
|
|
85
|
-
async def test_two_subscription_resources_method_level_subscription_resource1_operations_delete(client):
|
|
86
|
-
"""Test delete operation for SubscriptionResource1 with method-level subscription ID."""
|
|
87
|
-
await client.two_subscription_resources_method_level.subscription_resource1_operations.delete(
|
|
88
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
89
|
-
subscription_resource1_name="sub-resource-1",
|
|
90
|
-
)
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
@pytest.mark.asyncio
|
|
94
|
-
async def test_two_subscription_resources_method_level_subscription_resource2_operations_get(client):
|
|
95
|
-
"""Test get operation for SubscriptionResource2 with method-level subscription ID."""
|
|
96
|
-
result = await client.two_subscription_resources_method_level.subscription_resource2_operations.get(
|
|
97
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
98
|
-
subscription_resource2_name="sub-resource-2",
|
|
99
|
-
)
|
|
100
|
-
|
|
101
|
-
assert (
|
|
102
|
-
result.id
|
|
103
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s/sub-resource-2"
|
|
104
|
-
)
|
|
105
|
-
assert result.name == "sub-resource-2"
|
|
106
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s"
|
|
107
|
-
assert result.properties.config_value == "test-config"
|
|
108
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
109
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
@pytest.mark.asyncio
|
|
113
|
-
async def test_two_subscription_resources_method_level_subscription_resource2_operations_put(client):
|
|
114
|
-
"""Test put operation for SubscriptionResource2 with method-level subscription ID."""
|
|
115
|
-
resource = models.SubscriptionResource2(
|
|
116
|
-
properties=models.SubscriptionResource2Properties(config_value="test-config")
|
|
117
|
-
)
|
|
118
|
-
|
|
119
|
-
result = await client.two_subscription_resources_method_level.subscription_resource2_operations.put(
|
|
120
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
121
|
-
subscription_resource2_name="sub-resource-2",
|
|
122
|
-
resource=resource,
|
|
123
|
-
)
|
|
124
|
-
|
|
125
|
-
assert (
|
|
126
|
-
result.id
|
|
127
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s/sub-resource-2"
|
|
128
|
-
)
|
|
129
|
-
assert result.name == "sub-resource-2"
|
|
130
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s"
|
|
131
|
-
assert result.properties.config_value == "test-config"
|
|
132
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
133
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
@pytest.mark.asyncio
|
|
137
|
-
async def test_two_subscription_resources_method_level_subscription_resource2_operations_delete(client):
|
|
138
|
-
"""Test delete operation for SubscriptionResource2 with method-level subscription ID."""
|
|
139
|
-
await client.two_subscription_resources_method_level.subscription_resource2_operations.delete(
|
|
140
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
141
|
-
subscription_resource2_name="sub-resource-2",
|
|
142
|
-
)
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
@pytest.mark.asyncio
|
|
146
|
-
async def test_mixed_subscription_placement_subscription_resource_operations_get(client):
|
|
147
|
-
"""Test get operation for SubscriptionResource in mixed placement scenario."""
|
|
148
|
-
result = await client.mixed_subscription_placement.subscription_resource_operations.get(
|
|
149
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
150
|
-
subscription_resource_name="sub-resource",
|
|
151
|
-
)
|
|
152
|
-
|
|
153
|
-
assert (
|
|
154
|
-
result.id
|
|
155
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResources/sub-resource"
|
|
156
|
-
)
|
|
157
|
-
assert result.name == "sub-resource"
|
|
158
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResources"
|
|
159
|
-
assert result.properties.subscription_setting == "test-sub-setting"
|
|
160
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
161
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
@pytest.mark.asyncio
|
|
165
|
-
async def test_mixed_subscription_placement_subscription_resource_operations_put(client):
|
|
166
|
-
"""Test put operation for SubscriptionResource in mixed placement scenario."""
|
|
167
|
-
resource = models.SubscriptionResource(
|
|
168
|
-
properties=models.SubscriptionResourceProperties(subscription_setting="test-sub-setting")
|
|
169
|
-
)
|
|
170
|
-
|
|
171
|
-
result = await client.mixed_subscription_placement.subscription_resource_operations.put(
|
|
172
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
173
|
-
subscription_resource_name="sub-resource",
|
|
174
|
-
resource=resource,
|
|
175
|
-
)
|
|
176
|
-
|
|
177
|
-
assert (
|
|
178
|
-
result.id
|
|
179
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResources/sub-resource"
|
|
180
|
-
)
|
|
181
|
-
assert result.name == "sub-resource"
|
|
182
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResources"
|
|
183
|
-
assert result.properties.subscription_setting == "test-sub-setting"
|
|
184
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
185
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
@pytest.mark.asyncio
|
|
189
|
-
async def test_mixed_subscription_placement_subscription_resource_operations_delete(client):
|
|
190
|
-
"""Test delete operation for SubscriptionResource in mixed placement scenario."""
|
|
191
|
-
await client.mixed_subscription_placement.subscription_resource_operations.delete(
|
|
192
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
193
|
-
subscription_resource_name="sub-resource",
|
|
194
|
-
)
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
@pytest.mark.asyncio
|
|
198
|
-
async def test_mixed_subscription_placement_resource_group_resource_operations_get(client):
|
|
199
|
-
"""Test get operation for ResourceGroupResource with client-level subscription ID."""
|
|
200
|
-
result = await client.mixed_subscription_placement.resource_group_resource_operations.get(
|
|
201
|
-
resource_group_name=RESOURCE_GROUP_NAME,
|
|
202
|
-
resource_group_resource_name="rg-resource",
|
|
203
|
-
)
|
|
204
|
-
|
|
205
|
-
assert (
|
|
206
|
-
result.id
|
|
207
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources/rg-resource"
|
|
208
|
-
)
|
|
209
|
-
assert result.name == "rg-resource"
|
|
210
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources"
|
|
211
|
-
assert result.location == "eastus"
|
|
212
|
-
assert result.properties.resource_group_setting == "test-setting"
|
|
213
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
214
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
@pytest.mark.asyncio
|
|
218
|
-
async def test_mixed_subscription_placement_resource_group_resource_operations_put(client):
|
|
219
|
-
"""Test put operation for ResourceGroupResource with client-level subscription ID."""
|
|
220
|
-
resource = models.ResourceGroupResource(
|
|
221
|
-
location="eastus", properties=models.ResourceGroupResourceProperties(resource_group_setting="test-setting")
|
|
222
|
-
)
|
|
223
|
-
|
|
224
|
-
result = await client.mixed_subscription_placement.resource_group_resource_operations.put(
|
|
225
|
-
resource_group_name=RESOURCE_GROUP_NAME,
|
|
226
|
-
resource_group_resource_name="rg-resource",
|
|
227
|
-
resource=resource,
|
|
228
|
-
)
|
|
229
|
-
|
|
230
|
-
assert (
|
|
231
|
-
result.id
|
|
232
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources/rg-resource"
|
|
233
|
-
)
|
|
234
|
-
assert result.name == "rg-resource"
|
|
235
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources"
|
|
236
|
-
assert result.location == "eastus"
|
|
237
|
-
assert result.properties.resource_group_setting == "test-setting"
|
|
238
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
239
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
@pytest.mark.asyncio
|
|
243
|
-
async def test_mixed_subscription_placement_resource_group_resource_operations_delete(client):
|
|
244
|
-
"""Test delete operation for ResourceGroupResource with client-level subscription ID."""
|
|
245
|
-
await client.mixed_subscription_placement.resource_group_resource_operations.delete(
|
|
246
|
-
resource_group_name=RESOURCE_GROUP_NAME,
|
|
247
|
-
resource_group_resource_name="rg-resource",
|
|
248
|
-
)
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from azure.core.exceptions import HttpResponseError
|
|
8
|
-
from azure.resourcemanager.multiservice.combined.aio import CombinedClient
|
|
9
|
-
from azure.resourcemanager.multiservice.combined.models import VirtualMachine, Disk
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
@pytest.fixture
|
|
13
|
-
async def client(credential, authentication_policy):
|
|
14
|
-
"""Create a Combined async client for testing."""
|
|
15
|
-
return CombinedClient(
|
|
16
|
-
credential=credential,
|
|
17
|
-
subscription_id="00000000-0000-0000-0000-000000000000",
|
|
18
|
-
base_url="http://localhost:3000",
|
|
19
|
-
authentication_policy=authentication_policy,
|
|
20
|
-
polling_interval=0.1, # Speed up tests by reducing polling interval
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@pytest.mark.asyncio
|
|
25
|
-
async def test_virtual_machines_get(client):
|
|
26
|
-
resource_group_name = "test-rg"
|
|
27
|
-
vm_name = "vm1"
|
|
28
|
-
|
|
29
|
-
with pytest.raises(HttpResponseError):
|
|
30
|
-
await client.virtual_machines.get(
|
|
31
|
-
resource_group_name=resource_group_name,
|
|
32
|
-
vm_name=vm_name,
|
|
33
|
-
api_version="av1", # invalid api version shall raise error
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
result = await client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name)
|
|
37
|
-
|
|
38
|
-
assert result is not None
|
|
39
|
-
assert isinstance(result, VirtualMachine)
|
|
40
|
-
assert result.name == vm_name
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
@pytest.mark.asyncio
|
|
44
|
-
async def test_virtual_machines_create_or_update(client):
|
|
45
|
-
resource_group_name = "test-rg"
|
|
46
|
-
vm_name = "vm1"
|
|
47
|
-
|
|
48
|
-
vm_resource = VirtualMachine(location="eastus", properties={})
|
|
49
|
-
|
|
50
|
-
with pytest.raises(HttpResponseError):
|
|
51
|
-
poller = await client.virtual_machines.begin_create_or_update(
|
|
52
|
-
resource_group_name=resource_group_name,
|
|
53
|
-
vm_name=vm_name,
|
|
54
|
-
resource=vm_resource,
|
|
55
|
-
api_version="av1", # invalid api version shall raise error
|
|
56
|
-
)
|
|
57
|
-
await poller.result()
|
|
58
|
-
|
|
59
|
-
poller = await client.virtual_machines.begin_create_or_update(
|
|
60
|
-
resource_group_name=resource_group_name, vm_name=vm_name, resource=vm_resource
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
result = await poller.result()
|
|
64
|
-
assert result is not None
|
|
65
|
-
assert isinstance(result, VirtualMachine)
|
|
66
|
-
assert result.location == "eastus"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
@pytest.mark.asyncio
|
|
70
|
-
async def test_disks_get(client):
|
|
71
|
-
resource_group_name = "test-rg"
|
|
72
|
-
disk_name = "disk1"
|
|
73
|
-
with pytest.raises(HttpResponseError):
|
|
74
|
-
await client.disks.get(
|
|
75
|
-
resource_group_name=resource_group_name,
|
|
76
|
-
disk_name=disk_name,
|
|
77
|
-
api_version="av1", # invalid api version shall raise error
|
|
78
|
-
)
|
|
79
|
-
|
|
80
|
-
result = await client.disks.get(resource_group_name=resource_group_name, disk_name=disk_name)
|
|
81
|
-
|
|
82
|
-
assert result is not None
|
|
83
|
-
assert isinstance(result, Disk)
|
|
84
|
-
assert result.name == disk_name
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
@pytest.mark.asyncio
|
|
88
|
-
async def test_disks_create_or_update(client):
|
|
89
|
-
resource_group_name = "test-rg"
|
|
90
|
-
disk_name = "disk1"
|
|
91
|
-
|
|
92
|
-
disk_resource = Disk(location="eastus", properties={})
|
|
93
|
-
|
|
94
|
-
with pytest.raises(HttpResponseError):
|
|
95
|
-
poller = await client.disks.begin_create_or_update(
|
|
96
|
-
resource_group_name=resource_group_name,
|
|
97
|
-
disk_name=disk_name,
|
|
98
|
-
resource=disk_resource,
|
|
99
|
-
api_version="av1", # invalid api version shall raise error
|
|
100
|
-
)
|
|
101
|
-
await poller.result()
|
|
102
|
-
|
|
103
|
-
poller = await client.disks.begin_create_or_update(
|
|
104
|
-
resource_group_name=resource_group_name, disk_name=disk_name, resource=disk_resource
|
|
105
|
-
)
|
|
106
|
-
|
|
107
|
-
result = await poller.result()
|
|
108
|
-
assert result is not None
|
|
109
|
-
assert isinstance(result, Disk)
|
|
110
|
-
assert result.location == "eastus"
|