@typespec/http-client-python 0.15.2 → 0.16.0

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.
Files changed (144) hide show
  1. package/dist/emitter/code-model.d.ts.map +1 -1
  2. package/dist/emitter/code-model.js +8 -1
  3. package/dist/emitter/code-model.js.map +1 -1
  4. package/dist/emitter/http.d.ts +5 -0
  5. package/dist/emitter/http.d.ts.map +1 -1
  6. package/dist/emitter/http.js +20 -1
  7. package/dist/emitter/http.js.map +1 -1
  8. package/emitter/src/code-model.ts +12 -0
  9. package/emitter/src/http.ts +23 -1
  10. package/emitter/temp/tsconfig.tsbuildinfo +1 -1
  11. package/eng/scripts/ci/regenerate.ts +1 -1
  12. package/eng/scripts/ci/util.py +1 -1
  13. package/eng/scripts/setup/__pycache__/package_manager.cpython-39.pyc +0 -0
  14. package/eng/scripts/setup/__pycache__/venvtools.cpython-39.pyc +0 -0
  15. package/generator/build/lib/pygen/__init__.py +7 -21
  16. package/generator/build/lib/pygen/codegen/__init__.py +4 -4
  17. package/generator/build/lib/pygen/codegen/models/__init__.py +2 -2
  18. package/generator/build/lib/pygen/codegen/models/base.py +9 -12
  19. package/generator/build/lib/pygen/codegen/models/base_builder.py +4 -6
  20. package/generator/build/lib/pygen/codegen/models/client.py +61 -102
  21. package/generator/build/lib/pygen/codegen/models/code_model.py +29 -29
  22. package/generator/build/lib/pygen/codegen/models/combined_type.py +7 -7
  23. package/generator/build/lib/pygen/codegen/models/constant_type.py +4 -11
  24. package/generator/build/lib/pygen/codegen/models/credential_types.py +9 -11
  25. package/generator/build/lib/pygen/codegen/models/dictionary_type.py +7 -8
  26. package/generator/build/lib/pygen/codegen/models/enum_type.py +7 -7
  27. package/generator/build/lib/pygen/codegen/models/imports.py +24 -29
  28. package/generator/build/lib/pygen/codegen/models/list_type.py +15 -14
  29. package/generator/build/lib/pygen/codegen/models/lro_operation.py +6 -6
  30. package/generator/build/lib/pygen/codegen/models/lro_paging_operation.py +2 -2
  31. package/generator/build/lib/pygen/codegen/models/model_type.py +11 -11
  32. package/generator/build/lib/pygen/codegen/models/operation.py +26 -56
  33. package/generator/build/lib/pygen/codegen/models/operation_group.py +11 -22
  34. package/generator/build/lib/pygen/codegen/models/paging_operation.py +15 -19
  35. package/generator/build/lib/pygen/codegen/models/parameter.py +12 -21
  36. package/generator/build/lib/pygen/codegen/models/parameter_list.py +37 -39
  37. package/generator/build/lib/pygen/codegen/models/primitive_types.py +24 -18
  38. package/generator/build/lib/pygen/codegen/models/property.py +10 -10
  39. package/generator/build/lib/pygen/codegen/models/request_builder.py +7 -8
  40. package/generator/build/lib/pygen/codegen/models/request_builder_parameter.py +3 -3
  41. package/generator/build/lib/pygen/codegen/models/response.py +15 -40
  42. package/generator/build/lib/pygen/codegen/models/utils.py +2 -2
  43. package/generator/build/lib/pygen/codegen/serializers/__init__.py +15 -40
  44. package/generator/build/lib/pygen/codegen/serializers/builder_serializer.py +101 -94
  45. package/generator/build/lib/pygen/codegen/serializers/client_serializer.py +22 -25
  46. package/generator/build/lib/pygen/codegen/serializers/enum_serializer.py +2 -2
  47. package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +46 -60
  48. package/generator/build/lib/pygen/codegen/serializers/import_serializer.py +6 -7
  49. package/generator/build/lib/pygen/codegen/serializers/model_init_serializer.py +1 -2
  50. package/generator/build/lib/pygen/codegen/serializers/model_serializer.py +15 -17
  51. package/generator/build/lib/pygen/codegen/serializers/operation_groups_serializer.py +3 -3
  52. package/generator/build/lib/pygen/codegen/serializers/operations_init_serializer.py +5 -6
  53. package/generator/build/lib/pygen/codegen/serializers/parameter_serializer.py +28 -18
  54. package/generator/build/lib/pygen/codegen/serializers/patch_serializer.py +1 -2
  55. package/generator/build/lib/pygen/codegen/serializers/request_builders_serializer.py +1 -2
  56. package/generator/build/lib/pygen/codegen/serializers/sample_serializer.py +9 -14
  57. package/generator/build/lib/pygen/codegen/serializers/test_serializer.py +7 -7
  58. package/generator/build/lib/pygen/codegen/serializers/utils.py +2 -2
  59. package/generator/build/lib/pygen/codegen/templates/model_base.py.jinja2 +30 -24
  60. package/generator/build/lib/pygen/codegen/templates/model_dpg.py.jinja2 +1 -1
  61. package/generator/build/lib/pygen/codegen/templates/operation_group.py.jinja2 +1 -11
  62. package/generator/build/lib/pygen/codegen/templates/operations_folder_init.py.jinja2 +1 -1
  63. package/generator/build/lib/pygen/codegen/templates/packaging_templates/dev_requirements.txt.jinja2 +1 -1
  64. package/generator/build/lib/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +7 -0
  65. package/generator/build/lib/pygen/codegen/templates/patch.py.jinja2 +1 -1
  66. package/generator/build/lib/pygen/codegen/templates/serialization.py.jinja2 +11 -13
  67. package/generator/build/lib/pygen/codegen/templates/utils.py.jinja2 +6 -6
  68. package/generator/build/lib/pygen/preprocess/__init__.py +47 -30
  69. package/generator/build/lib/pygen/preprocess/helpers.py +2 -2
  70. package/generator/build/lib/pygen/utils.py +6 -6
  71. package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
  72. package/generator/pygen/__init__.py +7 -21
  73. package/generator/pygen/codegen/__init__.py +4 -4
  74. package/generator/pygen/codegen/models/__init__.py +2 -2
  75. package/generator/pygen/codegen/models/base.py +9 -12
  76. package/generator/pygen/codegen/models/base_builder.py +4 -6
  77. package/generator/pygen/codegen/models/client.py +61 -102
  78. package/generator/pygen/codegen/models/code_model.py +29 -29
  79. package/generator/pygen/codegen/models/combined_type.py +7 -7
  80. package/generator/pygen/codegen/models/constant_type.py +4 -11
  81. package/generator/pygen/codegen/models/credential_types.py +9 -11
  82. package/generator/pygen/codegen/models/dictionary_type.py +7 -8
  83. package/generator/pygen/codegen/models/enum_type.py +7 -7
  84. package/generator/pygen/codegen/models/imports.py +24 -29
  85. package/generator/pygen/codegen/models/list_type.py +15 -14
  86. package/generator/pygen/codegen/models/lro_operation.py +6 -6
  87. package/generator/pygen/codegen/models/lro_paging_operation.py +2 -2
  88. package/generator/pygen/codegen/models/model_type.py +11 -11
  89. package/generator/pygen/codegen/models/operation.py +26 -56
  90. package/generator/pygen/codegen/models/operation_group.py +11 -22
  91. package/generator/pygen/codegen/models/paging_operation.py +15 -19
  92. package/generator/pygen/codegen/models/parameter.py +12 -21
  93. package/generator/pygen/codegen/models/parameter_list.py +37 -39
  94. package/generator/pygen/codegen/models/primitive_types.py +24 -18
  95. package/generator/pygen/codegen/models/property.py +10 -10
  96. package/generator/pygen/codegen/models/request_builder.py +7 -8
  97. package/generator/pygen/codegen/models/request_builder_parameter.py +3 -3
  98. package/generator/pygen/codegen/models/response.py +15 -40
  99. package/generator/pygen/codegen/models/utils.py +2 -2
  100. package/generator/pygen/codegen/serializers/__init__.py +15 -40
  101. package/generator/pygen/codegen/serializers/builder_serializer.py +101 -94
  102. package/generator/pygen/codegen/serializers/client_serializer.py +22 -25
  103. package/generator/pygen/codegen/serializers/enum_serializer.py +2 -2
  104. package/generator/pygen/codegen/serializers/general_serializer.py +46 -60
  105. package/generator/pygen/codegen/serializers/import_serializer.py +6 -7
  106. package/generator/pygen/codegen/serializers/model_init_serializer.py +1 -2
  107. package/generator/pygen/codegen/serializers/model_serializer.py +15 -17
  108. package/generator/pygen/codegen/serializers/operation_groups_serializer.py +3 -3
  109. package/generator/pygen/codegen/serializers/operations_init_serializer.py +5 -6
  110. package/generator/pygen/codegen/serializers/parameter_serializer.py +28 -18
  111. package/generator/pygen/codegen/serializers/patch_serializer.py +1 -2
  112. package/generator/pygen/codegen/serializers/request_builders_serializer.py +1 -2
  113. package/generator/pygen/codegen/serializers/sample_serializer.py +9 -14
  114. package/generator/pygen/codegen/serializers/test_serializer.py +7 -7
  115. package/generator/pygen/codegen/serializers/utils.py +2 -2
  116. package/generator/pygen/codegen/templates/model_base.py.jinja2 +30 -24
  117. package/generator/pygen/codegen/templates/model_dpg.py.jinja2 +1 -1
  118. package/generator/pygen/codegen/templates/operation_group.py.jinja2 +1 -11
  119. package/generator/pygen/codegen/templates/operations_folder_init.py.jinja2 +1 -1
  120. package/generator/pygen/codegen/templates/packaging_templates/dev_requirements.txt.jinja2 +1 -1
  121. package/generator/pygen/codegen/templates/packaging_templates/pyproject.toml.jinja2 +7 -0
  122. package/generator/pygen/codegen/templates/patch.py.jinja2 +1 -1
  123. package/generator/pygen/codegen/templates/serialization.py.jinja2 +11 -13
  124. package/generator/pygen/codegen/templates/utils.py.jinja2 +6 -6
  125. package/generator/pygen/preprocess/__init__.py +47 -30
  126. package/generator/pygen/preprocess/helpers.py +2 -2
  127. package/generator/pygen/utils.py +6 -6
  128. package/generator/pygen.egg-info/SOURCES.txt +0 -2
  129. package/generator/test/azure/mock_api_tests/asynctests/test_azure_arm_operationtemplates_async.py +79 -0
  130. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_async.py +4 -4
  131. package/generator/test/azure/mock_api_tests/asynctests/test_client_naming_enum_conflict_async.py +37 -0
  132. package/generator/test/azure/mock_api_tests/conftest.py +2 -2
  133. package/generator/test/azure/mock_api_tests/test_azure_arm_operationtemplates.py +72 -0
  134. package/generator/test/azure/mock_api_tests/test_client_naming.py +3 -3
  135. package/generator/test/azure/mock_api_tests/test_client_naming_enum_conflict.py +35 -0
  136. package/generator/test/azure/requirements.txt +1 -0
  137. package/generator/test/unbranded/mock_api_tests/conftest.py +1 -2
  138. package/generator/test/unittests/test_model_base_serialization.py +88 -92
  139. package/generator/test/unittests/test_model_base_xml_serialization.py +19 -23
  140. package/package.json +8 -8
  141. package/generator/build/lib/pygen/codegen/serializers/metadata_serializer.py +0 -216
  142. package/generator/build/lib/pygen/codegen/templates/metadata.json.jinja2 +0 -167
  143. package/generator/pygen/codegen/serializers/metadata_serializer.py +0 -216
  144. package/generator/pygen/codegen/templates/metadata.json.jinja2 +0 -167
