From c55fd1652d7e81f96301e326fc58cad5771b5091 Mon Sep 17 00:00:00 2001 From: yndu13 Date: Sat, 11 May 2024 14:04:59 +0800 Subject: [PATCH] feat: support extends parameters for all language --- .appveyor.yml | 110 -------------- .github/workflows/swift.yml | 56 +++++-- .github/workflows/testGo.yml | 2 +- .github/workflows/testJava.yml | 3 +- .github/workflows/testPython.yml | 2 +- .github/workflows/testTS.yml | 2 +- .gitignore | 1 - .travis.yml | 75 ---------- csharp/core/Models/ExtendsParameters.cs | 21 +++ csharp/core/Models/RuntimeOptions.cs | 7 + csharp/core/TeaUtil.csproj | 2 +- csharp/tests/Models/RuntimeObjectTest.cs | 9 ++ golang/go.mod | 5 +- golang/go.sum | 59 ++++++++ golang/service/service_test.go | 6 +- java/pom.xml | 10 +- .../teautil/models/ExtendsParameters.java | 23 +++ .../aliyun/teautil/models/RuntimeOptions.java | 14 ++ .../teautil/models/RuntimeOptionsTest.java | 7 + php/src/Utils/ExtendsParameters.php | 30 ++++ php/src/Utils/RuntimeOptions.php | 12 ++ php/tests/UtilsTest.php | 5 + python/alibabacloud_tea_util/models.py | 36 +++++ python/setup.py | 3 + python/tests/test_models.py | 25 +++- swift/Cartfile | 3 +- swift/Package.swift | 2 +- swift/Sources/TeaUtils/Models.swift | 41 +++++ swift/TeaUtils.podspec | 3 +- swift/Tests/TeaUtilsTests/TeaUtilsTests.swift | 88 ++++++----- .../Tests/TeaUtilsTests/XCTestManifests.swift | 1 + ts/package.json | 5 +- ts/src/client.ts | 22 +++ ts/test/client.spec.ts | 6 + ut.sh | 140 ------------------ 35 files changed, 435 insertions(+), 401 deletions(-) delete mode 100644 .appveyor.yml delete mode 100644 .travis.yml create mode 100644 csharp/core/Models/ExtendsParameters.cs create mode 100644 golang/go.sum create mode 100644 java/src/main/java/com/aliyun/teautil/models/ExtendsParameters.java create mode 100644 php/src/Utils/ExtendsParameters.php delete mode 100644 ut.sh diff --git a/.appveyor.yml b/.appveyor.yml deleted file mode 100644 index 9950ab5b..00000000 --- a/.appveyor.yml +++ /dev/null @@ -1,110 +0,0 @@ -build: off - -image: - - Ubuntu - -clone_folder: /github.com/aliyun/tea-util - -stack: python 3 - -environment: - matrix: - - - job_name: go_task0 - job_group: go_task - go: 1.11.x - - - job_name: go_task1 - job_group: go_task - go: 1.12.x - - - job_name: go_task2 - job_group: go_task - go: 1.13.x - - - job_name: go_task3 - job_group: go_task - go: 1.14.x - - - job_name: go_task4 - job_group: go_task - go: 1.15.x - - - job_name: java_task1 - job_group: java_task - jdk: openjdk8 - - - job_name: nodejs_task1 - job_group: nodejs_task - node: 12 - - - job_name: net_task1 - job_group: net_task - - - job_name: python_task1 - job_group: python_task - -for: - - - - matrix: - only: - - job_group: go_task - - build_script: - - cd golang/ - - export GO111MODULE=on - - go mod tidy - - go test -race -coverprofile=coverage.txt -covermode=atomic ./service/... - - - - matrix: - only: - - job_group: java_task - - build_script: - - cd java/ - - mvn test -B - - - - matrix: - only: - - job_group: nodejs_task - - build_script: - - cd ts/ - - npm install - - npm run test-cov - - - - matrix: - only: - - job_group: python_task - - build_script: - - export PYTHONPATH=$PYTHONPATH:`pwd`/python - - echo $PYTHONPATH - # install - - cd python - - pip install coverage - - pip install alibabacloud-tea - - pip install pytest - - coverage run --source="./alibabacloud_tea_util" -m pytest tests/test_* - - - - matrix: - only: - - job_group: net_task - - build_script: - - wget https://download.visualstudio.microsoft.com/download/pr/42f39f2f-3f24-4340-8c57-0a3133620c21/0a353696275b00cbddc9f60069867cfc/dotnet-sdk-2.2.110-linux-x64.tar.gz - - mkdir -p ~/dotnet/ && tar zxf dotnet-sdk-2.2.110-linux-x64.tar.gz -C ~/dotnet/ - - sudo ln -sf ~/dotnet/dotnet /usr/bin/dotnet - - dotnet --info - - cd csharp/tests/ - - dotnet tool install --global altcover.visualizer - - dotnet restore - - dotnet build - -after_test: - - bash <(curl -s https://codecov.io/bash) \ No newline at end of file diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 187885e6..e45b2252 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -11,20 +11,56 @@ defaults: working-directory: swift jobs: - build: + build-ubuntu-latest: + name: Swift ${{ matrix.swift }} on ubuntu-latest + strategy: + matrix: + # ubuntu swift5.6及以下版本下载会报gpg签名错误,已知bug等官方解决 + swift: ["5.7", "5.8", "5.9", "5.10"] + fail-fast: false + runs-on: ubuntu-latest + steps: + - uses: swift-actions/setup-swift@v2 + with: + swift-version: ${{ matrix.swift }} + - uses: actions/checkout@v4 + - name: Build + run: swift build -v + - name: Run tests + run: swift test --enable-code-coverage -v + build-macos-latest: + name: Swift ${{ matrix.swift }} on macos-latest + strategy: + matrix: + swift: ["5.9", "5.10"] + fail-fast: false runs-on: macos-latest + steps: + - uses: swift-actions/setup-swift@v2 + with: + swift-version: ${{ matrix.swift }} + - uses: actions/checkout@v4 + - name: Verify Xcode Version + run: xcodebuild -version + - name: Build + run: swift build -v + - name: Run tests + run: swift test --enable-code-coverage -v + build-macos-11: + name: Swift ${{ matrix.swift }} on macos-11 + strategy: + matrix: + swift: ["5.5", "5.6", "5.7", "5.8"] + fail-fast: false + runs-on: macos-11 steps: - - uses: actions/checkout@v3 - - name: Set default Xcode version - shell: bash - run: | - echo "Switching Xcode to version '13.0'..." - sudo xcode-select --switch /Applications/Xcode_13.0.app - - name: Install gems - run: bundle install + - uses: swift-actions/setup-swift@v2 + with: + swift-version: ${{ matrix.swift }} + - uses: actions/checkout@v4 - name: Build run: swift build -v - name: Run tests - run: swift test -v + run: swift test --enable-code-coverage -v diff --git a/.github/workflows/testGo.yml b/.github/workflows/testGo.yml index 8ab89c8b..1ba500db 100644 --- a/.github/workflows/testGo.yml +++ b/.github/workflows/testGo.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - go: [1.13, 1.14, 1.15, 1.16] + go: ["1.13", "1.14", "1.15", "1.16", "1.17", "1.18", "1.19", "1.20", "1.21"] fail-fast: false steps: diff --git a/.github/workflows/testJava.yml b/.github/workflows/testJava.yml index 94cc683d..c0922559 100644 --- a/.github/workflows/testJava.yml +++ b/.github/workflows/testJava.yml @@ -19,12 +19,13 @@ jobs: strategy: matrix: # test against latest update of each major Java version, as well as specific updates of LTS versions: + # 20, 21还不支持,报错是Source option 7 is no longer supported. Use 8 or later. java: [7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19] fail-fast: false steps: - uses: actions/checkout@v2 - - name: Set up JDK 1.8 + - name: Set up JDK uses: actions/setup-java@v1 with: java-version: ${{ matrix.java }} diff --git a/.github/workflows/testPython.yml b/.github/workflows/testPython.yml index 23182fab..b8524344 100644 --- a/.github/workflows/testPython.yml +++ b/.github/workflows/testPython.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11"] + python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] fail-fast: false steps: diff --git a/.github/workflows/testTS.yml b/.github/workflows/testTS.yml index a2b37a35..ff5cbbe1 100644 --- a/.github/workflows/testTS.yml +++ b/.github/workflows/testTS.yml @@ -19,7 +19,7 @@ jobs: strategy: matrix: - node-version: [10.x, 12.x, 14.x] + node-version: [10.x, 12.x, 14.x, 16.x, 18.x, 20.x] fail-fast: false steps: diff --git a/.gitignore b/.gitignore index 91fdc0b2..d9784850 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,5 @@ java/bin/ java/.classpath .vscode/ cc/*.o -*.sum python/**/__pycache__/ cache/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4c788c8e..00000000 --- a/.travis.yml +++ /dev/null @@ -1,75 +0,0 @@ -jobs: - include: - - language: cpp - dist: bionic - compiler: gcc - env: TEA_UTIL_ENV="cpp" - - language: php - php: '5.6' - env: TEA_UTIL_ENV="php" - - language: php - php: '7.0' - env: TEA_UTIL_ENV="php" - - language: php - php: '7.1' - env: TEA_UTIL_ENV="php" - - language: php - php: '7.2' - env: TEA_UTIL_ENV="php" - - language: php - php: '7.3' - env: TEA_UTIL_ENV="php" - - language: csharp - mono: none - dist: xenial - env: TEA_UTIL_ENV="csharp" - - language: java - jdk: openjdk8 - env: TEA_UTIL_ENV="java" - - language: go - go: 1.11.x - env: TEA_UTIL_ENV="go" - install: - - export GO111MODULE=on - - language: go - go: 1.12.x - env: TEA_UTIL_ENV="go" - install: - - export GO111MODULE=on - - language: go - go: 1.13.x - env: TEA_UTIL_ENV="go" - install: - - export GO111MODULE=on - - language: go - go: 1.14.x - env: TEA_UTIL_ENV="go" - install: - - export GO111MODULE=on - - language: go - go: 1.15.x - env: TEA_UTIL_ENV="go" - install: - - export GO111MODULE=on - - language: node_js - node_js: 12 - env: TEA_UTIL_ENV="ts" - # - language: swift - # os: osx - # osx_image: xcode11.3 - # env: TEA_UTIL_ENV="swift" - - language: python - python: 3.6 - env: TEA_UTIL_ENV="python" - - language: python - python: 3.7 - env: TEA_UTIL_ENV="python" - - language: python - python: 3.8 - env: TEA_UTIL_ENV="python" - - language: python - python: 3.9 - env: TEA_UTIL_ENV="python" - -script: - - bash ut.sh ${TEA_UTIL_ENV} diff --git a/csharp/core/Models/ExtendsParameters.cs b/csharp/core/Models/ExtendsParameters.cs new file mode 100644 index 00000000..b93441a5 --- /dev/null +++ b/csharp/core/Models/ExtendsParameters.cs @@ -0,0 +1,21 @@ +/** + * This is a utility module + */ +// This file is auto-generated, don't edit it. Thanks. + +using System; +using System.Collections.Generic; +using System.IO; + +using Tea; + +namespace AlibabaCloud.TeaUtil.Models +{ + public class ExtendsParameters : TeaModel { + [NameInMap("headers")] + [Validation(Required=false)] + public Dictionary Headers { get; set; } + + } + +} diff --git a/csharp/core/Models/RuntimeOptions.cs b/csharp/core/Models/RuntimeOptions.cs index ef77f4c4..0c773c8d 100644 --- a/csharp/core/Models/RuntimeOptions.cs +++ b/csharp/core/Models/RuntimeOptions.cs @@ -85,5 +85,12 @@ public class RuntimeOptions : TeaModel [Validation(Required = false)] public bool? KeepAlive { get; set; } + /// + /// Extends Parameters + /// + [NameInMap("extendsParameters")] + [Validation(Required=false)] + public ExtendsParameters ExtendsParameters { get; set; } + } } diff --git a/csharp/core/TeaUtil.csproj b/csharp/core/TeaUtil.csproj index f7b79c11..135dbf1d 100644 --- a/csharp/core/TeaUtil.csproj +++ b/csharp/core/TeaUtil.csproj @@ -43,7 +43,7 @@ all runtime; build; native; contentfiles; analyzers - + diff --git a/csharp/tests/Models/RuntimeObjectTest.cs b/csharp/tests/Models/RuntimeObjectTest.cs index 036c719d..c3539546 100644 --- a/csharp/tests/Models/RuntimeObjectTest.cs +++ b/csharp/tests/Models/RuntimeObjectTest.cs @@ -1,5 +1,6 @@ using AlibabaCloud.TeaUtil.Models; +using System.Collections.Generic; using Xunit; namespace tests.Models @@ -29,6 +30,12 @@ public void Test_RuntimeObject() runtime.Socks5Proxy = "socks5Proxy"; runtime.KeepAlive = false; + ExtendsParameters extendsParameters = new ExtendsParameters(); + extendsParameters.Headers = new Dictionary{ + {"key", "value"}, + }; + runtime.ExtendsParameters = extendsParameters; + Assert.NotNull(runtime); Assert.True(runtime.Autoretry); Assert.Equal(1, runtime.BackoffPeriod); @@ -48,6 +55,8 @@ public void Test_RuntimeObject() Assert.Equal("socks5", runtime.Socks5NetWork); Assert.Equal("socks5Proxy", runtime.Socks5Proxy); Assert.False(runtime.KeepAlive); + Assert.NotNull(runtime.ExtendsParameters); + Assert.Equal("value", runtime.ExtendsParameters.Headers["key"]); } } } diff --git a/golang/go.mod b/golang/go.mod index 4cb4a4e3..b10cb3dd 100644 --- a/golang/go.mod +++ b/golang/go.mod @@ -2,7 +2,4 @@ module github.com/alibabacloud-go/tea-utils/v2 go 1.14 -require ( - github.com/alibabacloud-go/tea v1.1.0 - golang.org/x/net v0.17.0 // indirect -) +require github.com/alibabacloud-go/tea v1.2.2 diff --git a/golang/go.sum b/golang/go.sum new file mode 100644 index 00000000..064de6bc --- /dev/null +++ b/golang/go.sum @@ -0,0 +1,59 @@ +github.com/alibabacloud-go/debug v1.0.0 h1:3eIEQWfay1fB24PQIEzXAswlVJtdQok8f3EVN5VrBnA= +github.com/alibabacloud-go/debug v1.0.0/go.mod h1:8gfgZCCAC3+SCzjWtY053FrOcd4/qlH6IHTI4QyICOc= +github.com/alibabacloud-go/tea v1.2.2 h1:aTsR6Rl3ANWPfqeQugPglfurloyBJY85eFy7Gc1+8oU= +github.com/alibabacloud-go/tea v1.2.2/go.mod h1:CF3vOzEMAG+bR4WOql8gc2G9H3EkH3ZLAQdpmpXMgwk= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/golang/service/service_test.go b/golang/service/service_test.go index 0ed7e8a2..f1dc402c 100644 --- a/golang/service/service_test.go +++ b/golang/service/service_test.go @@ -28,7 +28,10 @@ func Test_SetFunc(t *testing.T) { SetReadTimeout(50). SetSocks5NetWork("tcp"). SetSocks5Proxy("sock5proxy"). - SetKeepAlive(false) + SetKeepAlive(false). + SetExtendsParameters(new(ExtendsParameters).SetHeaders(map[string]*string{ + "key": tea.String("value"), + })) utils.AssertEqual(t, true, tea.BoolValue(runtime.Autoretry)) utils.AssertEqual(t, true, tea.BoolValue(runtime.IgnoreSSL)) utils.AssertEqual(t, "key", tea.StringValue(runtime.Key)) @@ -47,6 +50,7 @@ func Test_SetFunc(t *testing.T) { utils.AssertEqual(t, "tcp", tea.StringValue(runtime.Socks5NetWork)) utils.AssertEqual(t, "sock5proxy", tea.StringValue(runtime.Socks5Proxy)) utils.AssertEqual(t, false, tea.BoolValue(runtime.KeepAlive)) + utils.AssertEqual(t, "value", tea.StringValue(runtime.ExtendsParameters.Headers["key"])) runtime.GoString() } diff --git a/java/pom.xml b/java/pom.xml index a821d47f..a8da53a8 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -37,11 +37,11 @@ sonatype-nexus-snapshots - https://oss.sonatype.org/content/repositories/snapshots + https://s01.oss.sonatype.org/content/repositories/snapshots sonatype-nexus-staging - https://oss.sonatype.org/service/local/staging/deploy/maven2/ + https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ @@ -55,7 +55,7 @@ com.aliyun tea - 1.0.5 + 1.2.8 true @@ -67,7 +67,7 @@ com.google.code.gson gson - 2.8.9 + 2.10.1 @@ -103,7 +103,7 @@ true sonatype-nexus-staging - https://oss.sonatype.org/ + https://s01.oss.sonatype.org/ true diff --git a/java/src/main/java/com/aliyun/teautil/models/ExtendsParameters.java b/java/src/main/java/com/aliyun/teautil/models/ExtendsParameters.java new file mode 100644 index 00000000..1fa4328c --- /dev/null +++ b/java/src/main/java/com/aliyun/teautil/models/ExtendsParameters.java @@ -0,0 +1,23 @@ +// This file is auto-generated, don't edit it. Thanks. +package com.aliyun.teautil.models; + +import com.aliyun.tea.*; + +public class ExtendsParameters extends TeaModel { + @NameInMap("headers") + public java.util.Map headers; + + public static ExtendsParameters build(java.util.Map map) throws Exception { + ExtendsParameters self = new ExtendsParameters(); + return TeaModel.build(map, self); + } + + public ExtendsParameters setHeaders(java.util.Map headers) { + this.headers = headers; + return this; + } + public java.util.Map getHeaders() { + return this.headers; + } + +} diff --git a/java/src/main/java/com/aliyun/teautil/models/RuntimeOptions.java b/java/src/main/java/com/aliyun/teautil/models/RuntimeOptions.java index 612f8467..5ce04006 100644 --- a/java/src/main/java/com/aliyun/teautil/models/RuntimeOptions.java +++ b/java/src/main/java/com/aliyun/teautil/models/RuntimeOptions.java @@ -79,6 +79,12 @@ public class RuntimeOptions extends TeaModel { @NameInMap("keepAlive") public Boolean keepAlive; + /** + *

