@typespec/http-client-python 0.9.3-dev.2 → 0.11.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.
- package/README.md +19 -36
- package/dist/emitter/emitter.js +40 -0
- package/dist/emitter/emitter.js.map +1 -1
- package/dist/emitter/http.js +5 -2
- package/dist/emitter/http.js.map +1 -1
- package/dist/emitter/utils.d.ts.map +1 -1
- package/dist/emitter/utils.js +9 -1
- package/dist/emitter/utils.js.map +1 -1
- package/emitter/src/emitter.ts +46 -0
- package/emitter/src/http.ts +12 -2
- package/emitter/src/utils.ts +11 -1
- package/emitter/temp/tsconfig.tsbuildinfo +1 -1
- package/eng/scripts/setup/__pycache__/venvtools.cpython-39.pyc +0 -0
- package/eng/scripts/setup/install.py +1 -0
- package/eng/scripts/setup/run_tsp.py +2 -3
- package/generator/build/lib/pygen/codegen/models/client.py +39 -2
- package/generator/build/lib/pygen/codegen/models/parameter.py +3 -0
- package/generator/build/lib/pygen/codegen/serializers/client_serializer.py +32 -6
- package/generator/build/lib/pygen/codegen/serializers/general_serializer.py +28 -14
- package/generator/build/lib/pygen/codegen/serializers/parameter_serializer.py +6 -1
- package/generator/build/lib/pygen/codegen/serializers/sample_serializer.py +2 -2
- package/generator/build/lib/pygen/codegen/templates/client.py.jinja2 +1 -1
- package/generator/build/lib/pygen/codegen/templates/config.py.jinja2 +2 -8
- package/generator/component-detection-pip-report.json +4 -5
- package/generator/dist/pygen-0.1.0-py3-none-any.whl +0 -0
- package/generator/pygen/codegen/models/client.py +39 -2
- package/generator/pygen/codegen/models/parameter.py +3 -0
- package/generator/pygen/codegen/serializers/client_serializer.py +32 -6
- package/generator/pygen/codegen/serializers/general_serializer.py +28 -14
- package/generator/pygen/codegen/serializers/parameter_serializer.py +6 -1
- package/generator/pygen/codegen/serializers/sample_serializer.py +2 -2
- package/generator/pygen/codegen/templates/client.py.jinja2 +1 -1
- package/generator/pygen/codegen/templates/config.py.jinja2 +2 -8
- package/generator/test/azure/mock_api_tests/asynctests/test_azure_client_generator_core_client_initialization_async.py +50 -0
- package/generator/test/azure/mock_api_tests/test_azure_client_generator_core_client_initialization.py +44 -0
- package/generator/test/azure/requirements.txt +4 -3
- package/generator/test/generic_mock_api_tests/asynctests/test_parameters_path_async.py +24 -0
- package/generator/test/generic_mock_api_tests/asynctests/test_payload_json_merge_patch_async.py +1 -1
- package/generator/test/generic_mock_api_tests/test_parameters_path.py +22 -0
- package/generator/test/generic_mock_api_tests/test_payload_json_merge_patch.py +1 -1
- package/generator/test/unbranded/requirements.txt +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,44 @@
|
|
|
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 specs.azure.clientgenerator.core.clientinitialization import (
|
|
7
|
+
HeaderParamClient,
|
|
8
|
+
MultipleParamsClient,
|
|
9
|
+
MixedParamsClient,
|
|
10
|
+
PathParamClient,
|
|
11
|
+
ParamAliasClient,
|
|
12
|
+
)
|
|
13
|
+
from specs.azure.clientgenerator.core.clientinitialization.models import Input
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def test_header_param_client():
|
|
17
|
+
with HeaderParamClient("test-name-value") as client:
|
|
18
|
+
client.with_query(id="test-id")
|
|
19
|
+
client.with_body(Input(name="test-name"))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def test_multiple_params_client():
|
|
23
|
+
with MultipleParamsClient("test-name-value", "us-west") as client:
|
|
24
|
+
client.with_query(id="test-id")
|
|
25
|
+
client.with_body(Input(name="test-name"))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def test_mixed_params_client():
|
|
29
|
+
with MixedParamsClient("test-name-value") as client:
|
|
30
|
+
client.with_query(region="us-west", id="test-id")
|
|
31
|
+
client.with_body(Input(name="test-name"), region="us-west")
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def test_path_param_client():
|
|
35
|
+
with PathParamClient("sample-blob") as client:
|
|
36
|
+
client.with_query(format="text")
|
|
37
|
+
client.get_standalone()
|
|
38
|
+
client.delete_standalone()
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def test_param_alias_client():
|
|
42
|
+
with ParamAliasClient("sample-blob") as client:
|
|
43
|
+
client.with_aliased_name()
|
|
44
|
+
client.with_original_name()
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
-r ../dev_requirements.txt
|
|
2
2
|
-e ../../
|
|
3
|
-
azure-core==1.
|
|
4
|
-
azure-mgmt-core==1.3.2
|
|
3
|
+
azure-mgmt-core==1.5.0
|
|
5
4
|
|
|
6
5
|
# only for azure
|
|
7
6
|
-e ./generated/azure-client-generator-core-access
|
|
8
|
-
-e ./generated/azure-client-generator-core-
|
|
7
|
+
-e ./generated/azure-client-generator-core-client-initialization
|
|
9
8
|
-e ./generated/azure-client-generator-core-flatten-property
|
|
9
|
+
-e ./generated/azure-client-generator-core-usage
|
|
10
10
|
-e ./generated/azure-core-basic
|
|
11
11
|
-e ./generated/azure-core-scalar
|
|
12
12
|
-e ./generated/azure-core-lro-rpc
|
|
@@ -38,6 +38,7 @@ azure-mgmt-core==1.3.2
|
|
|
38
38
|
-e ./generated/encode-numeric
|
|
39
39
|
-e ./generated/parameters-basic
|
|
40
40
|
-e ./generated/parameters-collection-format
|
|
41
|
+
-e ./generated/parameters-path
|
|
41
42
|
-e ./generated/parameters-spread
|
|
42
43
|
-e ./generated/serialization-encoded-name-json
|
|
43
44
|
-e ./generated/server-endpoint-not-defined
|
|
@@ -0,0 +1,24 @@
|
|
|
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 parameters.path.aio import PathClient
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@pytest.fixture
|
|
11
|
+
async def client():
|
|
12
|
+
async with PathClient() as client:
|
|
13
|
+
yield client
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@pytest.mark.asyncio
|
|
17
|
+
async def test_normal(client: PathClient):
|
|
18
|
+
await client.normal("foo")
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@pytest.mark.asyncio
|
|
22
|
+
async def test_optional(client: PathClient):
|
|
23
|
+
await client.optional()
|
|
24
|
+
await client.optional(name="foo")
|
|
@@ -0,0 +1,22 @@
|
|
|
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 parameters.path import PathClient
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@pytest.fixture
|
|
11
|
+
def client():
|
|
12
|
+
with PathClient() as client:
|
|
13
|
+
yield client
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def test_normal(client: PathClient):
|
|
17
|
+
client.normal("foo")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_optional(client: PathClient):
|
|
21
|
+
client.optional()
|
|
22
|
+
client.optional(name="foo")
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
-e ./generated/encode-numeric
|
|
11
11
|
-e ./generated/parameters-basic
|
|
12
12
|
-e ./generated/parameters-collection-format
|
|
13
|
+
-e ./generated/parameters-path
|
|
13
14
|
-e ./generated/parameters-spread
|
|
14
15
|
-e ./generated/serialization-encoded-name-json
|
|
15
16
|
-e ./generated/server-endpoint-not-defined
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typespec/http-client-python",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec emitter for Python SDKs",
|
|
6
6
|
"homepage": "https://typespec.io",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@azure-tools/typespec-azure-core": ">=0.54.0 <1.0.0",
|
|
59
59
|
"@azure-tools/typespec-azure-resource-manager": ">=0.54.0 <1.0.0",
|
|
60
60
|
"@azure-tools/typespec-azure-rulesets": ">=0.54.0 <1.0.0",
|
|
61
|
-
"@azure-tools/typespec-client-generator-core": ">=0.54.
|
|
61
|
+
"@azure-tools/typespec-client-generator-core": ">=0.54.2 <1.0.0",
|
|
62
62
|
"@typespec/compiler": "^1.0.0-0",
|
|
63
63
|
"@typespec/http": "^1.0.0-0",
|
|
64
64
|
"@typespec/openapi": "^1.0.0-0",
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
"@azure-tools/typespec-azure-core": "~0.54.0",
|
|
82
82
|
"@azure-tools/typespec-azure-resource-manager": "~0.54.0",
|
|
83
83
|
"@azure-tools/typespec-azure-rulesets": "~0.54.0",
|
|
84
|
-
"@azure-tools/typespec-client-generator-core": "~0.54.
|
|
85
|
-
"@azure-tools/azure-http-specs": "0.1.0-alpha.
|
|
84
|
+
"@azure-tools/typespec-client-generator-core": "~0.54.2",
|
|
85
|
+
"@azure-tools/azure-http-specs": "0.1.0-alpha.14",
|
|
86
86
|
"@typespec/compiler": "^1.0.0-0",
|
|
87
87
|
"@typespec/http": "^1.0.0-0",
|
|
88
88
|
"@typespec/openapi": "^1.0.0-0",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"@typespec/sse": "~0.68.0",
|
|
93
93
|
"@typespec/streams": "~0.68.0",
|
|
94
94
|
"@typespec/xml": "~0.68.0",
|
|
95
|
-
"@typespec/http-specs": "0.1.0-alpha.
|
|
95
|
+
"@typespec/http-specs": "0.1.0-alpha.19",
|
|
96
96
|
"@types/js-yaml": "~4.0.5",
|
|
97
97
|
"@types/node": "~22.13.14",
|
|
98
98
|
"@types/semver": "7.5.8",
|