@@ -4,7 +4,7 @@
4
4
  # license information.
5
5
  # --------------------------------------------------------------------------
6
6
  import pytest
7
- from client.naming import NamingClient, models
7
+ from client.naming.main import NamingClient, models
8
8
 
9
9
 
10
10
  @pytest.fixture
@@ -42,11 +42,11 @@ def test_header_response(client: NamingClient):
42
42
 
43
43
 
44
44
  def test_model_client(client: NamingClient):
45
- client.client_model.client(models.ClientModel(default_name=True))
45
+ client.model_client.client(models.ClientModel(default_name=True))
46
46
 
47
47
 
48
48
  def test_model_language(client: NamingClient):
49
- client.client_model.language(models.PythonModel(default_name=True))
49
+ client.model_client.language(models.PythonModel(default_name=True))
50
50
 
51
51
 
52
52
  def test_union_enum_member_name(client: NamingClient):
@@ -0,0 +1,35 @@
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 client.naming.enumconflict import EnumConflictClient
8
+ from client.naming.enumconflict.firstnamespace import models as first_models
9
+ from client.naming.enumconflict.secondnamespace import models as second_models
10
+
11
+
12
+ @pytest.fixture
13
+ def client():
14
+ with EnumConflictClient() as client:
15
+ yield client
16
+
17
+
18
+ def test_first_operations_first(client: EnumConflictClient):
19
+ """Test enum with same name in different namespace - first namespace."""
20
+ body = first_models.FirstModel(status=first_models.Status.ACTIVE, name="test")
21
+
22
+ response = client.first_operations.first(body=body)
23
+
24
+ assert response.status == "active"
25
+ assert response.name == "test"
26
+
27
+
28
+ def test_second_operations_second(client: EnumConflictClient):
29
+ """Test enum with same name in different namespace - second namespace."""
30
+ body = second_models.SecondModel(status=second_models.SecondStatus.RUNNING, description="test description")
31
+
32
+ response = client.second_operations.second(body=body)
33
+
34
+ assert response.status == "running"
35
+ assert response.description == "test description"
@@ -31,6 +31,7 @@ azure-mgmt-core==1.6.0
31
31
  -e ./generated/client-namespace
32
32
  -e ./generated/azure-payload-pageable
33
33
  -e ./generated/client-naming
34
+ -e ./generated/client-naming-enum-conflict
34
35
  -e ./generated/client-overload
35
36
  -e ./generated/client-structure-default
36
37
  -e ./generated/client-structure-multiclient
@@ -9,7 +9,6 @@ import signal
9
9
  import pytest
10
10
  import re
11
11
  from pathlib import Path
12
- from typing import List
13
12
 
14
13
  FILE_FOLDER = Path(__file__).parent
15
14
 
@@ -76,7 +75,7 @@ SPECIAL_WORDS = [
76
75
 
77
76
 
78
77
  @pytest.fixture
79
- def special_words() -> List[str]:
78
+ def special_words() -> list[str]:
80
79
  return SPECIAL_WORDS
81
80
 
82
81