diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 9cd68a249254..6ce52fbfd48b 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -1019,7 +1019,7 @@ packages: resolution: {integrity: sha512-Q71Buur3RMcg6lCnisLL8Im562DBw+ybzgm+YQj/FbAaI8ZNu/zl/5z1fE4k3Q9LSIzYrz6HLRzlhdSBXpydlQ==} engines: {node: '>=8.0.0'} dependencies: - '@azure/core-http': 1.2.3 + '@azure/core-http': 1.2.6 '@azure/core-tracing': 1.0.0-preview.9 '@azure/logger': 1.0.3 '@azure/msal-node': 1.0.0-beta.6_debug@4.3.4 @@ -2348,7 +2348,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/chai-as-promised/7.1.5: @@ -2374,7 +2374,7 @@ packages: /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/cookie/0.4.1: @@ -2409,7 +2409,7 @@ packages: /@types/express-serve-static-core/4.17.30: resolution: {integrity: sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: false @@ -2426,20 +2426,20 @@ packages: /@types/fs-extra/8.1.2: resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/glob/7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 3.0.5 - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/inquirer/8.2.1: @@ -2452,7 +2452,7 @@ packages: /@types/is-buffer/2.0.0: resolution: {integrity: sha512-0f7N/e3BAz32qDYvgB4d2cqv1DqUwvGxHkXsrucICn8la1Vb6Yl6Eg8mPScGwUiqHJeE7diXlzaK+QMA9m4Gxw==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/json-schema/7.0.11: @@ -2466,13 +2466,13 @@ packages: /@types/jsonwebtoken/8.5.8: resolution: {integrity: sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/jws/3.2.4: resolution: {integrity: sha512-aqtH4dPw1wUjFZaeMD1ak/pf8iXlu/odFe+trJrvw0g1sTh93i+SCykg0Ek8C6B7rVK3oBORbfZAsKO7P10etg==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/long/4.0.2: @@ -2508,13 +2508,13 @@ packages: /@types/mock-fs/4.13.1: resolution: {integrity: sha512-m6nFAJ3lBSnqbvDZioawRvpLXSaPyn52Srf7OfzjubYbYX8MTUdIgDxQl0wEapm4m/pNYSd9TXocpQ0TvZFlYA==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/mock-require/2.0.1: resolution: {integrity: sha512-O7U5DVGboY/Crueb5/huUCIRjKtRVRaLmRDbZJBlDQgJn966z3aiFDN+6AtYviu2ExwMkl34LjT/IiC0OPtKuQ==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/ms/0.7.31: @@ -2532,7 +2532,7 @@ packages: /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 form-data: 3.0.1 dev: false @@ -2579,7 +2579,7 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/semaphore/1.1.1: @@ -2590,7 +2590,7 @@ packages: resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==} dependencies: '@types/mime': 3.0.0 - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/sinon/10.0.13: @@ -2612,13 +2612,13 @@ packages: /@types/stoppable/1.1.1: resolution: {integrity: sha512-b8N+fCADRIYYrGZOcmOR8ZNBOqhktWTB/bMUl5LvGtT201QKJZOOH5UsFyI3qtteM6ZAJbJqZoBcLqqxKIwjhw==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/through/0.0.30: resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/tough-cookie/4.0.2: @@ -2632,13 +2632,13 @@ packages: /@types/tunnel/0.0.1: resolution: {integrity: sha512-AOqu6bQu5MSWwYvehMXLukFHnupHrpZ8nvgae5Ggie9UwzDR1CCwoXgSSWNZJuyOlCdfdsWMA5F2LlmvyoTv8A==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/tunnel/0.0.3: resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/underscore/1.11.4: @@ -2656,19 +2656,19 @@ packages: /@types/ws/7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/ws/8.5.3: resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/xml2js/0.4.11: resolution: {integrity: sha512-JdigeAKmCyoJUiQljjr7tQG3if9NkqGUgwEUqBvV0N7LM4HyQk7UXCnusRa1lnvXAEYJ8mw8GtZWioagNztOwA==} dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false /@types/yargs-parser/21.0.0: @@ -2685,7 +2685,7 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 12.20.55 + '@types/node': 18.6.3 dev: false optional: true @@ -3742,7 +3742,7 @@ packages: resolution: {integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==} deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) dependencies: - ms: 2.1.1 + ms: 2.1.3 dev: false /debug/3.2.7: @@ -3943,7 +3943,7 @@ packages: dependencies: semver: 7.3.7 shelljs: 0.8.5 - typescript: 4.6.4 + typescript: 4.7.4 dev: false /ecdsa-sig-formatter/1.0.11: @@ -3994,7 +3994,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.12 - '@types/node': 12.20.55 + '@types/node': 18.6.3 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -5005,7 +5005,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: false @@ -12805,7 +12805,7 @@ packages: dev: false file:projects/arm-operations.tgz: - resolution: {integrity: sha512-zBSpXpGN3cgOESNovltMAr55sQ65bAuYZVieVLXOhMCdFS5TO39+deaj8f4/qRS9AmEATWLTpa41/Ee7wo3Sfg==, tarball: file:projects/arm-operations.tgz} + resolution: {integrity: sha512-Bk1YdV1shSjfJoWpP2lagDIhj3MqkUh5biFePkM7svZyLS953G0l3LzMz7cmCG9NC7VfA9UGSWv2qpd0oYIdeA==, tarball: file:projects/arm-operations.tgz} name: '@rush-temp/arm-operations' version: 0.0.0 dependencies: @@ -12816,6 +12816,8 @@ packages: '@rollup/plugin-json': 4.1.0_rollup@2.77.2 '@rollup/plugin-multi-entry': 4.1.0_rollup@2.77.2 '@rollup/plugin-node-resolve': 13.3.0_rollup@2.77.2 + '@types/chai': 4.3.1 + chai: 4.3.6 cross-env: 7.0.3 mkdirp: 1.0.4 mocha: 7.2.0 @@ -12823,12 +12825,10 @@ packages: rollup: 2.77.2 rollup-plugin-sourcemaps: 0.6.3_rollup@2.77.2 tslib: 2.4.0 - typescript: 4.2.4 + typescript: 4.6.4 uglify-js: 3.16.3 transitivePeerDependencies: - '@types/node' - - encoding - - supports-color dev: false file:projects/arm-orbital.tgz: diff --git a/sdk/operationsmanagement/arm-operations/CHANGELOG.md b/sdk/operationsmanagement/arm-operations/CHANGELOG.md index 9b6711929a70..256059a8d4f2 100644 --- a/sdk/operationsmanagement/arm-operations/CHANGELOG.md +++ b/sdk/operationsmanagement/arm-operations/CHANGELOG.md @@ -1,8 +1,8 @@ # Release History -## 4.0.0-beta.3 (2022-05-11) +## 4.0.0-beta.4 (2022-08-02) -The package of @azure/arm-operations is using our next generation design principles since version 4.0.0-beta.3, which contains breaking changes. +The package of @azure/arm-operations is using our next generation design principles since version 4.0.0-beta.4, which contains breaking changes. To understand the detail of the change, please refer to [Changelog](https://aka.ms/js-track2-changelog). diff --git a/sdk/operationsmanagement/arm-operations/_meta.json b/sdk/operationsmanagement/arm-operations/_meta.json index ca3a629fd206..19cb6269509d 100644 --- a/sdk/operationsmanagement/arm-operations/_meta.json +++ b/sdk/operationsmanagement/arm-operations/_meta.json @@ -1,8 +1,8 @@ { - "commit": "4c25202569e348fc15275947be54acd191e70c0c", + "commit": "1dd79c416cdccde274113ec03b92b75069fad464", "readme": "specification/operationsmanagement/resource-manager/readme.md", - "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\work\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\operationsmanagement\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-alpha.19.20220408.1 --generate-sample=true", + "autorest_command": "autorest --version=3.7.3 --typescript --modelerfour.lenient-model-deduplication --azure-arm --head-as-boolean=true --license-header=MICROSOFT_MIT_NO_VERSION --generate-test --typescript-sdks-folder=D:\\Git\\azure-sdk-for-js ..\\azure-rest-api-specs\\specification\\operationsmanagement\\resource-manager\\readme.md --use=@autorest/typescript@6.0.0-rc.1.20220721.1 --generate-sample=true", "repository_url": "https://github.com/Azure/azure-rest-api-specs.git", - "release_tool": "@azure-tools/js-sdk-release-tools@2.3.0", - "use": "@autorest/typescript@6.0.0-alpha.19.20220408.1" + "release_tool": "@azure-tools/js-sdk-release-tools@2.4.0", + "use": "@autorest/typescript@6.0.0-rc.1.20220721.1" } \ No newline at end of file diff --git a/sdk/operationsmanagement/arm-operations/package.json b/sdk/operationsmanagement/arm-operations/package.json index ed9d512ff47a..c203f28c87fb 100644 --- a/sdk/operationsmanagement/arm-operations/package.json +++ b/sdk/operationsmanagement/arm-operations/package.json @@ -3,7 +3,7 @@ "sdk-type": "mgmt", "author": "Microsoft Corporation", "description": "A generated SDK for OperationsManagementClient.", - "version": "4.0.0-beta.3", + "version": "4.0.0-beta.4", "engines": { "node": ">=12.0.0" }, @@ -36,13 +36,17 @@ "mkdirp": "^1.0.4", "rollup": "^2.66.1", "rollup-plugin-sourcemaps": "^0.6.3", - "typescript": "~4.2.0", + "typescript": "~4.6.0", "uglify-js": "^3.4.9", "rimraf": "^3.0.0", "@azure/identity": "^2.0.1", - "@azure-tools/test-recorder": "^1.0.0", + "@azure-tools/test-recorder": "^2.0.0", + "@azure-tools/test-credential": "^1.0.0", "mocha": "^7.1.1", - "cross-env": "^7.0.2" + "@types/chai": "^4.2.8", + "chai": "^4.2.0", + "cross-env": "^7.0.2", + "@azure/dev-tool": "^1.0.0" }, "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/operationsmanagement/arm-operations", "repository": { @@ -93,9 +97,8 @@ "unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node", "unit-test:browser": "echo skipped", "integration-test": "npm run integration-test:node && npm run integration-test:browser", - "integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js", - "integration-test:browser": "echo skipped", - "docs": "echo skipped" + "integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'", + "integration-test:browser": "echo skipped" }, "sideEffects": false, "//metadata": { @@ -115,4 +118,4 @@ "disableDocsMs": true, "apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-operations?view=azure-node-preview" } -} +} \ No newline at end of file diff --git a/sdk/operationsmanagement/arm-operations/recordings/node/my_test/recording_sample_test.js b/sdk/operationsmanagement/arm-operations/recordings/node/my_test/recording_sample_test.js deleted file mode 100644 index 0f6ecb857acf..000000000000 --- a/sdk/operationsmanagement/arm-operations/recordings/node/my_test/recording_sample_test.js +++ /dev/null @@ -1,5 +0,0 @@ -let nock = require('nock'); - -module.exports.hash = "7a6be38bb8cb644d64b4094802301751"; - -module.exports.testInfo = {"uniqueName":{},"newDate":{}} diff --git a/sdk/operationsmanagement/arm-operations/recordings/node/my_test/recording_sample_test.json b/sdk/operationsmanagement/arm-operations/recordings/node/my_test/recording_sample_test.json new file mode 100644 index 000000000000..f721723386d8 --- /dev/null +++ b/sdk/operationsmanagement/arm-operations/recordings/node/my_test/recording_sample_test.json @@ -0,0 +1,4 @@ +{ + "Entries": [], + "Variables": {} +} diff --git a/sdk/operationsmanagement/arm-operations/review/arm-operations.api.md b/sdk/operationsmanagement/arm-operations/review/arm-operations.api.md index 832299e23181..ad1b68e42894 100644 --- a/sdk/operationsmanagement/arm-operations/review/arm-operations.api.md +++ b/sdk/operationsmanagement/arm-operations/review/arm-operations.api.md @@ -221,6 +221,7 @@ export interface SolutionPlan { // @public export interface SolutionProperties { + [property: string]: any; containedResources?: string[]; readonly provisioningState?: string; referencedResources?: string[]; diff --git a/sdk/operationsmanagement/arm-operations/src/models/index.ts b/sdk/operationsmanagement/arm-operations/src/models/index.ts index 20ae01a26601..55a5b9ff7090 100644 --- a/sdk/operationsmanagement/arm-operations/src/models/index.ts +++ b/sdk/operationsmanagement/arm-operations/src/models/index.ts @@ -49,6 +49,8 @@ export interface SolutionPlan { /** Solution properties supported by the OperationsManagement resource provider. */ export interface SolutionProperties { + /** Describes unknown properties. The value of an unknown property can be of "any" type. */ + [property: string]: any; /** The azure resourceId for the workspace where the solution will be deployed/enabled. */ workspaceResourceId: string; /** diff --git a/sdk/operationsmanagement/arm-operations/src/models/mappers.ts b/sdk/operationsmanagement/arm-operations/src/models/mappers.ts index ceeff23ffdab..a6297a51d70b 100644 --- a/sdk/operationsmanagement/arm-operations/src/models/mappers.ts +++ b/sdk/operationsmanagement/arm-operations/src/models/mappers.ts @@ -102,6 +102,7 @@ export const SolutionProperties: coreClient.CompositeMapper = { type: { name: "Composite", className: "SolutionProperties", + additionalProperties: { type: { name: "Object" } }, modelProperties: { workspaceResourceId: { serializedName: "workspaceResourceId", diff --git a/sdk/operationsmanagement/arm-operations/src/operationsManagementClient.ts b/sdk/operationsmanagement/arm-operations/src/operationsManagementClient.ts index e1419a3d2e7b..d6ac0ee5af10 100644 --- a/sdk/operationsmanagement/arm-operations/src/operationsManagementClient.ts +++ b/sdk/operationsmanagement/arm-operations/src/operationsManagementClient.ts @@ -8,6 +8,11 @@ import * as coreClient from "@azure/core-client"; import * as coreRestPipeline from "@azure/core-rest-pipeline"; +import { + PipelineRequest, + PipelineResponse, + SendRequest +} from "@azure/core-rest-pipeline"; import * as coreAuth from "@azure/core-auth"; import { SolutionsImpl, @@ -56,7 +61,7 @@ export class OperationsManagementClient extends coreClient.ServiceClient { credential: credentials }; - const packageDetails = `azsdk-js-arm-operations/4.0.0-beta.3`; + const packageDetails = `azsdk-js-arm-operations/4.0.0-beta.4`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}` @@ -76,27 +81,34 @@ export class OperationsManagementClient extends coreClient.ServiceClient { }; super(optionsWithDefaults); + let bearerTokenAuthenticationPolicyFound: boolean = false; if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) { const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies(); - const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( + bearerTokenAuthenticationPolicyFound = pipelinePolicies.some( (pipelinePolicy) => pipelinePolicy.name === coreRestPipeline.bearerTokenAuthenticationPolicyName ); - if (!bearerTokenAuthenticationPolicyFound) { - this.pipeline.removePolicy({ - name: coreRestPipeline.bearerTokenAuthenticationPolicyName - }); - this.pipeline.addPolicy( - coreRestPipeline.bearerTokenAuthenticationPolicy({ - scopes: `${optionsWithDefaults.baseUri}/.default`, - challengeCallbacks: { - authorizeRequestOnChallenge: - coreClient.authorizeRequestOnClaimChallenge - } - }) - ); - } + } + if ( + !options || + !options.pipeline || + options.pipeline.getOrderedPolicies().length == 0 || + !bearerTokenAuthenticationPolicyFound + ) { + this.pipeline.removePolicy({ + name: coreRestPipeline.bearerTokenAuthenticationPolicyName + }); + this.pipeline.addPolicy( + coreRestPipeline.bearerTokenAuthenticationPolicy({ + credential: credentials, + scopes: `${optionsWithDefaults.credentialScopes}`, + challengeCallbacks: { + authorizeRequestOnChallenge: + coreClient.authorizeRequestOnClaimChallenge + } + }) + ); } // Parameter assignments this.subscriptionId = subscriptionId; @@ -108,6 +120,35 @@ export class OperationsManagementClient extends coreClient.ServiceClient { this.managementAssociations = new ManagementAssociationsImpl(this); this.managementConfigurations = new ManagementConfigurationsImpl(this); this.operations = new OperationsImpl(this); + this.addCustomApiVersionPolicy(options.apiVersion); + } + + /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */ + private addCustomApiVersionPolicy(apiVersion?: string) { + if (!apiVersion) { + return; + } + const apiVersionPolicy = { + name: "CustomApiVersionPolicy", + async sendRequest( + request: PipelineRequest, + next: SendRequest + ): Promise { + const param = request.url.split("?"); + if (param.length > 1) { + const newParams = param[1].split("&").map((item) => { + if (item.indexOf("api-version") > -1) { + return "api-version=" + apiVersion; + } else { + return item; + } + }); + request.url = param[0] + "?" + newParams.join("&"); + } + return next(request); + } + }; + this.pipeline.addPolicy(apiVersionPolicy); } solutions: Solutions; diff --git a/sdk/operationsmanagement/arm-operations/test/sampleTest.ts b/sdk/operationsmanagement/arm-operations/test/sampleTest.ts index 7ed89b043e1b..25aeb3ebcc36 100644 --- a/sdk/operationsmanagement/arm-operations/test/sampleTest.ts +++ b/sdk/operationsmanagement/arm-operations/test/sampleTest.ts @@ -7,35 +7,30 @@ */ import { - env, - record, - RecorderEnvironmentSetup, - Recorder + Recorder, + RecorderStartOptions, + env } from "@azure-tools/test-recorder"; -import * as assert from "assert"; +import { assert } from "chai"; +import { Context } from "mocha"; -const recorderEnvSetup: RecorderEnvironmentSetup = { - replaceableVariables: { - AZURE_CLIENT_ID: "azure_client_id", - AZURE_CLIENT_SECRET: "azure_client_secret", - AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", - SUBSCRIPTION_ID: "azure_subscription_id" - }, - customizationsOnRecordings: [ - (recording: any): any => - recording.replace( - /"access_token":"[^"]*"/g, - `"access_token":"access_token"` - ) - ], - queryParametersToSkip: [] +const replaceableVariables: Record = { + AZURE_CLIENT_ID: "azure_client_id", + AZURE_CLIENT_SECRET: "azure_client_secret", + AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888", + SUBSCRIPTION_ID: "azure_subscription_id" +}; + +const recorderOptions: RecorderStartOptions = { + envSetupForPlayback: replaceableVariables }; describe("My test", () => { let recorder: Recorder; - beforeEach(async function() { - recorder = record(this, recorderEnvSetup); + beforeEach(async function(this: Context) { + recorder = new Recorder(this.currentTest); + await recorder.start(recorderOptions); }); afterEach(async function() {