Skip to content

Commit b3740d8

Browse files
author
SDKAuto
committed
CodeGen from PR 18960 in Azure/azure-rest-api-specs
Merge bde5d9a009b242f98312cd9b3ba393a187c1d49e into a416080c85111fbe4e0a483a1b99f1126ca6e97c
1 parent 8bbe5d5 commit b3740d8

File tree

6 files changed

+147
-42
lines changed

6 files changed

+147
-42
lines changed

common/config/rush/pnpm-lock.yaml

Lines changed: 29 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sdk/storage/arm-storage/_meta.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
2-
"commit": "3c1da29166fe1306071c939ac1344b092bafd0ce",
2+
"commit": "a84a8a93ec5277c42a48cde1bfb8c06b834fde3c",
33
"readme": "specification/storage/resource-manager/readme.md",
4-
"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\\storage\\resource-manager\\readme.md --use=@autorest/[email protected].18.20220329.1 --generate-sample=true",
4+
"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=/mnt/vss/_work/1/s/azure-sdk-for-js ../azure-rest-api-specs/specification/storage/resource-manager/readme.md --use=@autorest/[email protected].19.20220425.1",
55
"repository_url": "https://github.com/Azure/azure-rest-api-specs.git",
6-
"release_tool": "@azure-tools/js-sdk-release-tools@2.2.1",
7-
"use": "@autorest/[email protected].18.20220329.1"
6+
"release_tool": "@azure-tools/js-sdk-release-tools@2.3.0",
7+
"use": "@autorest/[email protected].19.20220425.1"
88
}

sdk/storage/arm-storage/package.json

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
"sdk-type": "mgmt",
44
"author": "Microsoft Corporation",
55
"description": "A generated SDK for StorageManagementClient.",
6-
"version": "17.2.1",
6+
"version": "17.2.2",
77
"engines": {
88
"node": ">=12.0.0"
99
},
1010
"dependencies": {
1111
"@azure/core-lro": "^2.2.0",
1212
"@azure/abort-controller": "^1.0.0",
1313
"@azure/core-paging": "^1.2.0",
14-
"@azure/core-client": "^1.0.0",
14+
"@azure/core-client": "^1.5.0",
1515
"@azure/core-auth": "^1.3.0",
16-
"@azure/core-rest-pipeline": "^1.1.0",
16+
"@azure/core-rest-pipeline": "^1.8.0",
1717
"tslib": "^2.2.0"
1818
},
1919
"keywords": [
@@ -40,9 +40,11 @@
4040
"uglify-js": "^3.4.9",
4141
"rimraf": "^3.0.0",
4242
"@azure/identity": "^2.0.1",
43-
"@azure-tools/test-recorder": "^1.0.0",
43+
"@azure-tools/test-recorder": "^2.0.0",
44+
"@azure-tools/test-credential": "^1.0.0",
4445
"mocha": "^7.1.1",
45-
"cross-env": "^7.0.2"
46+
"cross-env": "^7.0.2",
47+
"@azure/dev-tool": "^1.0.0"
4648
},
4749
"homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/storage/arm-storage",
4850
"repository": {
@@ -93,7 +95,7 @@
9395
"unit-test:node": "cross-env TEST_MODE=playback npm run integration-test:node",
9496
"unit-test:browser": "echo skipped",
9597
"integration-test": "npm run integration-test:node && npm run integration-test:browser",
96-
"integration-test:node": "mocha -r esm --require ts-node/register --timeout 1200000 --full-trace test/*.ts --reporter ../../../common/tools/mocha-multi-reporter.js",
98+
"integration-test:node": "dev-tool run test:node-ts-input -- --timeout 1200000 'test/*.ts'",
9799
"integration-test:browser": "echo skipped",
98100
"docs": "echo skipped"
99101
},
@@ -106,13 +108,5 @@
106108
}
107109
]
108110
},
109-
"autoPublish": true,
110-
"//sampleConfiguration": {
111-
"productName": "",
112-
"productSlugs": [
113-
"azure"
114-
],
115-
"disableDocsMs": true,
116-
"apiRefLink": "https://docs.microsoft.com/javascript/api/@azure/arm-storage?view=azure-node-preview"
117-
}
118-
}
111+
"autoPublish": true
112+
}

sdk/storage/arm-storage/src/storageManagementClient.ts

Lines changed: 59 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@
77
*/
88

