@typespec/http-client-python 0.28.2 → 0.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/emitter/code-model.d.ts.map +1 -1
- package/dist/emitter/code-model.js +6 -6
- package/dist/emitter/code-model.js.map +1 -1
- package/dist/emitter/emitter.d.ts.map +1 -1
- package/dist/emitter/emitter.js +27 -28
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/lib.d.ts +4 -1
- package/dist/emitter/lib.d.ts.map +1 -1
- package/dist/emitter/lib.js.map +1 -1
- package/dist/emitter/system-requirements.js +6 -4
- package/dist/emitter/system-requirements.js.map +1 -1
- package/dist/emitter/types.d.ts +2 -5
- package/dist/emitter/types.d.ts.map +1 -1
- package/dist/emitter/types.js +55 -58
- package/dist/emitter/types.js.map +1 -1
- package/dist/emitter/utils.d.ts.map +1 -1
- package/dist/emitter/utils.js +16 -17
- package/dist/emitter/utils.js.map +1 -1
- package/emitter/src/code-model.ts +6 -13
- package/emitter/src/emitter.ts +29 -31
- package/emitter/src/lib.ts +4 -0
- package/emitter/src/system-requirements.ts +4 -4
- package/emitter/src/types.ts +67 -57
- package/emitter/src/utils.ts +16 -18
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/eng/scripts/Build-Packages.ps1 +62 -37
- package/eng/scripts/Check-GitChanges.ps1 +30 -3
- package/eng/scripts/Functions.ps1 +54 -15
- package/eng/scripts/Generate.ps1 +42 -8
- package/eng/scripts/Generation.psm1 +44 -15
- package/eng/scripts/Initialize-Repository.ps1 +29 -11
- package/eng/scripts/Test-Packages.ps1 +47 -31
- package/eng/scripts/ci/config/eslint-ci.config.mjs +54 -0
- package/eng/scripts/ci/dev_requirements.txt +1 -0
- package/eng/scripts/ci/format.ts +232 -2
- package/eng/scripts/ci/lint.ts +216 -20
- package/eng/scripts/ci/regenerate-common.ts +18 -14
- package/eng/scripts/ci/regenerate.ts +305 -68
- package/eng/scripts/ci/run-tests.ts +402 -0
- package/eng/scripts/ci/run_mypy.py +4 -3
- package/eng/scripts/ci/run_pylint.py +4 -3
- package/eng/scripts/ci/run_pyright.py +4 -3
- package/eng/scripts/ci/typecheck.ts +225 -0
- package/eng/scripts/ci/util.py +1 -1
- package/eng/scripts/ci/utils.ts +5 -5
- package/eng/scripts/setup/__pycache__/package_manager.cpython-311.pyc +0 -0
- package/eng/scripts/setup/__pycache__/venvtools.cpython-311.pyc +0 -0
- package/eng/scripts/setup/build.ts +1 -1
- package/eng/scripts/setup/build_pygen_wheel.py +1 -0
- package/eng/scripts/setup/install.py +1 -0
- package/eng/scripts/setup/prepare.py +1 -0
- package/eng/scripts/setup/prepare.ts +1 -1
- package/eng/scripts/setup/run_tsp.py +3 -3
- package/eng/scripts/setup/system-requirements.ts +8 -4
- package/eng/scripts/setup/venvtools.py +1 -0
- package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +157 -64
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/codegen/templates/model_base.py.jinja2 +157 -64
- package/package.json +48 -42
- package/eng/scripts/ci/run-ci.ts +0 -89
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_commonproperties_async.py +0 -94
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_largeheader_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_nonresource_async.py +0 -36
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +0 -205
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_resource_async.py +0 -478
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_access_async.py +0 -101
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_header_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_path_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_api_version_query_async.py +0 -18
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_default_value_async.py +0 -46
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +0 -58
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_location_async.py +0 -82
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_deserialize_empty_string_as_null_async.py +0 -20
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_flatten_async.py +0 -115
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_hierrarchy_building_async.py +0 -53
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_next_link_verb_async.py +0 -28
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_override_async.py +0 -106
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_usage_async.py +0 -38
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_basic_async.py +0 -76
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_rpc_async.py +0 -22
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_lro_standard_async.py +0 -39
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_model_async.py +0 -33
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_page_async.py +0 -80
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_scalar_async.py +0 -41
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_core_traits_async.py +0 -87
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_encode_duration_async.py +0 -19
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_example_basic_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_payload_pageable_async.py +0 -19
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_method_subscription_id_async.py +0 -248
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_async.py +0 -110
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_resource_manager_multi_service_shared_models_async.py +0 -132
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_special_headers_client_request_id_async.py +0 -30
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_versioning_previewversion_async.py +0 -53
- package/generator/test/azure/mock_api_tests/asynctests/test_client_namespace_async.py +0 -34
- package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +0 -69
- package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +0 -37
- package/generator/test/azure/mock_api_tests/asynctests/test_client_overload_async.py +0 -27
- package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_async.py +0 -64
- package/generator/test/azure/mock_api_tests/asynctests/test_client_structure_clientoperationgroup_async.py +0 -31
- package/generator/test/azure/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
- package/generator/test/azure/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
- package/generator/test/azure/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
- package/generator/test/azure/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
- package/generator/test/azure/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
- package/generator/test/azure/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -216
- package/generator/test/azure/mock_api_tests/asynctests/test_resiliency_srv_driven_async.py +0 -130
- package/generator/test/azure/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
- package/generator/test/azure/mock_api_tests/asynctests/test_service_multi_service_async.py +0 -31
- package/generator/test/azure/mock_api_tests/asynctests/test_special_words_async.py +0 -71
- package/generator/test/azure/mock_api_tests/conftest.py +0 -207
- package/generator/test/azure/mock_api_tests/data/image.jpg +0 -0
- package/generator/test/azure/mock_api_tests/data/image.png +0 -0
- package/generator/test/azure/mock_api_tests/test_azure_arm_commonproperties.py +0 -89
- package/generator/test/azure/mock_api_tests/test_azure_arm_largeheader.py +0 -27
- package/generator/test/azure/mock_api_tests/test_azure_arm_nonresource.py +0 -34
- package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +0 -180
- package/generator/test/azure/mock_api_tests/test_azure_arm_resource.py +0 -436
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_access.py +0 -92
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_header.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_path.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_api_version_query.py +0 -17
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_default_value.py +0 -42
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +0 -51
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_location.py +0 -70
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_deserialize_empty_string_as_null.py +0 -19
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_flatten.py +0 -104
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_hierrarchy_building.py +0 -45
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_next_link_verb.py +0 -27
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_override.py +0 -102
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_usage.py +0 -32
- package/generator/test/azure/mock_api_tests/test_azure_core_basic.py +0 -70
- package/generator/test/azure/mock_api_tests/test_azure_core_lro_rpc.py +0 -20
- package/generator/test/azure/mock_api_tests/test_azure_core_lro_standard.py +0 -32
- package/generator/test/azure/mock_api_tests/test_azure_core_model.py +0 -30
- package/generator/test/azure/mock_api_tests/test_azure_core_page.py +0 -71
- package/generator/test/azure/mock_api_tests/test_azure_core_scalar.py +0 -35
- package/generator/test/azure/mock_api_tests/test_azure_core_traits.py +0 -85
- package/generator/test/azure/mock_api_tests/test_azure_encode_duration.py +0 -18
- package/generator/test/azure/mock_api_tests/test_azure_example_basic.py +0 -29
- package/generator/test/azure/mock_api_tests/test_azure_payload_pageable.py +0 -18
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_method_subscription_id.py +0 -235
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service.py +0 -104
- package/generator/test/azure/mock_api_tests/test_azure_resource_manager_multi_service_shared_models.py +0 -128
- package/generator/test/azure/mock_api_tests/test_azure_special_headers_client_request_id.py +0 -29
- package/generator/test/azure/mock_api_tests/test_azure_versioning_previewversion.py +0 -50
- package/generator/test/azure/mock_api_tests/test_clear_output_folder.py +0 -23
- package/generator/test/azure/mock_api_tests/test_client_namespace.py +0 -32
- package/generator/test/azure/mock_api_tests/test_client_naming.py +0 -57
- package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +0 -35
- package/generator/test/azure/mock_api_tests/test_client_overload.py +0 -25
- package/generator/test/azure/mock_api_tests/test_client_structure.py +0 -60
- package/generator/test/azure/mock_api_tests/test_client_structure_clientoperationgroup.py +0 -29
- package/generator/test/azure/mock_api_tests/test_encode_duration.py +0 -60
- package/generator/test/azure/mock_api_tests/test_encode_numeric.py +0 -31
- package/generator/test/azure/mock_api_tests/test_model_base_flatten_compatibility.py +0 -251
- package/generator/test/azure/mock_api_tests/test_parameters_basic.py +0 -22
- package/generator/test/azure/mock_api_tests/test_parameters_spread.py +0 -66
- package/generator/test/azure/mock_api_tests/test_payload_content_negotiation.py +0 -33
- package/generator/test/azure/mock_api_tests/test_payload_multipart.py +0 -198
- package/generator/test/azure/mock_api_tests/test_resiliency_srv_driven.py +0 -124
- package/generator/test/azure/mock_api_tests/test_serialization_encoded_name_json.py +0 -21
- package/generator/test/azure/mock_api_tests/test_service_multi_service.py +0 -29
- package/generator/test/azure/mock_api_tests/test_special_words.py +0 -63
- package/generator/test/azure/requirements.txt +0 -125
- package/generator/test/azure/tox.ini +0 -64
- package/generator/test/data/image.jpg +0 -0
- package/generator/test/data/image.png +0 -0
- package/generator/test/dev_requirements.txt +0 -8
- package/generator/test/generic_mock_api_tests/asynctests/test_authentication_async.py +0 -140
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_array_async.py +0 -139
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_bytes_async.py +0 -132
- package/generator/test/generic_mock_api_tests/asynctests/test_encode_datetime_async.py +0 -127
- package/generator/test/generic_mock_api_tests/asynctests/test_headasboolean_async.py +0 -35
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_body_optionality_async.py +0 -30
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_collection_format_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +0 -24
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_query_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +0 -98
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_media_type_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_pageable_async.py +0 -134
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_xml_async.py +0 -150
- package/generator/test/generic_mock_api_tests/asynctests/test_response_status_code_range_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_routes_async.py +0 -331
- package/generator/test/generic_mock_api_tests/asynctests/test_server_endpoint_not_defined_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_server_path_multiple_async.py +0 -25
- package/generator/test/generic_mock_api_tests/asynctests/test_server_path_single_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_not_versioned_async.py +0 -28
- package/generator/test/generic_mock_api_tests/asynctests/test_server_versions_versioned_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_conditional_request_async.py +0 -38
- package/generator/test/generic_mock_api_tests/asynctests/test_special_headers_repeatability_async.py +0 -19
- package/generator/test/generic_mock_api_tests/asynctests/test_specs_documentation_async.py +0 -59
- package/generator/test/generic_mock_api_tests/asynctests/test_streaming_jsonl_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_array_async.py +0 -127
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_dictionary_async.py +0 -98
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_extensible_async.py +0 -25
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_enum_fixed_async.py +0 -27
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_file_async.py +0 -59
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_empty_async.py +0 -32
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_enum_discriminator_async.py +0 -70
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_nested_discriminator_async.py +0 -85
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_not_discriminated_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_recursive_async.py +0 -34
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_inheritance_single_discriminator_async.py +0 -67
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_usage_async.py +0 -32
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_model_visibility_async.py +0 -47
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_additionalproperties_async.py +0 -353
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_nullable_async.py +0 -110
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_optional_async.py +0 -197
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_property_valuetypes_async.py +0 -315
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_scalar_async.py +0 -60
- package/generator/test/generic_mock_api_tests/asynctests/test_typetest_union_async.py +0 -90
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_added_async.py +0 -36
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py +0 -21
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_removed_async.py +0 -39
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py +0 -29
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_return_type_changed_from_async.py +0 -18
- package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py +0 -22
- package/generator/test/generic_mock_api_tests/conftest.py +0 -75
- package/generator/test/generic_mock_api_tests/data/image.jpg +0 -0
- package/generator/test/generic_mock_api_tests/data/image.png +0 -0
- package/generator/test/generic_mock_api_tests/test_authentication.py +0 -130
- package/generator/test/generic_mock_api_tests/test_encode_array.py +0 -126
- package/generator/test/generic_mock_api_tests/test_encode_bytes.py +0 -128
- package/generator/test/generic_mock_api_tests/test_encode_datetime.py +0 -123
- package/generator/test/generic_mock_api_tests/test_headasboolean.py +0 -33
- package/generator/test/generic_mock_api_tests/test_parameters_body_optionality.py +0 -27
- package/generator/test/generic_mock_api_tests/test_parameters_collection_format.py +0 -33
- package/generator/test/generic_mock_api_tests/test_parameters_path.py +0 -22
- package/generator/test/generic_mock_api_tests/test_parameters_query.py +0 -17
- package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +0 -93
- package/generator/test/generic_mock_api_tests/test_payload_media_type.py +0 -25
- package/generator/test/generic_mock_api_tests/test_payload_pageable.py +0 -99
- package/generator/test/generic_mock_api_tests/test_payload_xml.py +0 -135
- package/generator/test/generic_mock_api_tests/test_response_status_code_range.py +0 -36
- package/generator/test/generic_mock_api_tests/test_routes.py +0 -285
- package/generator/test/generic_mock_api_tests/test_server_endpoint_not_defined.py +0 -17
- package/generator/test/generic_mock_api_tests/test_server_path_multiple.py +0 -21
- package/generator/test/generic_mock_api_tests/test_server_path_single.py +0 -17
- package/generator/test/generic_mock_api_tests/test_server_versions_not_versioned.py +0 -25
- package/generator/test/generic_mock_api_tests/test_server_versions_versioned.py +0 -30
- package/generator/test/generic_mock_api_tests/test_special_headers_conditional_request.py +0 -34
- package/generator/test/generic_mock_api_tests/test_special_headers_repeatability.py +0 -18
- package/generator/test/generic_mock_api_tests/test_specs_documentation.py +0 -51
- package/generator/test/generic_mock_api_tests/test_streaming_jsonl.py +0 -25
- package/generator/test/generic_mock_api_tests/test_typetest_array.py +0 -111
- package/generator/test/generic_mock_api_tests/test_typetest_dictionary.py +0 -86
- package/generator/test/generic_mock_api_tests/test_typetest_enum_extensible.py +0 -23
- package/generator/test/generic_mock_api_tests/test_typetest_enum_fixed.py +0 -25
- package/generator/test/generic_mock_api_tests/test_typetest_file.py +0 -52
- package/generator/test/generic_mock_api_tests/test_typetest_model_empty.py +0 -29
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_enum_discriminator.py +0 -58
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_nested_discriminator.py +0 -79
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_not_discriminated.py +0 -31
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_recursive.py +0 -32
- package/generator/test/generic_mock_api_tests/test_typetest_model_inheritance_single_discriminator.py +0 -60
- package/generator/test/generic_mock_api_tests/test_typetest_model_usage.py +0 -28
- package/generator/test/generic_mock_api_tests/test_typetest_model_visibility.py +0 -40
- package/generator/test/generic_mock_api_tests/test_typetest_property_additionalproperties.py +0 -314
- package/generator/test/generic_mock_api_tests/test_typetest_property_nullable.py +0 -102
- package/generator/test/generic_mock_api_tests/test_typetest_property_optional.py +0 -174
- package/generator/test/generic_mock_api_tests/test_typetest_property_valuetypes.py +0 -286
- package/generator/test/generic_mock_api_tests/test_typetest_scalar.py +0 -53
- package/generator/test/generic_mock_api_tests/test_typetest_union.py +0 -80
- package/generator/test/generic_mock_api_tests/test_typetest_union_discriminated.py +0 -290
- package/generator/test/generic_mock_api_tests/test_versioning_added.py +0 -33
- package/generator/test/generic_mock_api_tests/test_versioning_made_optional.py +0 -20
- package/generator/test/generic_mock_api_tests/test_versioning_removed.py +0 -37
- package/generator/test/generic_mock_api_tests/test_versioning_renamed_from.py +0 -27
- package/generator/test/generic_mock_api_tests/test_versioning_return_type_changed_from.py +0 -17
- package/generator/test/generic_mock_api_tests/test_versioning_type_changed_from.py +0 -21
- package/generator/test/unbranded/mock_api_tests/asynctests/test_auth_flow_async.py +0 -19
- package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_duration_async.py +0 -63
- package/generator/test/unbranded/mock_api_tests/asynctests/test_encode_numeric_async.py +0 -35
- package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_basic_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/asynctests/test_parameters_spread_async.py +0 -76
- package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_content_negotiation_async.py +0 -37
- package/generator/test/unbranded/mock_api_tests/asynctests/test_payload_multipart_async.py +0 -218
- package/generator/test/unbranded/mock_api_tests/asynctests/test_serialization_encoded_name_json_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/asynctests/test_special_words_async.py +0 -73
- package/generator/test/unbranded/mock_api_tests/asynctests/test_unbranded_async.py +0 -24
- package/generator/test/unbranded/mock_api_tests/conftest.py +0 -91
- package/generator/test/unbranded/mock_api_tests/data/image.jpg +0 -0
- package/generator/test/unbranded/mock_api_tests/data/image.png +0 -0
- package/generator/test/unbranded/mock_api_tests/test_auth_flow.py +0 -17
- package/generator/test/unbranded/mock_api_tests/test_encode_duration.py +0 -60
- package/generator/test/unbranded/mock_api_tests/test_encode_numeric.py +0 -32
- package/generator/test/unbranded/mock_api_tests/test_parameters_basic.py +0 -22
- package/generator/test/unbranded/mock_api_tests/test_parameters_spread.py +0 -66
- package/generator/test/unbranded/mock_api_tests/test_payload_content_negotiation.py +0 -33
- package/generator/test/unbranded/mock_api_tests/test_payload_multipart.py +0 -200
- package/generator/test/unbranded/mock_api_tests/test_serialization_encoded_name_json.py +0 -22
- package/generator/test/unbranded/mock_api_tests/test_special_words.py +0 -66
- package/generator/test/unbranded/mock_api_tests/test_unbranded.py +0 -65
- package/generator/test/unbranded/requirements.txt +0 -69
- package/generator/test/unbranded/tox.ini +0 -64
- package/generator/test/unittests/conftest.py +0 -15
- package/generator/test/unittests/requirements.txt +0 -3
- package/generator/test/unittests/test_enums.py +0 -89
- package/generator/test/unittests/test_model_base_serialization.py +0 -4906
- package/generator/test/unittests/test_model_base_xml_serialization.py +0 -1239
- package/generator/test/unittests/test_name_converter.py +0 -35
- package/generator/test/unittests/test_optional_return_type.py +0 -268
- package/generator/test/unittests/test_parameter_ordering.py +0 -104
- package/generator/test/unittests/test_sort_schema.py +0 -93
- package/generator/test/unittests/tox.ini +0 -5
- /package/eng/scripts/ci/{mypy.ini → config/mypy.ini} +0 -0
- /package/eng/scripts/ci/{pylintrc → config/pylintrc} +0 -0
- /package/eng/scripts/ci/{pyproject.toml → config/pyproject.toml} +0 -0
- /package/eng/scripts/ci/{pyrightconfig.json → config/pyrightconfig.json} +0 -0
package/generator/test/generic_mock_api_tests/asynctests/test_versioning_made_optional_async.py
DELETED
|
@@ -1,21 +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 versioning.madeoptional.aio import MadeOptionalClient
|
|
8
|
-
from versioning.madeoptional.models import TestModel
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with MadeOptionalClient(endpoint="http://localhost:3000", version="v2") as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test(client: MadeOptionalClient):
|
|
19
|
-
assert await client.test(
|
|
20
|
-
TestModel(prop="foo"),
|
|
21
|
-
) == TestModel(prop="foo")
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from versioning.removed.aio import RemovedClient
|
|
8
|
-
from versioning.removed.models import ModelV2, EnumV2, ModelV3, EnumV3
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with RemovedClient(endpoint="http://localhost:3000", version="v2") as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_v2(client: RemovedClient):
|
|
19
|
-
assert await client.v2(ModelV2(prop="foo", enum_prop=EnumV2.ENUM_MEMBER_V2, union_prop="bar")) == ModelV2(
|
|
20
|
-
prop="foo", enum_prop=EnumV2.ENUM_MEMBER_V2, union_prop="bar"
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
@pytest.mark.asyncio
|
|
25
|
-
async def test_model_v3():
|
|
26
|
-
async with RemovedClient(endpoint="http://localhost:3000", version="v1") as client1:
|
|
27
|
-
model1 = ModelV3(id="123", enum_prop=EnumV3.ENUM_MEMBER_V1)
|
|
28
|
-
result = await client1.model_v3(model1)
|
|
29
|
-
assert result == model1
|
|
30
|
-
|
|
31
|
-
async with RemovedClient(endpoint="http://localhost:3000", version="v2preview") as client2:
|
|
32
|
-
model2 = ModelV3(id="123")
|
|
33
|
-
result = await client2.model_v3(model2)
|
|
34
|
-
assert result == model2
|
|
35
|
-
|
|
36
|
-
async with RemovedClient(endpoint="http://localhost:3000", version="v2") as client3:
|
|
37
|
-
model3 = ModelV3(id="123", enum_prop=EnumV3.ENUM_MEMBER_V1)
|
|
38
|
-
result = await client3.model_v3(model3)
|
|
39
|
-
assert result == model3
|
package/generator/test/generic_mock_api_tests/asynctests/test_versioning_renamed_from_async.py
DELETED
|
@@ -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 versioning.renamedfrom.aio import RenamedFromClient
|
|
8
|
-
from versioning.renamedfrom.models import NewModel, NewEnum
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with RenamedFromClient(endpoint="http://localhost:3000", version="v2") as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test_new_op(client: RenamedFromClient):
|
|
19
|
-
assert await client.new_op(
|
|
20
|
-
NewModel(new_prop="foo", enum_prop=NewEnum.NEW_ENUM_MEMBER, union_prop=10),
|
|
21
|
-
new_query="bar",
|
|
22
|
-
) == NewModel(new_prop="foo", enum_prop=NewEnum.NEW_ENUM_MEMBER, union_prop=10)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
@pytest.mark.asyncio
|
|
26
|
-
async def test_new_interface_test(client: RenamedFromClient):
|
|
27
|
-
assert await client.new_interface.new_op_in_new_interface(
|
|
28
|
-
NewModel(new_prop="foo", enum_prop=NewEnum.NEW_ENUM_MEMBER, union_prop=10)
|
|
29
|
-
) == NewModel(new_prop="foo", enum_prop=NewEnum.NEW_ENUM_MEMBER, union_prop=10)
|
|
@@ -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 versioning.returntypechangedfrom.aio import ReturnTypeChangedFromClient
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@pytest.fixture
|
|
11
|
-
async def client():
|
|
12
|
-
async with ReturnTypeChangedFromClient(endpoint="http://localhost:3000", version="v2") as client:
|
|
13
|
-
yield client
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@pytest.mark.asyncio
|
|
17
|
-
async def test(client: ReturnTypeChangedFromClient):
|
|
18
|
-
assert await client.test("test") == "test"
|
package/generator/test/generic_mock_api_tests/asynctests/test_versioning_type_changed_from_async.py
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# -------------------------------------------------------------------------
|
|
2
|
-
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
-
# Licensed under the MIT License. See License.txt in the project root for
|
|
4
|
-
# license information.
|
|
5
|
-
# --------------------------------------------------------------------------
|
|
6
|
-
import pytest
|
|
7
|
-
from versioning.typechangedfrom.aio import TypeChangedFromClient
|
|
8
|
-
from versioning.typechangedfrom.models import TestModel
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
async def client():
|
|
13
|
-
async with TypeChangedFromClient(endpoint="http://localhost:3000", version="v2") as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.mark.asyncio
|
|
18
|
-
async def test(client: TypeChangedFromClient):
|
|
19
|
-
assert await client.test(
|
|
20
|
-
TestModel(prop="foo", changed_prop="bar"),
|
|
21
|
-
param="baz",
|
|
22
|
-
) == TestModel(prop="foo", changed_prop="bar")
|
|
@@ -1,75 +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 os
|
|
7
|
-
import subprocess
|
|
8
|
-
import signal
|
|
9
|
-
import pytest
|
|
10
|
-
import importlib
|
|
11
|
-
from pathlib import Path
|
|
12
|
-
|
|
13
|
-
DATA_FOLDER = Path(__file__).parent.parent
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def start_server_process():
|
|
17
|
-
azure_http_path = Path(os.path.dirname(__file__)) / Path("../../../node_modules/@azure-tools/azure-http-specs")
|
|
18
|
-
http_path = Path(os.path.dirname(__file__)) / Path("../../../node_modules/@typespec/http-specs")
|
|
19
|
-
if "unbranded" in Path(os.getcwd()).parts:
|
|
20
|
-
os.chdir(http_path.resolve())
|
|
21
|
-
cmd = "npx tsp-spector serve ./specs"
|
|
22
|
-
else:
|
|
23
|
-
os.chdir(azure_http_path.resolve())
|
|
24
|
-
cmd = f"npx tsp-spector serve ./specs {(http_path / 'specs').resolve()}"
|
|
25
|
-
if os.name == "nt":
|
|
26
|
-
return subprocess.Popen(cmd, shell=True)
|
|
27
|
-
return subprocess.Popen(cmd, shell=True, preexec_fn=os.setsid)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def terminate_server_process(process):
|
|
31
|
-
if os.name == "nt":
|
|
32
|
-
process.kill()
|
|
33
|
-
else:
|
|
34
|
-
os.killpg(os.getpgid(process.pid), signal.SIGTERM) # Send the signal to all the process groups
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
@pytest.fixture(scope="session", autouse=True)
|
|
38
|
-
def testserver():
|
|
39
|
-
"""Start spector mock api tests"""
|
|
40
|
-
server = start_server_process()
|
|
41
|
-
yield
|
|
42
|
-
terminate_server_process(server)
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"""
|
|
46
|
-
Use to disambiguate the core library we use
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
@pytest.fixture
|
|
51
|
-
def core_library():
|
|
52
|
-
try:
|
|
53
|
-
return importlib.import_module("azure.core")
|
|
54
|
-
except ModuleNotFoundError:
|
|
55
|
-
return importlib.import_module("corehttp")
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
@pytest.fixture
|
|
59
|
-
def key_credential(core_library):
|
|
60
|
-
try:
|
|
61
|
-
return core_library.credentials.AzureKeyCredential
|
|
62
|
-
except AttributeError:
|
|
63
|
-
return core_library.credentials.ServiceKeyCredential
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
@pytest.fixture
|
|
67
|
-
def png_data() -> bytes:
|
|
68
|
-
with open(str(DATA_FOLDER / "data/image.png"), "rb") as file_in:
|
|
69
|
-
return file_in.read()
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
@pytest.fixture
|
|
73
|
-
def jpg_data() -> bytes:
|
|
74
|
-
with open(str(DATA_FOLDER / "data/image.jpg"), "rb") as file_in:
|
|
75
|
-
return file_in.read()
|
|
Binary file
|
|
Binary file
|
|
@@ -1,130 +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 authentication.apikey import ApiKeyClient
|
|
8
|
-
from authentication.oauth2 import OAuth2Client
|
|
9
|
-
from authentication.union import UnionClient
|
|
10
|
-
from setuppy.authentication.union import UnionClient as SetuppyUnionClient
|
|
11
|
-
from authentication.noauth.union import UnionClient as NoauthUnionClient
|
|
12
|
-
from authentication.http.custom import CustomClient
|
|
13
|
-
|
|
14
|
-
# Utilities functions
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@pytest.fixture
|
|
18
|
-
def api_key_client(key_credential):
|
|
19
|
-
client = None
|
|
20
|
-
|
|
21
|
-
def _build_client(client_type, key: str = "valid-key"):
|
|
22
|
-
client = client_type(key_credential(key))
|
|
23
|
-
return client
|
|
24
|
-
|
|
25
|
-
yield _build_client
|
|
26
|
-
if client:
|
|
27
|
-
client.close()
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
@pytest.fixture
|
|
31
|
-
def token_credential(core_library):
|
|
32
|
-
class FakeCredential:
|
|
33
|
-
@staticmethod
|
|
34
|
-
def get_token(*scopes):
|
|
35
|
-
return core_library.credentials.AccessToken(token="".join(scopes), expires_on=1800)
|
|
36
|
-
|
|
37
|
-
@staticmethod
|
|
38
|
-
def get_token_info(*scopes, **kwargs):
|
|
39
|
-
return core_library.credentials.AccessTokenInfo(token="".join(scopes), expires_on=1800)
|
|
40
|
-
|
|
41
|
-
return FakeCredential()
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
@pytest.fixture
|
|
45
|
-
def oauth2_client(token_credential):
|
|
46
|
-
client = None
|
|
47
|
-
|
|
48
|
-
def _build_client(client_type):
|
|
49
|
-
client = client_type(token_credential)
|
|
50
|
-
return client
|
|
51
|
-
|
|
52
|
-
yield _build_client
|
|
53
|
-
if client:
|
|
54
|
-
client.close()
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
@pytest.fixture
|
|
58
|
-
def http_custom_client(key_credential):
|
|
59
|
-
client = None
|
|
60
|
-
|
|
61
|
-
def _build_client(key: str = "valid-key"):
|
|
62
|
-
client = CustomClient(key_credential(key))
|
|
63
|
-
return client
|
|
64
|
-
|
|
65
|
-
yield _build_client
|
|
66
|
-
if client:
|
|
67
|
-
client.close()
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
# Tests
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
def test_api_key_valid(api_key_client):
|
|
74
|
-
client = api_key_client(ApiKeyClient)
|
|
75
|
-
client.valid()
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
def test_api_key_invalid(api_key_client, core_library):
|
|
79
|
-
client = api_key_client(ApiKeyClient, "invalid-key")
|
|
80
|
-
with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
|
|
81
|
-
client.invalid()
|
|
82
|
-
assert ex.value.status_code == 403
|
|
83
|
-
assert ex.value.reason == "Forbidden"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
def test_oauth2_valid(oauth2_client):
|
|
87
|
-
client = oauth2_client(OAuth2Client)
|
|
88
|
-
client.valid(enforce_https=False)
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
def test_oauth2_invalid(oauth2_client, core_library):
|
|
92
|
-
client = oauth2_client(OAuth2Client)
|
|
93
|
-
with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
|
|
94
|
-
client.invalid(enforce_https=False)
|
|
95
|
-
assert ex.value.status_code == 403
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
@pytest.mark.parametrize("union_client_type", [UnionClient, SetuppyUnionClient])
|
|
99
|
-
def test_union_keyvalid(api_key_client, union_client_type):
|
|
100
|
-
client = api_key_client(union_client_type)
|
|
101
|
-
client.valid_key()
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
@pytest.mark.parametrize("union_client_type", [UnionClient, SetuppyUnionClient])
|
|
105
|
-
def test_union_tokenvalid(oauth2_client, union_client_type):
|
|
106
|
-
client = oauth2_client(union_client_type)
|
|
107
|
-
client.valid_token(enforce_https=False)
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
def test_noauth_union_valid_no_auth():
|
|
111
|
-
client = NoauthUnionClient()
|
|
112
|
-
client.valid_no_auth()
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
def test_noauth_union_valid_token(oauth2_client):
|
|
116
|
-
client = oauth2_client(NoauthUnionClient)
|
|
117
|
-
client.valid_token(enforce_https=False)
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
def test_http_custom_valid(http_custom_client):
|
|
121
|
-
client = http_custom_client()
|
|
122
|
-
client.valid()
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
def test_http_custom_invalid(http_custom_client, core_library):
|
|
126
|
-
client = http_custom_client("invalid-key")
|
|
127
|
-
with pytest.raises(core_library.exceptions.HttpResponseError) as ex:
|
|
128
|
-
client.invalid()
|
|
129
|
-
assert ex.value.status_code == 403
|
|
130
|
-
assert ex.value.reason == "Forbidden"
|
|
@@ -1,126 +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
|
-
|
|
7
|
-
import pytest
|
|
8
|
-
from encode.array import ArrayClient, models
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@pytest.fixture
|
|
12
|
-
def client():
|
|
13
|
-
with ArrayClient() as client:
|
|
14
|
-
yield client
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def test_comma_delimited(client: ArrayClient):
|
|
18
|
-
body = models.CommaDelimitedArrayProperty(value=["blue", "red", "green"])
|
|
19
|
-
result = client.property.comma_delimited(body)
|
|
20
|
-
assert result.value == ["blue", "red", "green"]
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def test_space_delimited(client: ArrayClient):
|
|
24
|
-
body = models.SpaceDelimitedArrayProperty(value=["blue", "red", "green"])
|
|
25
|
-
result = client.property.space_delimited(body)
|
|
26
|
-
assert result.value == ["blue", "red", "green"]
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def test_pipe_delimited(client: ArrayClient):
|
|
30
|
-
body = models.PipeDelimitedArrayProperty(value=["blue", "red", "green"])
|
|
31
|
-
result = client.property.pipe_delimited(body)
|
|
32
|
-
assert result.value == ["blue", "red", "green"]
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def test_newline_delimited(client: ArrayClient):
|
|
36
|
-
body = models.NewlineDelimitedArrayProperty(value=["blue", "red", "green"])
|
|
37
|
-
result = client.property.newline_delimited(body)
|
|
38
|
-
assert result.value == ["blue", "red", "green"]
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
def test_enum_comma_delimited(client: ArrayClient):
|
|
42
|
-
body = models.CommaDelimitedEnumArrayProperty(value=[models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN])
|
|
43
|
-
result = client.property.enum_comma_delimited(body)
|
|
44
|
-
assert result.value == [models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN]
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
def test_enum_space_delimited(client: ArrayClient):
|
|
48
|
-
body = models.SpaceDelimitedEnumArrayProperty(value=[models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN])
|
|
49
|
-
result = client.property.enum_space_delimited(body)
|
|
50
|
-
assert result.value == [models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN]
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
def test_enum_pipe_delimited(client: ArrayClient):
|
|
54
|
-
body = models.PipeDelimitedEnumArrayProperty(value=[models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN])
|
|
55
|
-
result = client.property.enum_pipe_delimited(body)
|
|
56
|
-
assert result.value == [models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN]
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
def test_enum_newline_delimited(client: ArrayClient):
|
|
60
|
-
body = models.NewlineDelimitedEnumArrayProperty(value=[models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN])
|
|
61
|
-
result = client.property.enum_newline_delimited(body)
|
|
62
|
-
assert result.value == [models.Colors.BLUE, models.Colors.RED, models.Colors.GREEN]
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def test_extensible_enum_comma_delimited(client: ArrayClient):
|
|
66
|
-
body = models.CommaDelimitedExtensibleEnumArrayProperty(
|
|
67
|
-
value=[
|
|
68
|
-
models.ColorsExtensibleEnum.BLUE,
|
|
69
|
-
models.ColorsExtensibleEnum.RED,
|
|
70
|
-
models.ColorsExtensibleEnum.GREEN,
|
|
71
|
-
]
|
|
72
|
-
)
|
|
73
|
-
result = client.property.extensible_enum_comma_delimited(body)
|
|
74
|
-
assert result.value == [
|
|
75
|
-
models.ColorsExtensibleEnum.BLUE,
|
|
76
|
-
models.ColorsExtensibleEnum.RED,
|
|
77
|
-
models.ColorsExtensibleEnum.GREEN,
|
|
78
|
-
]
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
def test_extensible_enum_space_delimited(client: ArrayClient):
|
|
82
|
-
body = models.SpaceDelimitedExtensibleEnumArrayProperty(
|
|
83
|
-
value=[
|
|
84
|
-
models.ColorsExtensibleEnum.BLUE,
|
|
85
|
-
models.ColorsExtensibleEnum.RED,
|
|
86
|
-
models.ColorsExtensibleEnum.GREEN,
|
|
87
|
-
]
|
|
88
|
-
)
|
|
89
|
-
result = client.property.extensible_enum_space_delimited(body)
|
|
90
|
-
assert result.value == [
|
|
91
|
-
models.ColorsExtensibleEnum.BLUE,
|
|
92
|
-
models.ColorsExtensibleEnum.RED,
|
|
93
|
-
models.ColorsExtensibleEnum.GREEN,
|
|
94
|
-
]
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
def test_extensible_enum_pipe_delimited(client: ArrayClient):
|
|
98
|
-
body = models.PipeDelimitedExtensibleEnumArrayProperty(
|
|
99
|
-
value=[
|
|
100
|
-
models.ColorsExtensibleEnum.BLUE,
|
|
101
|
-
models.ColorsExtensibleEnum.RED,
|
|
102
|
-
models.ColorsExtensibleEnum.GREEN,
|
|
103
|
-
]
|
|
104
|
-
)
|
|
105
|
-
result = client.property.extensible_enum_pipe_delimited(body)
|
|
106
|
-
assert result.value == [
|
|
107
|
-
models.ColorsExtensibleEnum.BLUE,
|
|
108
|
-
models.ColorsExtensibleEnum.RED,
|
|
109
|
-
models.ColorsExtensibleEnum.GREEN,
|
|
110
|
-
]
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
def test_extensible_enum_newline_delimited(client: ArrayClient):
|
|
114
|
-
body = models.NewlineDelimitedExtensibleEnumArrayProperty(
|
|
115
|
-
value=[
|
|
116
|
-
models.ColorsExtensibleEnum.BLUE,
|
|
117
|
-
models.ColorsExtensibleEnum.RED,
|
|
118
|
-
models.ColorsExtensibleEnum.GREEN,
|
|
119
|
-
]
|
|
120
|
-
)
|
|
121
|
-
result = client.property.extensible_enum_newline_delimited(body)
|
|
122
|
-
assert result.value == [
|
|
123
|
-
models.ColorsExtensibleEnum.BLUE,
|
|
124
|
-
models.ColorsExtensibleEnum.RED,
|
|
125
|
-
models.ColorsExtensibleEnum.GREEN,
|
|
126
|
-
]
|
|
@@ -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
|
-
from pathlib import Path
|
|
7
|
-
|
|
8
|
-
import pytest
|
|
9
|
-
from encode.bytes import BytesClient
|
|
10
|
-
from encode.bytes.models import (
|
|
11
|
-
DefaultBytesProperty,
|
|
12
|
-
Base64urlBytesProperty,
|
|
13
|
-
Base64BytesProperty,
|
|
14
|
-
Base64urlArrayBytesProperty,
|
|
15
|
-
)
|
|
16
|
-
|
|
17
|
-
FILE_FOLDER = Path(__file__).parent
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
@pytest.fixture
|
|
21
|
-
def client():
|
|
22
|
-
with BytesClient() as client:
|
|
23
|
-
yield client
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def test_query(client: BytesClient):
|
|
27
|
-
client.query.default(
|
|
28
|
-
value=bytes("test", "utf-8"),
|
|
29
|
-
)
|
|
30
|
-
client.query.base64(
|
|
31
|
-
value=bytes("test", "utf-8"),
|
|
32
|
-
)
|
|
33
|
-
client.query.base64_url(
|
|
34
|
-
value=bytes("test", "utf-8"),
|
|
35
|
-
)
|
|
36
|
-
client.query.base64_url_array(
|
|
37
|
-
value=[
|
|
38
|
-
bytes("test", "utf-8"),
|
|
39
|
-
bytes("test", "utf-8"),
|
|
40
|
-
],
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def test_property(client: BytesClient):
|
|
45
|
-
result = client.property.default(
|
|
46
|
-
DefaultBytesProperty(
|
|
47
|
-
value=bytes("test", "utf-8"),
|
|
48
|
-
)
|
|
49
|
-
)
|
|
50
|
-
assert result.value == bytes("test", "utf-8")
|
|
51
|
-
|
|
52
|
-
result = client.property.base64(
|
|
53
|
-
Base64BytesProperty(
|
|
54
|
-
value=bytes("test", "utf-8"),
|
|
55
|
-
)
|
|
56
|
-
)
|
|
57
|
-
assert result.value == bytes("test", "utf-8")
|
|
58
|
-
|
|
59
|
-
result = client.property.base64_url(
|
|
60
|
-
Base64urlBytesProperty(
|
|
61
|
-
value=bytes("test", "utf-8"),
|
|
62
|
-
)
|
|
63
|
-
)
|
|
64
|
-
assert result.value == bytes("test", "utf-8")
|
|
65
|
-
|
|
66
|
-
result = client.property.base64_url_array(
|
|
67
|
-
Base64urlArrayBytesProperty(
|
|
68
|
-
value=[
|
|
69
|
-
bytes("test", "utf-8"),
|
|
70
|
-
bytes("test", "utf-8"),
|
|
71
|
-
],
|
|
72
|
-
)
|
|
73
|
-
)
|
|
74
|
-
assert result.value == [
|
|
75
|
-
bytes("test", "utf-8"),
|
|
76
|
-
bytes("test", "utf-8"),
|
|
77
|
-
]
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
def test_header(client: BytesClient):
|
|
81
|
-
client.header.default(
|
|
82
|
-
value=bytes("test", "utf-8"),
|
|
83
|
-
)
|
|
84
|
-
client.header.base64(
|
|
85
|
-
value=bytes("test", "utf-8"),
|
|
86
|
-
)
|
|
87
|
-
client.header.base64_url(
|
|
88
|
-
value=bytes("test", "utf-8"),
|
|
89
|
-
)
|
|
90
|
-
client.header.base64_url_array(
|
|
91
|
-
value=[
|
|
92
|
-
bytes("test", "utf-8"),
|
|
93
|
-
bytes("test", "utf-8"),
|
|
94
|
-
],
|
|
95
|
-
)
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
@pytest.fixture
|
|
99
|
-
def png_data() -> bytes:
|
|
100
|
-
with open(str(FILE_FOLDER / "data/image.png"), "rb") as file_in:
|
|
101
|
-
return file_in.read()
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
def test_request_body(client: BytesClient, png_data: bytes):
|
|
105
|
-
client.request_body.default(
|
|
106
|
-
value=png_data,
|
|
107
|
-
)
|
|
108
|
-
client.request_body.octet_stream(
|
|
109
|
-
value=png_data,
|
|
110
|
-
)
|
|
111
|
-
client.request_body.custom_content_type(
|
|
112
|
-
value=png_data,
|
|
113
|
-
)
|
|
114
|
-
client.request_body.base64(
|
|
115
|
-
value=bytes("test", "utf-8"),
|
|
116
|
-
)
|
|
117
|
-
client.request_body.base64_url(
|
|
118
|
-
value=bytes("test", "utf-8"),
|
|
119
|
-
)
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
def test_response_body(client: BytesClient, png_data: bytes):
|
|
123
|
-
expected = b"test"
|
|
124
|
-
assert b"".join(client.response_body.default()) == png_data
|
|
125
|
-
assert expected == client.response_body.base64()
|
|
126
|
-
assert b"".join(client.response_body.octet_stream()) == png_data
|
|
127
|
-
assert b"".join(client.response_body.custom_content_type()) == png_data
|
|
128
|
-
assert expected == client.response_body.base64_url()
|