@typespec/http-client-python 0.28.2 → 0.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/emitter/code-model.d.ts.map +1 -1
- package/dist/emitter/code-model.js +6 -6
- package/dist/emitter/code-model.js.map +1 -1
- package/dist/emitter/emitter.d.ts.map +1 -1
- package/dist/emitter/emitter.js +27 -28
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/lib.d.ts +4 -1
- package/dist/emitter/lib.d.ts.map +1 -1
- package/dist/emitter/lib.js.map +1 -1
- package/dist/emitter/system-requirements.js +6 -4
- package/dist/emitter/system-requirements.js.map +1 -1
- package/dist/emitter/types.d.ts +2 -5
- package/dist/emitter/types.d.ts.map +1 -1
- package/dist/emitter/types.js +55 -58
- package/dist/emitter/types.js.map +1 -1
- package/dist/emitter/utils.d.ts.map +1 -1
- package/dist/emitter/utils.js +16 -17
- package/dist/emitter/utils.js.map +1 -1
- package/emitter/src/code-model.ts +6 -13
- package/emitter/src/emitter.ts +29 -31
- package/emitter/src/lib.ts +4 -0
- package/emitter/src/system-requirements.ts +4 -4
- package/emitter/src/types.ts +67 -57
- package/emitter/src/utils.ts +16 -18
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/eng/scripts/Build-Packages.ps1 +62 -37
- package/eng/scripts/Check-GitChanges.ps1 +30 -3
- package/eng/scripts/Functions.ps1 +54 -15
- package/eng/scripts/Generate.ps1 +42 -8
- package/eng/scripts/Generation.psm1 +44 -15
- package/eng/scripts/Initialize-Repository.ps1 +29 -11
- package/eng/scripts/Test-Packages.ps1 +47 -31
- package/eng/scripts/ci/config/eslint-ci.config.mjs +54 -0
- package/eng/scripts/ci/dev_requirements.txt +1 -0
- package/eng/scripts/ci/format.ts +232 -2
- package/eng/scripts/ci/lint.ts +216 -20
- package/eng/scripts/ci/regenerate-common.ts +18 -14
- package/eng/scripts/ci/regenerate.ts +305 -68
- package/eng/scripts/ci/run-tests.ts +402 -0
- package/eng/scripts/ci/run_mypy.py +4 -3
- package/eng/scripts/ci/run_pylint.py +4 -3
- package/eng/scripts/ci/run_pyright.py +4 -3
- package/eng/scripts/ci/typecheck.ts +225 -0
- package/eng/scripts/ci/util.py +1 -1
- package/eng/scripts/ci/utils.ts +5 -5
- package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
- package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
- package/eng/scripts/setup/build.ts +1 -1
- package/eng/scripts/setup/build_pygen_wheel.py +1 -0
- package/eng/scripts/setup/install.py +1 -0
- package/eng/scripts/setup/prepare.py +1 -0
- package/eng/scripts/setup/prepare.ts +1 -1
- package/eng/scripts/setup/run_tsp.py +3 -3
- package/eng/scripts/setup/system-requirements.ts +8 -4
- package/eng/scripts/setup/venvtools.py +1 -0
- package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +157 -64
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/codegen/templates/model_base.py.jinja2 +157 -64
- package/package.json +48 -42
- package/eng/scripts/ci/run-ci.ts +0 -89
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +0 -94
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +0 -36
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +0 -205
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_resource_async.py +0 -478
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_access_async.py +0 -101
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_header_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_path_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_query_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +0 -46
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +0 -58
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +0 -82
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +0 -20
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_flatten_async.py +0 -115
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_hierrarchy_building_async.py +0 -53
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_next_link_verb_async.py +0 -28
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_override_async.py +0 -106
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +0 -38
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_basic_async.py +0 -76
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +0 -22
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py +0 -39
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_model_async.py +0 -33
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +0 -80
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_scalar_async.py +0 -41
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_traits_async.py +0 -87
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +0 -19
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_example_basic_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_payload_pageable_async.py +0 -19
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_method_subscription_id_async.py +0 -248
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +0 -110
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py +0 -132
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_special_headers_client_request_id_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_versioning_previewversion_async.py +0 -53
- package/generator/test/azure/mock_api_tests/asynctests/test_client_namespace_async.py +0 -34
- package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +0 -69
- package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +0 -37
- package/generator/test/azure/mock_api_tests/asynctests/test_client_overload_async.py +0 -27
- package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_async.py +0 -64
- package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_clientoperationgroup_async.py +0 -31
- package/generator/test/azure/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
- package/generator/test/azure/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
- package/generator/test/azure/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
- package/generator/test/azure/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
- package/generator/test/azure/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
- package/generator/test/azure/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -216
- package/generator/test/azure/mock_api_tests/asynctests/test_resiliency_srv_driven_async.py +0 -130
- package/generator/test/azure/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
- package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +0 -31
- package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +0 -71
- package/generator/test/azure/mock_api_tests/conftest.py +0 -207
- package/generator/test/azure/mock_api_tests/data/image.jpg +0 -0
- package/generator/test/azure/mock_api_tests/data/image.png +0 -0
- package/generator/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +0 -89
- package/generator/test/azure/mock_api_tests/test_azure_arm_largeheader.py +0 -27
- package/generator/test/azure/mock_api_tests/test_azure_arm_nonresource.py +0 -34
- package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +0 -180
- package/generator/test/azure/mock_api_tests/test_azure_arm_resource.py +0 -436
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_access.py +0 -92
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_header.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_path.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_query.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +0 -42
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +0 -51
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +0 -70
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +0 -19
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_flatten.py +0 -104
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py +0 -45
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py +0 -27
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_override.py +0 -102
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +0 -32
- package/generator/test/azure/mock_api_tests/test_azure_core_basic.py +0 -70
- package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +0 -20
- package/generator/test/azure/mock_api_tests/test_azure_core_lro_standard.py +0 -32
- package/generator/test/azure/mock_api_tests/test_azure_core_model.py +0 -30
- package/generator/test/azure/mock_api_tests/test_azure_core_page.py +0 -71
- package/generator/test/azure/mock_api_tests/test_azure_core_scalar.py +0 -35
- package/generator/test/azure/mock_api_tests/test_azure_core_traits.py +0 -85
- package/generator/test/azure/mock_api_tests/test_azure_encode_duration.py +0 -18
- package/generator/test/azure/mock_api_tests/test_azure_example_basic.py +0 -29
- package/generator/test/azure/mock_api_tests/test_azure_payload_pageable.py +0 -18
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py +0 -235
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +0 -104
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py +0 -128
- package/generator/test/azure/mock_api_tests/test_azure_special_headers_client_request_id.py +0 -29
- package/generator/test/azure/mock_api_tests/test_azure_versioning_previewversion.py +0 -50
- package/generator/test/azure/mock_api_tests/test_clear_output_folder.py +0 -23
- package/generator/test/azure/mock_api_tests/test_client_namespace.py +0 -32
- package/generator/test/azure/mock_api_tests/test_client_naming.py +0 -57
- package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +0 -35
- package/generator/test/azure/mock_api_tests/test_client_overload.py +0 -25
- package/generator/test/azure/mock_api_tests/test_client_structure.py +0 -60
- package/generator/test/azure/mock_api_tests/test_client_structure_clientoperationgroup.py +0 -29
- package/generator/test/azure/mock_api_tests/test_encode_duration.py +0 -60
- package/generator/test/azure/mock_api_tests/test_encode_numeric.py +0 -31
- package/generator/test/azure/mock_api_tests/test_model_base_flatten_compatibility.py +0 -251
- package/generator/test/azure/mock_api_tests/test_parameters_basic.py +0 -22
- package/generator/test/azure/mock_api_tests/test_parameters_spread.py +0 -66
- package/generator/test/azure/mock_api_tests/test_payload_content_negotiation.py +0 -33
- package/generator/test/azure/mock_api_tests/test_payload_multipart.py +0 -198
- package/generator/test/azure/mock_api_tests/test_resiliency_srv_driven.py +0 -124
- package/generator/test/azure/mock_api_tests/test_serialization_encoded_name_json.py +0 -21
- package/generator/test/azure/mock_api_tests/test_service_multi_service.py +0 -29
- package/generator/test/azure/mock_api_tests/test_special_words.py +0 -63
- package/generator/test/azure/requirements.txt +0 -125
- package/generator/test/azure/tox.ini +0 -64
- package/generator/test/data/image.jpg +0 -0
- package/generator/test/data/image.png +0 -0
- package/generator/test/dev_requirements.txt +0 -8
- package/generator/test/generic_mock_api_tests/asynctests/test_authentication_async.py +0 -140
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_array_async.py +0 -139
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_bytes_async.py +0 -132
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_datetime_async.py +0 -127
- package/generator/test/generic_mock_api_tests/asynctests/test_headasboolean_async.py +0 -35
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_body_optionality_async.py +0 -30
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_collection_format_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +0 -24
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +0 -98
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_media_type_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +0 -134
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +0 -150
- package/generator/test/generic_mock_api_tests/asynctests/test_response_status_code_range_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_routes_async.py +0 -331
- package/generator/test/generic_mock_api_tests/asynctests/test_server_endpoint_not_defined_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_server_path_multiple_async.py +0 -25
- package/generator/test/generic_mock_api_tests/asynctests/test_server_path_single_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_not_versioned_async.py +0 -28
- package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_versioned_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_conditional_request_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_repeatability_async.py +0 -19
- package/generator/test/generic_mock_api_tests/asynctests/test_specs_documentation_async.py +0 -59
- package/generator/test/generic_mock_api_tests/asynctests/test_streaming_jsonl_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_array_async.py +0 -127
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +0 -98
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_extensible_async.py +0 -25
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_fixed_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_file_async.py +0 -59
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_empty_async.py +0 -32
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_enum_discriminator_async.py +0 -70
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_nested_discriminator_async.py +0 -85
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_not_discriminated_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_recursive_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_single_discriminator_async.py +0 -67
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_usage_async.py +0 -32
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_visibility_async.py +0 -47
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_additionalproperties_async.py +0 -353
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_nullable_async.py +0 -110
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_optional_async.py +0 -197
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +0 -315
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_scalar_async.py +0 -60
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_union_async.py +0 -90
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_added_async.py +0 -36
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py +0 -21
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_removed_async.py +0 -39
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py +0 -29
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_return_type_changed_from_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py +0 -22
- package/generator/test/generic_mock_api_tests/conftest.py +0 -75
- package/generator/test/generic_mock_api_tests/data/image.jpg +0 -0
- package/generator/test/generic_mock_api_tests/data/image.png +0 -0
- package/generator/test/generic_mock_api_tests/test_authentication.py +0 -130
- package/generator/test/generic_mock_api_tests/test_encode_array.py +0 -126
- package/generator/test/generic_mock_api_tests/test_encode_bytes.py +0 -128
- package/generator/test/generic_mock_api_tests/test_encode_datetime.py +0 -123
- package/generator/test/generic_mock_api_tests/test_headasboolean.py +0 -33
- package/generator/test/generic_mock_api_tests/test_parameters_body_optionality.py +0 -27
- package/generator/test/generic_mock_api_tests/test_parameters_collection_format.py +0 -33
- package/generator/test/generic_mock_api_tests/test_parameters_path.py +0 -22
- package/generator/test/generic_mock_api_tests/test_parameters_query.py +0 -17
- package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +0 -93
- package/generator/test/generic_mock_api_tests/test_payload_media_type.py +0 -25
- package/generator/test/generic_mock_api_tests/test_payload_pageable.py +0 -99
- package/generator/test/generic_mock_api_tests/test_payload_xml.py +0 -135
- package/generator/test/generic_mock_api_tests/test_response_status_code_range.py +0 -36
- package/generator/test/generic_mock_api_tests/test_routes.py +0 -285
- package/generator/test/generic_mock_api_tests/test_server_endpoint_not_defined.py +0 -17
- package/generator/test/generic_mock_api_tests/test_server_path_multiple.py +0 -21
- package/generator/test/generic_mock_api_tests/test_server_path_single.py +0 -17
- package/generator/test/generic_mock_api_tests/test_server_versions_not_versioned.py +0 -25
- package/generator/test/generic_mock_api_tests/test_server_versions_versioned.py +0 -30
- package/generator/test/generic_mock_api_tests/test_special_headers_conditional_request.py +0 -34
- package/generator/test/generic_mock_api_tests/test_special_headers_repeatability.py +0 -18
- package/generator/test/generic_mock_api_tests/test_specs_documentation.py +0 -51
- package/generator/test/generic_mock_api_tests/test_streaming_jsonl.py +0 -25
- package/generator/test/generic_mock_api_tests/test_typetest_array.py +0 -111
- package/generator/test/generic_mock_api_tests/test_typetest_dictionary.py +0 -86
- package/generator/test/generic_mock_api_tests/test_typetest_enum_extensible.py +0 -23
- package/generator/test/generic_mock_api_tests/test_typetest_enum_fixed.py +0 -25
- package/generator/test/generic_mock_api_tests/test_typetest_file.py +0 -52
- package/generator/test/generic_mock_api_tests/test_typetest_model_empty.py +0 -29
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_enum_discriminator.py +0 -58
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_nested_discriminator.py +0 -79
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_not_discriminated.py +0 -31
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_recursive.py +0 -32
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_single_discriminator.py +0 -60
- package/generator/test/generic_mock_api_tests/test_typetest_model_usage.py +0 -28
- package/generator/test/generic_mock_api_tests/test_typetest_model_visibility.py +0 -40
- package/generator/test/generic_mock_api_tests/test_typetest_property_additionalproperties.py +0 -314
- package/generator/test/generic_mock_api_tests/test_typetest_property_nullable.py +0 -102
- package/generator/test/generic_mock_api_tests/test_typetest_property_optional.py +0 -174
- package/generator/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +0 -286
- package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -53
- package/generator/test/generic_mock_api_tests/test_typetest_union.py +0 -80
- package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +0 -290
- package/generator/test/generic_mock_api_tests/test_versioning_added.py +0 -33
- package/generator/test/generic_mock_api_tests/test_versioning_made_optional.py +0 -20
- package/generator/test/generic_mock_api_tests/test_versioning_removed.py +0 -37
- package/generator/test/generic_mock_api_tests/test_versioning_renamed_from.py +0 -27
- package/generator/test/generic_mock_api_tests/test_versioning_return_type_changed_from.py +0 -17
- package/generator/test/generic_mock_api_tests/test_versioning_type_changed_from.py +0 -21
- package/generator/test/unbranded/mock_api_tests/asynctests/test_auth_flow_async.py +0 -19
- package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
- package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
- package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
- package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
- package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -218
- package/generator/test/unbranded/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/asynctests/test_special_words_async.py +0 -73
- package/generator/test/unbranded/mock_api_tests/asynctests/test_unbranded_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/conftest.py +0 -91
- package/generator/test/unbranded/mock_api_tests/data/image.jpg +0 -0
- package/generator/test/unbranded/mock_api_tests/data/image.png +0 -0
- package/generator/test/unbranded/mock_api_tests/test_auth_flow.py +0 -17
- package/generator/test/unbranded/mock_api_tests/test_encode_duration.py +0 -60
- package/generator/test/unbranded/mock_api_tests/test_encode_numeric.py +0 -32
- package/generator/test/unbranded/mock_api_tests/test_parameters_basic.py +0 -22
- package/generator/test/unbranded/mock_api_tests/test_parameters_spread.py +0 -66
- package/generator/test/unbranded/mock_api_tests/test_payload_content_negotiation.py +0 -33
- package/generator/test/unbranded/mock_api_tests/test_payload_multipart.py +0 -200
- package/generator/test/unbranded/mock_api_tests/test_serialization_encoded_name_json.py +0 -22
- package/generator/test/unbranded/mock_api_tests/test_special_words.py +0 -66
- package/generator/test/unbranded/mock_api_tests/test_unbranded.py +0 -65
- package/generator/test/unbranded/requirements.txt +0 -69
- package/generator/test/unbranded/tox.ini +0 -64
- package/generator/test/unittests/conftest.py +0 -15
- package/generator/test/unittests/requirements.txt +0 -3
- package/generator/test/unittests/test_enums.py +0 -89
- package/generator/test/unittests/test_model_base_serialization.py +0 -4906
- package/generator/test/unittests/test_model_base_xml_serialization.py +0 -1239
- package/generator/test/unittests/test_name_converter.py +0 -35
- package/generator/test/unittests/test_optional_return_type.py +0 -268
- package/generator/test/unittests/test_parameter_ordering.py +0 -104
- package/generator/test/unittests/test_sort_schema.py +0 -93
- package/generator/test/unittests/tox.ini +0 -5
- /package/eng/scripts/ci/{mypy.ini → config/mypy.ini} +0 -0
- /package/eng/scripts/ci/{pylintrc → config/pylintrc} +0 -0
- /package/eng/scripts/ci/{pyproject.toml → config/pyproject.toml} +0 -0
- /package/eng/scripts/ci/{pyrightconfig.json → config/pyrightconfig.json} +0 -0
|
@@ -1,85 +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 import TraitsClient
|
|
13
|
-
from specs.azure.core.traits.models import UserActionParam
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@pytest.fixture
|
|
17
|
-
def client():
|
|
18
|
-
with TraitsClient() as client:
|
|
19
|
-
yield client
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def test_get(client: TraitsClient, check_client_request_id_header):
|
|
23
|
-
def assert_test_get(**kwargs):
|
|
24
|
-
checked = {}
|
|
25
|
-
result, header = client.smoke_test(
|
|
26
|
-
id=1,
|
|
27
|
-
foo="123",
|
|
28
|
-
if_unmodified_since=datetime(year=2022, month=8, day=26, hour=14, minute=38, second=0),
|
|
29
|
-
if_modified_since=datetime(year=2021, month=8, day=26, hour=14, minute=38, second=0),
|
|
30
|
-
cls=lambda x, y, z: (y, z),
|
|
31
|
-
raw_request_hook=functools.partial(
|
|
32
|
-
check_client_request_id_header, header="x-ms-client-request-id", checked=checked
|
|
33
|
-
),
|
|
34
|
-
**kwargs,
|
|
35
|
-
)
|
|
36
|
-
assert result.id == 1
|
|
37
|
-
assert result.name == "Madge"
|
|
38
|
-
assert header["ETag"] == "11bdc430-65e8-45ad-81d9-8ffa60d55b59"
|
|
39
|
-
assert header["bar"] == "456"
|
|
40
|
-
assert header["x-ms-client-request-id"] == checked["x-ms-client-request-id"]
|
|
41
|
-
|
|
42
|
-
assert_test_get(etag="valid", match_condition=MatchConditions.IfNotModified)
|
|
43
|
-
assert_test_get(etag="invalid", match_condition=MatchConditions.IfModified)
|
|
44
|
-
with pytest.raises(HttpResponseError):
|
|
45
|
-
assert_test_get()
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
def test_repeatable_action(client: TraitsClient, check_repeatability_header):
|
|
49
|
-
result, header = client.repeatable_action(
|
|
50
|
-
id=1,
|
|
51
|
-
body=UserActionParam(user_action_value="test"),
|
|
52
|
-
cls=lambda x, y, z: (y, z),
|
|
53
|
-
raw_request_hook=check_repeatability_header,
|
|
54
|
-
)
|
|
55
|
-
assert result.user_action_result == "test"
|
|
56
|
-
assert header["Repeatability-Result"] == "accepted"
|
|
57
|
-
|
|
58
|
-
result, header = client.repeatable_action(
|
|
59
|
-
id=1,
|
|
60
|
-
body=UserActionParam(user_action_value="test"),
|
|
61
|
-
cls=lambda x, y, z: (y, z),
|
|
62
|
-
headers={
|
|
63
|
-
"Repeatability-Request-ID": "5942d803-e3fa-4f96-8f67-607d7bd607f5",
|
|
64
|
-
"Repeatability-First-Sent": "Sun, 06 Nov 1994 08:49:37 GMT",
|
|
65
|
-
},
|
|
66
|
-
raw_request_hook=check_repeatability_header,
|
|
67
|
-
)
|
|
68
|
-
assert result.user_action_result == "test"
|
|
69
|
-
assert header["Repeatability-Result"] == "accepted"
|
|
70
|
-
|
|
71
|
-
with pytest.raises(HttpResponseError):
|
|
72
|
-
client.repeatable_action(
|
|
73
|
-
id=1,
|
|
74
|
-
body=UserActionParam(user_action_value="test"),
|
|
75
|
-
cls=lambda x, y, z: (y, z),
|
|
76
|
-
headers={"Repeatability-Request-ID": "wrong-id"},
|
|
77
|
-
)
|
|
78
|
-
|
|
79
|
-
with pytest.raises(HttpResponseError):
|
|
80
|
-
client.repeatable_action(
|
|
81
|
-
id=1,
|
|
82
|
-
body=UserActionParam(user_action_value="test"),
|
|
83
|
-
cls=lambda x, y, z: (y, z),
|
|
84
|
-
headers={"Repeatability-First-Sent": "wrong-datetime"},
|
|
85
|
-
)
|
|
@@ -1,18 +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 import DurationClient
|
|
8
|
-
from specs.azure.encode.duration import models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with DurationClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_duration_constant(client: DurationClient):
|
|
18
|
-
client.duration_constant(models.DurationModel(input="1.02:59:59.5000000"))
|
|
@@ -1,29 +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 import AzureExampleClient
|
|
8
|
-
from specs.azure.example.basic.models import ActionRequest, Model
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with AzureExampleClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_basic_action(client: AzureExampleClient):
|
|
18
|
-
body = ActionRequest(
|
|
19
|
-
string_property="text",
|
|
20
|
-
model_property=Model(int32_property=1, float32_property=1.5, enum_property="EnumValue1"),
|
|
21
|
-
array_property=["item"],
|
|
22
|
-
record_property={"record": "value"},
|
|
23
|
-
)
|
|
24
|
-
result = client.basic_action(
|
|
25
|
-
body=body,
|
|
26
|
-
query_param="query",
|
|
27
|
-
header_param="header",
|
|
28
|
-
)
|
|
29
|
-
assert result.string_property == body.string_property
|
|
@@ -1,18 +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 import PageableClient
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@pytest.fixture
|
|
11
|
-
def client():
|
|
12
|
-
with PageableClient(endpoint="http://localhost:3000") as client:
|
|
13
|
-
yield client
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def test_list(client: PageableClient):
|
|
17
|
-
result = list(client.list(maxpagesize=3))
|
|
18
|
-
assert len(result) == 4
|
package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py
DELETED
|
@@ -1,235 +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 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
|
-
def client(credential, authentication_policy):
|
|
16
|
-
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
|
-
def test_operations_list(client):
|
|
26
|
-
"""Test Operations.list() endpoint."""
|
|
27
|
-
operations = client.operations.list()
|
|
28
|
-
operations_list = [op for op in operations]
|
|
29
|
-
assert len(operations_list) > 0
|
|
30
|
-
|
|
31
|
-
operation = operations_list[0]
|
|
32
|
-
assert operation.name == "Azure.ResourceManager.MethodSubscriptionId/services/read"
|
|
33
|
-
assert operation.is_data_action is False
|
|
34
|
-
assert operation.display.provider == "Azure.ResourceManager.MethodSubscriptionId"
|
|
35
|
-
assert operation.display.resource == "services"
|
|
36
|
-
assert operation.display.operation == "Lists services"
|
|
37
|
-
assert operation.display.description == "Lists registered services"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
def test_two_subscription_resources_method_level_subscription_resource1_operations_get(client):
|
|
41
|
-
"""Test get operation for SubscriptionResource1 with method-level subscription ID."""
|
|
42
|
-
result = client.two_subscription_resources_method_level.subscription_resource1_operations.get(
|
|
43
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
44
|
-
subscription_resource1_name="sub-resource-1",
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
assert (
|
|
48
|
-
result.id
|
|
49
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s/sub-resource-1"
|
|
50
|
-
)
|
|
51
|
-
assert result.name == "sub-resource-1"
|
|
52
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s"
|
|
53
|
-
assert result.properties.description == "Valid subscription resource 1"
|
|
54
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
55
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
def test_two_subscription_resources_method_level_subscription_resource1_operations_put(client):
|
|
59
|
-
"""Test put operation for SubscriptionResource1 with method-level subscription ID."""
|
|
60
|
-
resource = models.SubscriptionResource1(
|
|
61
|
-
properties=models.SubscriptionResource1Properties(description="Valid subscription resource 1")
|
|
62
|
-
)
|
|
63
|
-
|
|
64
|
-
result = client.two_subscription_resources_method_level.subscription_resource1_operations.put(
|
|
65
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
66
|
-
subscription_resource1_name="sub-resource-1",
|
|
67
|
-
resource=resource,
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
assert (
|
|
71
|
-
result.id
|
|
72
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s/sub-resource-1"
|
|
73
|
-
)
|
|
74
|
-
assert result.name == "sub-resource-1"
|
|
75
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource1s"
|
|
76
|
-
assert result.properties.description == "Valid subscription resource 1"
|
|
77
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
78
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
def test_two_subscription_resources_method_level_subscription_resource1_operations_delete(client):
|
|
82
|
-
"""Test delete operation for SubscriptionResource1 with method-level subscription ID."""
|
|
83
|
-
client.two_subscription_resources_method_level.subscription_resource1_operations.delete(
|
|
84
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
85
|
-
subscription_resource1_name="sub-resource-1",
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
def test_two_subscription_resources_method_level_subscription_resource2_operations_get(client):
|
|
90
|
-
"""Test get operation for SubscriptionResource2 with method-level subscription ID."""
|
|
91
|
-
result = client.two_subscription_resources_method_level.subscription_resource2_operations.get(
|
|
92
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
93
|
-
subscription_resource2_name="sub-resource-2",
|
|
94
|
-
)
|
|
95
|
-
|
|
96
|
-
assert (
|
|
97
|
-
result.id
|
|
98
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s/sub-resource-2"
|
|
99
|
-
)
|
|
100
|
-
assert result.name == "sub-resource-2"
|
|
101
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s"
|
|
102
|
-
assert result.properties.config_value == "test-config"
|
|
103
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
104
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
def test_two_subscription_resources_method_level_subscription_resource2_operations_put(client):
|
|
108
|
-
"""Test put operation for SubscriptionResource2 with method-level subscription ID."""
|
|
109
|
-
resource = models.SubscriptionResource2(
|
|
110
|
-
properties=models.SubscriptionResource2Properties(config_value="test-config")
|
|
111
|
-
)
|
|
112
|
-
|
|
113
|
-
result = client.two_subscription_resources_method_level.subscription_resource2_operations.put(
|
|
114
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
115
|
-
subscription_resource2_name="sub-resource-2",
|
|
116
|
-
resource=resource,
|
|
117
|
-
)
|
|
118
|
-
|
|
119
|
-
assert (
|
|
120
|
-
result.id
|
|
121
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s/sub-resource-2"
|
|
122
|
-
)
|
|
123
|
-
assert result.name == "sub-resource-2"
|
|
124
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResource2s"
|
|
125
|
-
assert result.properties.config_value == "test-config"
|
|
126
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
127
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
def test_two_subscription_resources_method_level_subscription_resource2_operations_delete(client):
|
|
131
|
-
"""Test delete operation for SubscriptionResource2 with method-level subscription ID."""
|
|
132
|
-
client.two_subscription_resources_method_level.subscription_resource2_operations.delete(
|
|
133
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
134
|
-
subscription_resource2_name="sub-resource-2",
|
|
135
|
-
)
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
def test_mixed_subscription_placement_subscription_resource_operations_get(client):
|
|
139
|
-
"""Test get operation for SubscriptionResource in mixed placement scenario."""
|
|
140
|
-
result = client.mixed_subscription_placement.subscription_resource_operations.get(
|
|
141
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
142
|
-
subscription_resource_name="sub-resource",
|
|
143
|
-
)
|
|
144
|
-
|
|
145
|
-
assert (
|
|
146
|
-
result.id
|
|
147
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResources/sub-resource"
|
|
148
|
-
)
|
|
149
|
-
assert result.name == "sub-resource"
|
|
150
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResources"
|
|
151
|
-
assert result.properties.subscription_setting == "test-sub-setting"
|
|
152
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
153
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
def test_mixed_subscription_placement_subscription_resource_operations_put(client):
|
|
157
|
-
"""Test put operation for SubscriptionResource in mixed placement scenario."""
|
|
158
|
-
resource = models.SubscriptionResource(
|
|
159
|
-
properties=models.SubscriptionResourceProperties(subscription_setting="test-sub-setting")
|
|
160
|
-
)
|
|
161
|
-
|
|
162
|
-
result = client.mixed_subscription_placement.subscription_resource_operations.put(
|
|
163
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
164
|
-
subscription_resource_name="sub-resource",
|
|
165
|
-
resource=resource,
|
|
166
|
-
)
|
|
167
|
-
|
|
168
|
-
assert (
|
|
169
|
-
result.id
|
|
170
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/providers/Azure.ResourceManager.MethodSubscriptionId/subscriptionResources/sub-resource"
|
|
171
|
-
)
|
|
172
|
-
assert result.name == "sub-resource"
|
|
173
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/subscriptionResources"
|
|
174
|
-
assert result.properties.subscription_setting == "test-sub-setting"
|
|
175
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
176
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
def test_mixed_subscription_placement_subscription_resource_operations_delete(client):
|
|
180
|
-
"""Test delete operation for SubscriptionResource in mixed placement scenario."""
|
|
181
|
-
client.mixed_subscription_placement.subscription_resource_operations.delete(
|
|
182
|
-
subscription_id=SUBSCRIPTION_ID,
|
|
183
|
-
subscription_resource_name="sub-resource",
|
|
184
|
-
)
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
def test_mixed_subscription_placement_resource_group_resource_operations_get(client):
|
|
188
|
-
"""Test get operation for ResourceGroupResource with client-level subscription ID."""
|
|
189
|
-
result = client.mixed_subscription_placement.resource_group_resource_operations.get(
|
|
190
|
-
resource_group_name=RESOURCE_GROUP_NAME,
|
|
191
|
-
resource_group_resource_name="rg-resource",
|
|
192
|
-
)
|
|
193
|
-
|
|
194
|
-
assert (
|
|
195
|
-
result.id
|
|
196
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources/rg-resource"
|
|
197
|
-
)
|
|
198
|
-
assert result.name == "rg-resource"
|
|
199
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources"
|
|
200
|
-
assert result.location == "eastus"
|
|
201
|
-
assert result.properties.resource_group_setting == "test-setting"
|
|
202
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
203
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
def test_mixed_subscription_placement_resource_group_resource_operations_put(client):
|
|
207
|
-
"""Test put operation for ResourceGroupResource with client-level subscription ID."""
|
|
208
|
-
resource = models.ResourceGroupResource(
|
|
209
|
-
location="eastus", properties=models.ResourceGroupResourceProperties(resource_group_setting="test-setting")
|
|
210
|
-
)
|
|
211
|
-
|
|
212
|
-
result = client.mixed_subscription_placement.resource_group_resource_operations.put(
|
|
213
|
-
resource_group_name=RESOURCE_GROUP_NAME,
|
|
214
|
-
resource_group_resource_name="rg-resource",
|
|
215
|
-
resource=resource,
|
|
216
|
-
)
|
|
217
|
-
|
|
218
|
-
assert (
|
|
219
|
-
result.id
|
|
220
|
-
== f"/subscriptions/{SUBSCRIPTION_ID}/resourceGroups/{RESOURCE_GROUP_NAME}/providers/Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources/rg-resource"
|
|
221
|
-
)
|
|
222
|
-
assert result.name == "rg-resource"
|
|
223
|
-
assert result.type == "Azure.ResourceManager.MethodSubscriptionId/resourceGroupResources"
|
|
224
|
-
assert result.location == "eastus"
|
|
225
|
-
assert result.properties.resource_group_setting == "test-setting"
|
|
226
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
227
|
-
assert result.system_data.created_by == "AzureSDK"
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
def test_mixed_subscription_placement_resource_group_resource_operations_delete(client):
|
|
231
|
-
"""Test delete operation for ResourceGroupResource with client-level subscription ID."""
|
|
232
|
-
client.mixed_subscription_placement.resource_group_resource_operations.delete(
|
|
233
|
-
resource_group_name=RESOURCE_GROUP_NAME,
|
|
234
|
-
resource_group_resource_name="rg-resource",
|
|
235
|
-
)
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from azure.core.exceptions import HttpResponseError
|
|
8
|
-
from azure.resourcemanager.multiservice.combined import CombinedClient
|
|
9
|
-
from azure.resourcemanager.multiservice.combined.models import VirtualMachine, Disk
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
@pytest.fixture
|
|
13
|
-
def client(credential, authentication_policy):
|
|
14
|
-
"""Create a Combined client for testing."""
|
|
15
|
-
return CombinedClient(
|
|
16
|
-
credential=credential, # Will use mock server, no real auth needed
|
|
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
|
-
def test_virtual_machines_get(client):
|
|
25
|
-
resource_group_name = "test-rg"
|
|
26
|
-
vm_name = "vm1"
|
|
27
|
-
|
|
28
|
-
with pytest.raises(HttpResponseError):
|
|
29
|
-
client.virtual_machines.get(
|
|
30
|
-
resource_group_name=resource_group_name,
|
|
31
|
-
vm_name=vm_name,
|
|
32
|
-
api_version="av1", # invalid api version shall raise error
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
result = client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name)
|
|
36
|
-
|
|
37
|
-
assert result is not None
|
|
38
|
-
assert isinstance(result, VirtualMachine)
|
|
39
|
-
assert result.name == vm_name
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
def test_virtual_machines_create_or_update(client):
|
|
43
|
-
resource_group_name = "test-rg"
|
|
44
|
-
vm_name = "vm1"
|
|
45
|
-
|
|
46
|
-
vm_resource = VirtualMachine(location="eastus", properties={})
|
|
47
|
-
|
|
48
|
-
with pytest.raises(HttpResponseError):
|
|
49
|
-
client.virtual_machines.begin_create_or_update(
|
|
50
|
-
resource_group_name=resource_group_name,
|
|
51
|
-
vm_name=vm_name,
|
|
52
|
-
resource=vm_resource,
|
|
53
|
-
api_version="av1", # invalid api version shall raise error
|
|
54
|
-
).result()
|
|
55
|
-
|
|
56
|
-
poller = client.virtual_machines.begin_create_or_update(
|
|
57
|
-
resource_group_name=resource_group_name, vm_name=vm_name, resource=vm_resource
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
result = poller.result()
|
|
61
|
-
assert result is not None
|
|
62
|
-
assert isinstance(result, VirtualMachine)
|
|
63
|
-
assert result.location == "eastus"
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
def test_disks_get(client):
|
|
67
|
-
resource_group_name = "test-rg"
|
|
68
|
-
disk_name = "disk1"
|
|
69
|
-
with pytest.raises(HttpResponseError):
|
|
70
|
-
client.disks.get(
|
|
71
|
-
resource_group_name=resource_group_name,
|
|
72
|
-
disk_name=disk_name,
|
|
73
|
-
api_version="av1", # invalid api version shall raise error
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
result = client.disks.get(resource_group_name=resource_group_name, disk_name=disk_name)
|
|
77
|
-
|
|
78
|
-
assert result is not None
|
|
79
|
-
assert isinstance(result, Disk)
|
|
80
|
-
assert result.name == disk_name
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
def test_disks_create_or_update(client):
|
|
84
|
-
resource_group_name = "test-rg"
|
|
85
|
-
disk_name = "disk1"
|
|
86
|
-
|
|
87
|
-
disk_resource = Disk(location="eastus", properties={})
|
|
88
|
-
|
|
89
|
-
with pytest.raises(HttpResponseError):
|
|
90
|
-
client.disks.begin_create_or_update(
|
|
91
|
-
resource_group_name=resource_group_name,
|
|
92
|
-
disk_name=disk_name,
|
|
93
|
-
resource=disk_resource,
|
|
94
|
-
api_version="av1", # invalid api version shall raise error
|
|
95
|
-
).result()
|
|
96
|
-
|
|
97
|
-
poller = client.disks.begin_create_or_update(
|
|
98
|
-
resource_group_name=resource_group_name, disk_name=disk_name, resource=disk_resource
|
|
99
|
-
)
|
|
100
|
-
|
|
101
|
-
result = poller.result()
|
|
102
|
-
assert result is not None
|
|
103
|
-
assert isinstance(result, Disk)
|
|
104
|
-
assert result.location == "eastus"
|
|
@@ -1,128 +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.multiservicesharedmodels.combined import CombinedClient
|
|
8
|
-
from azure.resourcemanager.multiservicesharedmodels.combined.models import (
|
|
9
|
-
VirtualMachine,
|
|
10
|
-
VirtualMachineProperties,
|
|
11
|
-
StorageAccount,
|
|
12
|
-
StorageAccountProperties,
|
|
13
|
-
SharedMetadata,
|
|
14
|
-
)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.fixture
|
|
18
|
-
def client(credential, authentication_policy):
|
|
19
|
-
"""Create a Combined client for testing."""
|
|
20
|
-
return CombinedClient(
|
|
21
|
-
credential=credential,
|
|
22
|
-
subscription_id="00000000-0000-0000-0000-000000000000",
|
|
23
|
-
base_url="http://localhost:3000",
|
|
24
|
-
authentication_policy=authentication_policy,
|
|
25
|
-
polling_interval=0.1,
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def test_virtual_machines_get(client):
|
|
30
|
-
"""Test getting a virtual machine with shared metadata."""
|
|
31
|
-
resource_group_name = "test-rg"
|
|
32
|
-
vm_name = "vm-shared1"
|
|
33
|
-
|
|
34
|
-
result = client.virtual_machines.get(resource_group_name=resource_group_name, vm_name=vm_name)
|
|
35
|
-
|
|
36
|
-
assert result is not None
|
|
37
|
-
assert isinstance(result, VirtualMachine)
|
|
38
|
-
assert result.name == vm_name
|
|
39
|
-
assert result.location == "eastus"
|
|
40
|
-
assert result.type == "Microsoft.Compute/virtualMachinesShared"
|
|
41
|
-
assert result.properties is not None
|
|
42
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
43
|
-
assert result.properties.metadata is not None
|
|
44
|
-
assert result.properties.metadata.created_by == "user@example.com"
|
|
45
|
-
assert result.properties.metadata.tags == {"environment": "production"}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
def test_virtual_machines_create_or_update(client):
|
|
49
|
-
"""Test creating or updating a virtual machine with shared metadata."""
|
|
50
|
-
resource_group_name = "test-rg"
|
|
51
|
-
vm_name = "vm-shared1"
|
|
52
|
-
|
|
53
|
-
vm_resource = VirtualMachine(
|
|
54
|
-
location="eastus",
|
|
55
|
-
properties=VirtualMachineProperties(
|
|
56
|
-
metadata=SharedMetadata(
|
|
57
|
-
created_by="user@example.com",
|
|
58
|
-
tags={"environment": "production"},
|
|
59
|
-
),
|
|
60
|
-
),
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
poller = client.virtual_machines.begin_create_or_update(
|
|
64
|
-
resource_group_name=resource_group_name,
|
|
65
|
-
vm_name=vm_name,
|
|
66
|
-
resource=vm_resource,
|
|
67
|
-
)
|
|
68
|
-
|
|
69
|
-
result = poller.result()
|
|
70
|
-
assert result is not None
|
|
71
|
-
assert isinstance(result, VirtualMachine)
|
|
72
|
-
assert result.location == "eastus"
|
|
73
|
-
assert result.properties is not None
|
|
74
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
75
|
-
assert result.properties.metadata is not None
|
|
76
|
-
assert result.properties.metadata.created_by == "user@example.com"
|
|
77
|
-
assert result.properties.metadata.tags == {"environment": "production"}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
def test_storage_accounts_get(client):
|
|
81
|
-
"""Test getting a storage account with shared metadata."""
|
|
82
|
-
resource_group_name = "test-rg"
|
|
83
|
-
account_name = "account1"
|
|
84
|
-
|
|
85
|
-
result = client.storage_accounts.get(resource_group_name=resource_group_name, account_name=account_name)
|
|
86
|
-
|
|
87
|
-
assert result is not None
|
|
88
|
-
assert isinstance(result, StorageAccount)
|
|
89
|
-
assert result.name == account_name
|
|
90
|
-
assert result.location == "westus"
|
|
91
|
-
assert result.type == "Microsoft.Storage/storageAccounts"
|
|
92
|
-
assert result.properties is not None
|
|
93
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
94
|
-
assert result.properties.metadata is not None
|
|
95
|
-
assert result.properties.metadata.created_by == "admin@example.com"
|
|
96
|
-
assert result.properties.metadata.tags == {"department": "engineering"}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
def test_storage_accounts_create_or_update(client):
|
|
100
|
-
"""Test creating or updating a storage account with shared metadata."""
|
|
101
|
-
resource_group_name = "test-rg"
|
|
102
|
-
account_name = "account1"
|
|
103
|
-
|
|
104
|
-
storage_resource = StorageAccount(
|
|
105
|
-
location="westus",
|
|
106
|
-
properties=StorageAccountProperties(
|
|
107
|
-
metadata=SharedMetadata(
|
|
108
|
-
created_by="admin@example.com",
|
|
109
|
-
tags={"department": "engineering"},
|
|
110
|
-
),
|
|
111
|
-
),
|
|
112
|
-
)
|
|
113
|
-
|
|
114
|
-
poller = client.storage_accounts.begin_create_or_update(
|
|
115
|
-
resource_group_name=resource_group_name,
|
|
116
|
-
account_name=account_name,
|
|
117
|
-
resource=storage_resource,
|
|
118
|
-
)
|
|
119
|
-
|
|
120
|
-
result = poller.result()
|
|
121
|
-
assert result is not None
|
|
122
|
-
assert isinstance(result, StorageAccount)
|
|
123
|
-
assert result.location == "westus"
|
|
124
|
-
assert result.properties is not None
|
|
125
|
-
assert result.properties.provisioning_state == "Succeeded"
|
|
126
|
-
assert result.properties.metadata is not None
|
|
127
|
-
assert result.properties.metadata.created_by == "admin@example.com"
|
|
128
|
-
assert result.properties.metadata.tags == {"department": "engineering"}
|
|
@@ -1,29 +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
|
-
|
|
8
|
-
import pytest
|
|
9
|
-
|
|
10
|
-
from azure.specialheaders.xmsclientrequestid import XmsClientRequestIdClient
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@pytest.fixture
|
|
14
|
-
def client():
|
|
15
|
-
with XmsClientRequestIdClient() as client:
|
|
16
|
-
yield client
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def test_get(client: XmsClientRequestIdClient, check_client_request_id_header):
|
|
20
|
-
checked = {}
|
|
21
|
-
result, resp = client.get(
|
|
22
|
-
cls=lambda x, y, z: (y, x),
|
|
23
|
-
raw_request_hook=functools.partial(
|
|
24
|
-
check_client_request_id_header, header="x-ms-client-request-id", checked=checked
|
|
25
|
-
),
|
|
26
|
-
)
|
|
27
|
-
assert result is None
|
|
28
|
-
assert resp.http_response.headers["x-ms-client-request-id"] == checked["x-ms-client-request-id"]
|
|
29
|
-
pass
|