Extends Parameters

+ */ + @NameInMap("extendsParameters") + public ExtendsParameters extendsParameters; + public static RuntimeOptions build(java.util.Map map) throws Exception { RuntimeOptions self = new RuntimeOptions(); return TeaModel.build(map, self); @@ -228,4 +234,12 @@ public Boolean getKeepAlive() { return this.keepAlive; } + public RuntimeOptions setExtendsParameters(ExtendsParameters extendsParameters) { + this.extendsParameters = extendsParameters; + return this; + } + public ExtendsParameters getExtendsParameters() { + return this.extendsParameters; + } + } diff --git a/java/src/test/java/com/aliyun/teautil/models/RuntimeOptionsTest.java b/java/src/test/java/com/aliyun/teautil/models/RuntimeOptionsTest.java index fcaee36d..218f2abb 100644 --- a/java/src/test/java/com/aliyun/teautil/models/RuntimeOptionsTest.java +++ b/java/src/test/java/com/aliyun/teautil/models/RuntimeOptionsTest.java @@ -26,6 +26,12 @@ public void setAndGetTest() throws Exception { map.put("maxIdleConns", 300); map.put("keepAlive", true); + Map headers = new HashMap(); + headers.put("key", "value"); + Map extendsParameters = new HashMap(); + extendsParameters.put("headers", headers); + map.put("extendsParameters", extendsParameters); + RuntimeOptions opts = RuntimeOptions.build(map); Assert.assertEquals(false, opts.autoretry); Assert.assertEquals(false, opts.ignoreSSL); @@ -42,5 +48,6 @@ public void setAndGetTest() throws Exception { Assert.assertEquals("noProxy", opts.noProxy); Assert.assertEquals(300, (int) opts.maxIdleConns); Assert.assertEquals(true, opts.keepAlive); + Assert.assertEquals("value", opts.extendsParameters.headers.get("key")); } } diff --git a/php/src/Utils/ExtendsParameters.php b/php/src/Utils/ExtendsParameters.php new file mode 100644 index 00000000..084fb219 --- /dev/null +++ b/php/src/Utils/ExtendsParameters.php @@ -0,0 +1,30 @@ +headers) { + $res['headers'] = $this->headers; + } + return $res; + } + /** + * @param array $map + * @return ExtendsParameters + */ + public static function fromMap($map = []) { + $model = new self(); + if(isset($map['headers'])){ + $model->headers = $map['headers']; + } + return $model; + } + public $headers; + +} diff --git a/php/src/Utils/RuntimeOptions.php b/php/src/Utils/RuntimeOptions.php index de107fb0..59242289 100644 --- a/php/src/Utils/RuntimeOptions.php +++ b/php/src/Utils/RuntimeOptions.php @@ -86,6 +86,9 @@ public function toMap() { if (null !== $this->keepAlive) { $res['keepAlive'] = $this->keepAlive; } + if (null !== $this->extendsParameters) { + $res['extendsParameters'] = null !== $this->extendsParameters ? $this->extendsParameters->toMap() : null; + } return $res; } /** @@ -148,6 +151,9 @@ public static function fromMap($map = []) { if(isset($map['keepAlive'])){ $model->keepAlive = $map['keepAlive']; } + if(isset($map['extendsParameters'])){ + $model->extendsParameters = ExtendsParameters::fromMap($map['extendsParameters']); + } return $model; } /** @@ -258,4 +264,10 @@ public static function fromMap($map = []) { */ public $keepAlive; + /** + * @description Extends Parameters + * @var ExtendsParameters + */ + public $extendsParameters; + } diff --git a/php/tests/UtilsTest.php b/php/tests/UtilsTest.php index 3e210e2a..cdfc3e23 100644 --- a/php/tests/UtilsTest.php +++ b/php/tests/UtilsTest.php @@ -4,6 +4,7 @@ use AlibabaCloud\Tea\Model; use AlibabaCloud\Tea\Utils\Utils; +use AlibabaCloud\Tea\Utils\Utils\ExtendsParameters; use AlibabaCloud\Tea\Utils\Utils\RuntimeOptions; use GuzzleHttp\Psr7\Stream; use PHPUnit\Framework\TestCase; @@ -416,6 +417,9 @@ public function testRuntimeOptions() "noProxy" => "noProxy", "maxIdleConns" => 300, "keepAlive" => true, + "extendsParameters" => new ExtendsParameters([ + "headers" => ['key' => 'value'], + ]), ]); $this->assertEquals(false, $opts->autoretry); $this->assertEquals(false, $opts->ignoreSSL); @@ -432,6 +436,7 @@ public function testRuntimeOptions() $this->assertEquals("noProxy", $opts->noProxy); $this->assertEquals(300, $opts->maxIdleConns); $this->assertEquals(true, $opts->keepAlive); + $this->assertEquals('value', $opts->extendsParameters->headers['key']); } private function convert($body, &$content) diff --git a/python/alibabacloud_tea_util/models.py b/python/alibabacloud_tea_util/models.py index 2309d9f4..3e6790fa 100644 --- a/python/alibabacloud_tea_util/models.py +++ b/python/alibabacloud_tea_util/models.py @@ -1,6 +1,34 @@ # -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. from Tea.model import TeaModel +from typing import Dict + + +class ExtendsParameters(TeaModel): + def __init__( + self, + headers: Dict[str, str] = None, + ): + self.headers = headers + + def validate(self): + pass + + def to_map(self): + _map = super().to_map() + if _map is not None: + return _map + + result = dict() + if self.headers is not None: + result['headers'] = self.headers + return result + + def from_map(self, m: dict = None): + m = m or dict() + if m.get('headers') is not None: + self.headers = m.get('headers') + return self class RuntimeOptions(TeaModel): @@ -27,6 +55,7 @@ def __init__( key: str = None, cert: str = None, ca: str = None, + extends_parameters: ExtendsParameters = None, ): # whether to try again self.autoretry = autoretry @@ -64,6 +93,8 @@ def __init__( self.socks_5net_work = socks_5net_work # whether to enable keep-alive self.keep_alive = keep_alive + # Extends Parameters + self.extends_parameters = extends_parameters def validate(self): pass @@ -106,6 +137,8 @@ def to_map(self): result['socks5NetWork'] = self.socks_5net_work if self.keep_alive is not None: result['keepAlive'] = self.keep_alive + if self.extends_parameters is not None: + result['extendsParameters'] = self.extends_parameters.to_map() return result def from_map(self, m: dict = None): @@ -146,6 +179,9 @@ def from_map(self, m: dict = None): self.socks_5net_work = m.get('socks5NetWork') if m.get('keepAlive') is not None: self.keep_alive = m.get('keepAlive') + if m.get('extendsParameters') is not None: + temp_model = ExtendsParameters() + self.extends_parameters = temp_model.from_map(m['extendsParameters']) return self diff --git a/python/setup.py b/python/setup.py index 35de7d0f..13b067d1 100644 --- a/python/setup.py +++ b/python/setup.py @@ -57,6 +57,9 @@ 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Topic :: Software Development', ) } diff --git a/python/tests/test_models.py b/python/tests/test_models.py index 4df8fede..853db871 100644 --- a/python/tests/test_models.py +++ b/python/tests/test_models.py @@ -1,5 +1,6 @@ import unittest from alibabacloud_tea_util.models import RuntimeOptions +from alibabacloud_tea_util.models import ExtendsParameters class TestClient(unittest.TestCase): @@ -8,6 +9,12 @@ def test_init(self): option.validate() self.assertEqual(None, option.autoretry) + extends_parameters = ExtendsParameters( + headers={'key': 'value'}, + ) + extends_parameters.validate() + self.assertIsNotNone(extends_parameters.headers) + option = RuntimeOptions( autoretry=True, ignore_ssl=True, @@ -26,7 +33,8 @@ def test_init(self): local_addr="test", socks_5proxy="test", socks_5net_work="test", - keep_alive=False + keep_alive=False, + extends_parameters=extends_parameters ) self.assertEqual(True, option.autoretry) self.assertEqual(True, option.ignore_ssl) @@ -46,6 +54,7 @@ def test_init(self): self.assertEqual('test', option.socks_5proxy) self.assertEqual('test', option.socks_5net_work) self.assertEqual(False, option.keep_alive) + self.assertEqual('value', option.extends_parameters.headers['key']) def test_to_map(self): option = RuntimeOptions( @@ -66,7 +75,10 @@ def test_to_map(self): local_addr="test", socks_5proxy="test", socks_5net_work="test", - keep_alive=False + keep_alive=False, + extends_parameters=ExtendsParameters( + headers={'key': 'value'}, + ), ) result = option.to_map() self.assertEqual(True, result.get('autoretry')) @@ -87,6 +99,7 @@ def test_to_map(self): self.assertEqual('test', result.get('socks5Proxy')) self.assertEqual('test', result.get('socks5NetWork')) self.assertEqual(False, result.get('keepAlive')) + self.assertEqual('value', result.get('extendsParameters').get('headers').get('key')) def test_from_map(self): option = RuntimeOptions() @@ -108,7 +121,12 @@ def test_from_map(self): 'localAddr': 'test', 'socks5Proxy': 'test', 'socks5NetWork': 'test', - 'keepAlive': False + 'keepAlive': False, + 'extendsParameters': { + 'headers': { + 'key': 'value', + }, + }, } option.from_map(dic) self.assertEqual(True, option.autoretry) @@ -129,3 +147,4 @@ def test_from_map(self): self.assertEqual('test', option.socks_5proxy) self.assertEqual('test', option.socks_5net_work) self.assertEqual(False, option.keep_alive) + self.assertEqual('value', option.extends_parameters.headers['key']) diff --git a/swift/Cartfile b/swift/Cartfile index 260e7511..ba33ebe7 100644 --- a/swift/Cartfile +++ b/swift/Cartfile @@ -1,3 +1,2 @@ github "krzyzanowskim/CryptoSwift" ~> 1.3.0 -github "SwiftyJSON/SwiftyJSON" ~> 5.0.0 -github "aliyun/tea-swift" ~> 1.0.0 +github "aliyun/tea-swift" ~> 1.0.2 diff --git a/swift/Package.swift b/swift/Package.swift index b91515a7..84b2c3c0 100644 --- a/swift/Package.swift +++ b/swift/Package.swift @@ -16,7 +16,7 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", from: "1.5.1"), - .package(url: "https://github.com/aliyun/tea-swift.git", from: "1.0.0"), + .package(url: "https://github.com/aliyun/tea-swift.git", from: "1.0.2"), ], targets: [ .target( diff --git a/swift/Sources/TeaUtils/Models.swift b/swift/Sources/TeaUtils/Models.swift index bcdde513..dcb2f599 100644 --- a/swift/Sources/TeaUtils/Models.swift +++ b/swift/Sources/TeaUtils/Models.swift @@ -1,6 +1,36 @@ import Foundation import Tea +public class ExtendsParameters : Tea.TeaModel { + public var headers: [String: String]? + + public override init() { + super.init() + } + + public init(_ dict: [String: Any]) { + super.init() + self.fromMap(dict) + } + + public override func validate() throws -> Void { + } + + public override func toMap() -> [String : Any] { + var map = super.toMap() + if self.headers != nil { + map["headers"] = self.headers! + } + return map + } + + public override func fromMap(_ dict: [String: Any]) -> Void { + if dict.keys.contains("headers") { + self.headers = dict["headers"] as! [String: String] + } + } +} + public class RuntimeOptions : Tea.TeaModel { public var autoretry: Bool? @@ -38,6 +68,8 @@ public class RuntimeOptions : Tea.TeaModel { public var keepAlive: Bool? + public var extendsParameters: ExtendsParameters? + public override init() { super.init() } @@ -48,6 +80,7 @@ public class RuntimeOptions : Tea.TeaModel { } public override func validate() throws -> Void { + try self.extendsParameters?.validate() } public override func toMap() -> [String : Any] { @@ -106,6 +139,9 @@ public class RuntimeOptions : Tea.TeaModel { if self.keepAlive != nil { map["keepAlive"] = self.keepAlive! } + if self.extendsParameters != nil { + map["extendsParameters"] = self.extendsParameters?.toMap() + } return map } @@ -164,5 +200,10 @@ public class RuntimeOptions : Tea.TeaModel { if dict.keys.contains("keepAlive") { self.keepAlive = dict["keepAlive"] as! Bool } + if dict.keys.contains("extendsParameters") { + var model = ExtendsParameters() + model.fromMap(dict["extendsParameters"] as! [String: Any]) + self.extendsParameters = model + } } } diff --git a/swift/TeaUtils.podspec b/swift/TeaUtils.podspec index 8a95ac6f..c7322fb9 100644 --- a/swift/TeaUtils.podspec +++ b/swift/TeaUtils.podspec @@ -18,8 +18,7 @@ Pod::Spec.new do |spec| spec.tvos.deployment_target = '13.0' spec.dependency 'CryptoSwift', '~> 1.5.1' - spec.dependency 'SwiftyJSON', '~> 5.0.0' - spec.dependency 'Tea', '~> 1.0.0' + spec.dependency 'Tea', '~> 1.0.2' spec.swift_version = '5.6' end diff --git a/swift/Tests/TeaUtilsTests/TeaUtilsTests.swift b/swift/Tests/TeaUtilsTests/TeaUtilsTests.swift index dec351d3..e384620a 100644 --- a/swift/Tests/TeaUtilsTests/TeaUtilsTests.swift +++ b/swift/Tests/TeaUtilsTests/TeaUtilsTests.swift @@ -4,8 +4,8 @@ import Tea class TestModel: TeaModel { - var num: Int = 100 - var str: String = "string" + var num: Int? = 100 + var str: String? = "string" public override init() { super.init() @@ -41,8 +41,8 @@ class TestModel: TeaModel { } class TestModel2: TeaModel { - var num: Int = 200 - var str: String = "model2" + var num: Int? = 200 + var str: String? = "model2" public override init() { super.init() @@ -77,7 +77,7 @@ class TestModel2: TeaModel { } } -final class ClientTests: XCTestCase { +final class TeaUtilsTests: XCTestCase { func testToBytes() { XCTAssertEqual([115, 116, 114, 105, 110, 103], Client.toBytes("string")) } @@ -459,6 +459,11 @@ final class ClientTests: XCTestCase { "noProxy": "noProxy", "maxIdleConns": 300, "keepAlive": true, + "extendsParameters": [ + "headers": [ + "key": "value" + ], + ], ] ) XCTAssertEqual(false, opts.autoretry) @@ -476,40 +481,43 @@ final class ClientTests: XCTestCase { XCTAssertEqual("noProxy", opts.noProxy) XCTAssertEqual(300, opts.maxIdleConns) XCTAssertEqual(true, opts.keepAlive) + XCTAssertEqual("value", opts.extendsParameters!.headers!["key"]) + } + + static var allTests: [(String, (TeaUtilsTests) -> () -> Void)] { + return [ + ("testToBytes", testToBytes), + ("testToString", testToString), + ("testParseJSON", testParseJSON), + ("testReadAsBytes", testReadAsBytes), + ("testReadAsString", testReadAsString), + ("testReadAsJSON", testReadAsJSON), + ("testGetNonce", testGetNonce), + ("testGetDateUTCString", testGetDateUTCString), + ("testDefaultString", testDefaultString), + ("testDefaultNumber", testDefaultNumber), + ("testToFormString", testToFormString), + ("testToJSONString", testToJSONString), + ("testEqualString", testEqualString), + ("testEqualNumber", testEqualNumber), + ("testIsUnset", testIsUnset), + ("testStringifyMapValue", testStringifyMapValue), + ("testAssertAsMap", testAssertAsMap), + ("testGetUserAgent", testGetUserAgent), + ("testAnyifyMapValue", testAnyifyMapValue), + ("testAssertAsBoolean", testAssertAsBoolean), + ("testAssertAsString", testAssertAsString), + ("testAssertAsBytes", testAssertAsBytes), + ("testAssertAsNumber", testAssertAsNumber), + ("testAssertAsArray", testAssertAsArray), + ("testis2xx", testis2xx), + ("testis3xx", testis3xx), + ("testis4xx", testis4xx), + ("testis5xx", testis5xx), + ("testValidateModel", testValidateModel), + ("testToMap", testToMap), + ("testSleep", testSleep), + ("testToArray", testToArray), + ] } - - static var allTests = [ - ("testToBytes", testToBytes), - ("testToString", testToString), - ("testParseJSON", testParseJSON), - ("testReadAsBytes", testReadAsBytes), - ("testReadAsString", testReadAsString), - ("testReadAsJSON", testReadAsJSON), - ("testGetNonce", testGetNonce), - ("testGetDateUTCString", testGetDateUTCString), - ("testDefaultString", testDefaultString), - ("testDefaultNumber", testDefaultNumber), - ("testToFormString", testToFormString), - ("testToJSONString", testToJSONString), - ("testEqualString", testEqualString), - ("testEqualNumber", testEqualNumber), - ("testIsUnset", testIsUnset), - ("testStringifyMapValue", testStringifyMapValue), - ("testAssertAsMap", testAssertAsMap), - ("testGetUserAgent", testGetUserAgent), - ("testAnyifyMapValue", testAnyifyMapValue), - ("testAssertAsBoolean", testAssertAsBoolean), - ("testAssertAsString", testAssertAsString), - ("testAssertAsBytes", testAssertAsBytes), - ("testAssertAsNumber", testAssertAsNumber), - ("testAssertAsArray", testAssertAsArray), - ("testis2xx", testis2xx), - ("testis3xx", testis3xx), - ("testis4xx", testis4xx), - ("testis5xx", testis5xx), - ("testValidateModel", testValidateModel), - ("testToMap", testToMap), - ("testSleep", testSleep), - ("testToArray", testToArray), - ] } diff --git a/swift/Tests/TeaUtilsTests/XCTestManifests.swift b/swift/Tests/TeaUtilsTests/XCTestManifests.swift index ac949c6f..1b1bec22 100644 --- a/swift/Tests/TeaUtilsTests/XCTestManifests.swift +++ b/swift/Tests/TeaUtilsTests/XCTestManifests.swift @@ -6,4 +6,5 @@ public func allTests() -> [XCTestCaseEntry] { testCase(TeaUtilsTests.allTests), ] } + #endif diff --git a/ts/package.json b/ts/package.json index 54551bd5..38a8c838 100644 --- a/ts/package.json +++ b/ts/package.json @@ -27,5 +27,6 @@ "files": [ "dist", "src" - ] -} + ], + "repository": "git@github.com:aliyun/tea-util.git" +} \ No newline at end of file diff --git a/ts/src/client.ts b/ts/src/client.ts index b2260a04..a3e4ead8 100644 --- a/ts/src/client.ts +++ b/ts/src/client.ts @@ -5,6 +5,25 @@ import querystring from 'querystring'; import { platform, arch } from 'os'; const DEFAULT_USER_AGENT = `AlibabaCloud (${platform()}; ${arch()}) Node.js/${process.version} Core/1.0.1 TeaDSL/1`; +export class ExtendsParameters extends $tea.Model { + headers?: { [key: string]: string }; + static names(): { [key: string]: string } { + return { + headers: 'headers', + }; + } + + static types(): { [key: string]: any } { + return { + headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' }, + }; + } + + constructor(map?: { [key: string]: any }) { + super(map); + } +} + export class RuntimeOptions extends $tea.Model { autoretry?: boolean; ignoreSSL?: boolean; @@ -21,6 +40,7 @@ export class RuntimeOptions extends $tea.Model { noProxy?: string; maxIdleConns?: number; keepAlive?: boolean; + extendsParameters?: ExtendsParameters; static names(): { [key: string]: string } { return { autoretry: 'autoretry', @@ -38,6 +58,7 @@ export class RuntimeOptions extends $tea.Model { noProxy: 'noProxy', maxIdleConns: 'maxIdleConns', keepAlive: 'keepAlive', + extendsParameters: 'extendsParameters', }; } @@ -58,6 +79,7 @@ export class RuntimeOptions extends $tea.Model { noProxy: 'string', maxIdleConns: 'number', keepAlive: 'boolean', + extendsParameters: ExtendsParameters, }; } diff --git a/ts/test/client.spec.ts b/ts/test/client.spec.ts index 46c681f2..fd2c9799 100644 --- a/ts/test/client.spec.ts +++ b/ts/test/client.spec.ts @@ -137,6 +137,11 @@ describe('Tea Util', function () { noProxy: 'noProxy', maxIdleConns: 300, keepAlive: true, + extendsParameters: { + headers: { + key: 'value', + } + }, } ); assert.ok(opts.autoretry === false); @@ -153,6 +158,7 @@ describe('Tea Util', function () { assert.ok(opts.httpsProxy === 'httpsProxy'); assert.ok(opts.maxIdleConns === 300); assert.ok(opts.keepAlive === true); + assert.ok(opts.extendsParameters.headers['key'] === 'value'); }); it('stringifyMapValue', function () { diff --git a/ut.sh b/ut.sh deleted file mode 100644 index ef6a29ef..00000000 --- a/ut.sh +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/bash - -function upload_codecov_report { - # upload_codecov_report - cd "$1" || return 126 - wget --no-check-certificate https://codecov.io/bash -O codecov.sh - pwd - bash codecov.sh -cF "$2" -} - -function run_swift { - cd swift/ || rerturn 126 - swift package generate-xcodeproj --enable-code-coverage - xcodebuild clean build -project TeaUtils.xcodeproj -scheme "TeaUtils-Package" -sdk "macosx" -destination "platform=OS X,arch=x86_64" -configuration Debug ONLY_ACTIVE_ARCH=NO test - xcodebuild test -project TeaUtils.xcodeproj -scheme "TeaUtils-Package" -sdk "macosx" -destination "platform=OS X,arch=x86_64" -configuration Debug ONLY_ACTIVE_ARCH=NO test - cd ../ - upload_codecov_report swift swift -} - -function run_php { - cd php/ || return 126 - composer --version - composer install -vvv - composer require phpunit/phpunit --dev - composer test || return 126 - cd ../ - upload_codecov_report php php -} - -function run_go { - cd golang/ || return 126 - export GO111MODULE=on - go mod tidy - go test -race -coverprofile=coverage.txt -covermode=atomic ./service/... || return 126 - cd ../ - upload_codecov_report golang go -} - -function run_csharp { - # before_install - wget https://download.visualstudio.microsoft.com/download/pr/42f39f2f-3f24-4340-8c57-0a3133620c21/0a353696275b00cbddc9f60069867cfc/dotnet-sdk-2.2.110-linux-x64.tar.gz - mkdir -p ~/dotnet/ && tar zxf dotnet-sdk-2.2.110-linux-x64.tar.gz -C ~/dotnet/ - sudo ln -sf ~/dotnet/dotnet /usr/bin/dotnet - dotnet --info - - # install - cd csharp/tests/ || return 126 - dotnet tool install --global altcover.visualizer - dotnet restore - dotnet build - cd ../ - - # run tests - dotnet test tests/ /p:AltCover=true || return 126 - cd ../ - - # upload code coverage report - upload_codecov_report csharp csharp -} - -function run_java { - cd java/ || return 126 - mvn test -B || return 126 - cd ../ - upload_codecov_report java java -} - -function run_ts { - cd ts/ || return 126 - npm install - npm run test-cov || return 126 - cd ../ - upload_codecov_report ts node_js -} - -function run_python { - #env - export PYTHONPATH=$PYTHONPATH:`pwd`/python - echo $PYTHONPATH - # install - cd python || return 126 - pip install coverage - pip install alibabacloud-tea - - coverage run --source="./alibabacloud_tea_util" -m pytest tests/test_* || return 126 - cd ../ - upload_codecov_report python python -} - -function run_cpp { - #env - export CPLUS_INCLUDE_PATH="/usr/local/include/:/usr/include/jsoncpp/:/usr/lib/" - sudo add-apt-repository ppa:mhier/libboost-latest -y - sudo apt-get update - aptitude search boost - sudo apt-get install libboost-all-dev - sudo apt-get install lcov libcpprest-dev libcurl4-openssl-dev libssl-dev uuid-dev libjson-c-dev libjsoncpp-dev - cd cpp/ - sh scripts/codecov.sh - cd ../ - upload_codecov_report cpp/cmake_build cpp -} - -lang=$1 - -if [ "$lang" == "php" ] -then - echo "run php" - run_php -elif [ "$lang" == "go" ] -then - echo "run golang" - run_go -elif [ "$lang" == "csharp" ] -then - echo "run csharp" - run_csharp -elif [ "$lang" == "java" ] -then - echo "run java" - run_java -elif [ "$lang" == "python" ] -then - echo "run python" - run_python -elif [ "$lang" == "ts" ] -then - echo "run ts" - run_ts -elif [ "$lang" == "swift" ] -then - echo "run swift" - run_swift -elif [ "$lang" == "cpp" ] -then - echo "run_cpp" - run_cpp -fi - -exit $? \ No newline at end of file