99
import * as coreClient from "@azure/core-client";
10+
import * as coreRestPipeline from "@azure/core-rest-pipeline";
11+
import {
12+
PipelineRequest,
13+
PipelineResponse,
14+
SendRequest
15+
} from "@azure/core-rest-pipeline";
1016
import * as coreAuth from "@azure/core-auth";
1117
import {
1218
OperationsImpl,
@@ -86,7 +92,7 @@ export class StorageManagementClient extends coreClient.ServiceClient {
8692
credential: credentials
8793
};
8894

89-
const packageDetails = `azsdk-js-arm-storage/17.2.1`;
95+
const packageDetails = `azsdk-js-arm-storage/17.2.2`;
9096
const userAgentPrefix =
9197
options.userAgentOptions && options.userAgentOptions.userAgentPrefix
9298
? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
@@ -105,6 +111,29 @@ export class StorageManagementClient extends coreClient.ServiceClient {
105111
options.endpoint ?? options.baseUri ?? "https://management.azure.com"
106112
};
107113
super(optionsWithDefaults);
114+
115+
if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {
116+
const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();
117+
const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(
118+
(pipelinePolicy) =>
119+
pipelinePolicy.name ===
120+
coreRestPipeline.bearerTokenAuthenticationPolicyName
121+
);
122+
if (!bearerTokenAuthenticationPolicyFound) {
123+
this.pipeline.removePolicy({
124+
name: coreRestPipeline.bearerTokenAuthenticationPolicyName
125+
});
126+
this.pipeline.addPolicy(
127+
coreRestPipeline.bearerTokenAuthenticationPolicy({
128+
scopes: `${optionsWithDefaults.baseUri}/.default`,
129+
challengeCallbacks: {
130+
authorizeRequestOnChallenge:
131+
coreClient.authorizeRequestOnClaimChallenge
132+
}
133+
})
134+
);
135+
}
136+
}
108137
// Parameter assignments
109138
this.subscriptionId = subscriptionId;
110139

@@ -133,6 +162,35 @@ export class StorageManagementClient extends coreClient.ServiceClient {
133162
this.queue = new QueueImpl(this);
134163
this.tableServices = new TableServicesImpl(this);
135164
this.tableOperations = new TableOperationsImpl(this);
165+
this.addCustomApiVersionPolicy(options.apiVersion);
166+
}
167+
168+
/** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */
169+
private addCustomApiVersionPolicy(apiVersion?: string) {
170+
if (!apiVersion) {
171+
return;
172+
}
173+
const apiVersionPolicy = {
174+
name: "CustomApiVersionPolicy",
175+
async sendRequest(
176+
request: PipelineRequest,
177+
next: SendRequest
178+
): Promise<PipelineResponse> {
179+
const param = request.url.split("?");
180+
if (param.length > 1) {
181+
const newParams = param[1].split("&").map((item) => {
182+
if (item.indexOf("api-version") > -1) {
183+
return item.replace(/(?<==).*$/, apiVersion);
184+
} else {
185+
return item;
186+
}
187+
});
188+
request.url = param[0] + "?" + newParams.join("&");
189+
}
190+
return next(request);
191+
}
192+
};
193+
this.pipeline.addPolicy(apiVersionPolicy);
136194
}
137195

138196
operations: Operations;
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
* Copyright (c) Microsoft Corporation.
3+
* Licensed under the MIT License.
4+
*
5+
* Code generated by Microsoft (R) AutoRest Code Generator.
6+
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
7+
*/
8+
9+
import {
10+
Recorder,
11+
RecorderStartOptions,
12+
env
13+
} from "@azure-tools/test-recorder";
14+
import { assert } from "chai";
15+
import { Context } from "mocha";
16+
17+
const replaceableVariables: Record<string, string> = {
18+
AZURE_CLIENT_ID: "azure_client_id",
19+
AZURE_CLIENT_SECRET: "azure_client_secret",
20+
AZURE_TENANT_ID: "88888888-8888-8888-8888-888888888888",
21+
SUBSCRIPTION_ID: "azure_subscription_id"
22+
};
23+
24+
const recorderOptions: RecorderStartOptions = {
25+
envSetupForPlayback: replaceableVariables
26+
};
27+
28+
describe("My test", () => {
29+
let recorder: Recorder;
30+
31+
beforeEach(async function(this: Context) {
32+
recorder = new Recorder(this.currentTest);
33+
await recorder.start(recorderOptions);
34+
});
35+
36+
afterEach(async function() {
37+
await recorder.stop();
38+
});
39+
40+
it("sample test", async function() {
41+
console.log("Hi, I'm a test!");
42+
});
43+
});

sdk/storage/arm-storage/tsconfig.json

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,11 @@
1515
],
1616
"declaration": true,
1717
"outDir": "./dist-esm",
18-
"importHelpers": true,
19-
"paths": {
20-
"@azure/arm-storage": [
21-
"./src/index"
22-
]
23-
}
18+
"importHelpers": true
2419
},
2520
"include": [
2621
"./src/**/*.ts",
27-
"./test/**/*.ts",
28-
"samples-dev/**/*.ts"
22+
"./test/**/*.ts"
2923
],
3024
"exclude": [
3125
"node_modules"

0 commit comments

Comments
 (0)