@azure-rest/load-testing 1.0.1 → 1.1.0-alpha.20250324.1
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/LICENSE +4 -4
- package/README.md +91 -107
- package/dist/browser/azureLoadTesting.d.ts +10 -4
- package/dist/browser/azureLoadTesting.d.ts.map +1 -1
- package/dist/browser/azureLoadTesting.js +28 -11
- package/dist/browser/azureLoadTesting.js.map +1 -1
- package/dist/browser/clientDefinitions.d.ts +164 -84
- package/dist/browser/clientDefinitions.d.ts.map +1 -1
- package/dist/browser/clientDefinitions.js.map +1 -1
- package/dist/browser/getFileValidationPoller.d.ts +2 -2
- package/dist/browser/getFileValidationPoller.d.ts.map +1 -1
- package/dist/browser/getFileValidationPoller.js.map +1 -1
- package/dist/browser/getTestProfileRunCompletionPoller.d.ts +11 -0
- package/dist/browser/getTestProfileRunCompletionPoller.d.ts.map +1 -0
- package/dist/browser/getTestProfileRunCompletionPoller.js +127 -0
- package/dist/browser/getTestProfileRunCompletionPoller.js.map +1 -0
- package/dist/browser/getTestRunCompletionPoller.d.ts +2 -2
- package/dist/browser/getTestRunCompletionPoller.d.ts.map +1 -1
- package/dist/browser/getTestRunCompletionPoller.js.map +1 -1
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/isUnexpected.d.ts +44 -27
- package/dist/browser/isUnexpected.d.ts.map +1 -1
- package/dist/browser/isUnexpected.js +52 -32
- package/dist/browser/isUnexpected.js.map +1 -1
- package/dist/browser/logger.d.ts +2 -0
- package/dist/browser/logger.d.ts.map +1 -0
- package/dist/browser/logger.js +5 -0
- package/dist/browser/logger.js.map +1 -0
- package/dist/browser/models.d.ts +545 -220
- package/dist/browser/models.d.ts.map +1 -1
- package/dist/browser/models.js.map +1 -1
- package/dist/browser/outputModels.d.ts +844 -207
- package/dist/browser/outputModels.d.ts.map +1 -1
- package/dist/browser/outputModels.js.map +1 -1
- package/dist/browser/paginateHelper.d.ts +27 -2
- package/dist/browser/paginateHelper.d.ts.map +1 -1
- package/dist/browser/paginateHelper.js +98 -1
- package/dist/browser/paginateHelper.js.map +1 -1
- package/dist/browser/parameters.d.ts +327 -123
- package/dist/browser/parameters.d.ts.map +1 -1
- package/dist/browser/parameters.js.map +1 -1
- package/dist/browser/pollingHelper.d.ts +2 -1
- package/dist/browser/pollingHelper.d.ts.map +1 -1
- package/dist/browser/pollingHelper.js +7 -0
- package/dist/browser/pollingHelper.js.map +1 -1
- package/dist/browser/responses.d.ts +464 -239
- package/dist/browser/responses.d.ts.map +1 -1
- package/dist/browser/responses.js.map +1 -1
- package/dist/browser/util/LROUtil.d.ts +2 -1
- package/dist/browser/util/LROUtil.d.ts.map +1 -1
- package/dist/browser/util/LROUtil.js +13 -0
- package/dist/browser/util/LROUtil.js.map +1 -1
- package/dist/commonjs/azureLoadTesting.d.ts +10 -4
- package/dist/commonjs/azureLoadTesting.d.ts.map +1 -1
- package/dist/commonjs/azureLoadTesting.js +28 -11
- package/dist/commonjs/azureLoadTesting.js.map +1 -1
- package/dist/commonjs/clientDefinitions.d.ts +164 -84
- package/dist/commonjs/clientDefinitions.d.ts.map +1 -1
- package/dist/commonjs/clientDefinitions.js.map +1 -1
- package/dist/commonjs/getFileValidationPoller.d.ts +2 -2
- package/dist/commonjs/getFileValidationPoller.d.ts.map +1 -1
- package/dist/commonjs/getFileValidationPoller.js.map +1 -1
- package/dist/commonjs/getTestProfileRunCompletionPoller.d.ts +11 -0
- package/dist/commonjs/getTestProfileRunCompletionPoller.d.ts.map +1 -0
- package/dist/commonjs/getTestProfileRunCompletionPoller.js +130 -0
- package/dist/commonjs/getTestProfileRunCompletionPoller.js.map +1 -0
- package/dist/commonjs/getTestRunCompletionPoller.d.ts +2 -2
- package/dist/commonjs/getTestRunCompletionPoller.d.ts.map +1 -1
- package/dist/commonjs/getTestRunCompletionPoller.js.map +1 -1
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/isUnexpected.d.ts +44 -27
- package/dist/commonjs/isUnexpected.d.ts.map +1 -1
- package/dist/commonjs/isUnexpected.js +52 -32
- package/dist/commonjs/isUnexpected.js.map +1 -1
- package/dist/commonjs/logger.d.ts +2 -0
- package/dist/commonjs/logger.d.ts.map +1 -0
- package/dist/commonjs/logger.js +8 -0
- package/dist/commonjs/logger.js.map +1 -0
- package/dist/commonjs/models.d.ts +545 -220
- package/dist/commonjs/models.d.ts.map +1 -1
- package/dist/commonjs/models.js.map +1 -1
- package/dist/commonjs/outputModels.d.ts +844 -207
- package/dist/commonjs/outputModels.d.ts.map +1 -1
- package/dist/commonjs/outputModels.js.map +1 -1
- package/dist/commonjs/paginateHelper.d.ts +27 -2
- package/dist/commonjs/paginateHelper.d.ts.map +1 -1
- package/dist/commonjs/paginateHelper.js +99 -2
- package/dist/commonjs/paginateHelper.js.map +1 -1
- package/dist/commonjs/parameters.d.ts +327 -123
- package/dist/commonjs/parameters.d.ts.map +1 -1
- package/dist/commonjs/parameters.js.map +1 -1
- package/dist/commonjs/pollingHelper.d.ts +2 -1
- package/dist/commonjs/pollingHelper.d.ts.map +1 -1
- package/dist/commonjs/pollingHelper.js +7 -0
- package/dist/commonjs/pollingHelper.js.map +1 -1
- package/dist/commonjs/responses.d.ts +464 -239
- package/dist/commonjs/responses.d.ts.map +1 -1
- package/dist/commonjs/responses.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/util/LROUtil.d.ts +2 -1
- package/dist/commonjs/util/LROUtil.d.ts.map +1 -1
- package/dist/commonjs/util/LROUtil.js +14 -0
- package/dist/commonjs/util/LROUtil.js.map +1 -1
- package/dist/esm/azureLoadTesting.d.ts +10 -4
- package/dist/esm/azureLoadTesting.d.ts.map +1 -1
- package/dist/esm/azureLoadTesting.js +28 -11
- package/dist/esm/azureLoadTesting.js.map +1 -1
- package/dist/esm/clientDefinitions.d.ts +164 -84
- package/dist/esm/clientDefinitions.d.ts.map +1 -1
- package/dist/esm/clientDefinitions.js.map +1 -1
- package/dist/esm/getFileValidationPoller.d.ts +2 -2
- package/dist/esm/getFileValidationPoller.d.ts.map +1 -1
- package/dist/esm/getFileValidationPoller.js.map +1 -1
- package/dist/esm/getTestProfileRunCompletionPoller.d.ts +11 -0
- package/dist/esm/getTestProfileRunCompletionPoller.d.ts.map +1 -0
- package/dist/esm/getTestProfileRunCompletionPoller.js +127 -0
- package/dist/esm/getTestProfileRunCompletionPoller.js.map +1 -0
- package/dist/esm/getTestRunCompletionPoller.d.ts +2 -2
- package/dist/esm/getTestRunCompletionPoller.d.ts.map +1 -1
- package/dist/esm/getTestRunCompletionPoller.js.map +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/isUnexpected.d.ts +44 -27
- package/dist/esm/isUnexpected.d.ts.map +1 -1
- package/dist/esm/isUnexpected.js +52 -32
- package/dist/esm/isUnexpected.js.map +1 -1
- package/dist/esm/logger.d.ts +2 -0
- package/dist/esm/logger.d.ts.map +1 -0
- package/dist/esm/logger.js +5 -0
- package/dist/esm/logger.js.map +1 -0
- package/dist/esm/models.d.ts +545 -220
- package/dist/esm/models.d.ts.map +1 -1
- package/dist/esm/models.js.map +1 -1
- package/dist/esm/outputModels.d.ts +844 -207
- package/dist/esm/outputModels.d.ts.map +1 -1
- package/dist/esm/outputModels.js.map +1 -1
- package/dist/esm/paginateHelper.d.ts +27 -2
- package/dist/esm/paginateHelper.d.ts.map +1 -1
- package/dist/esm/paginateHelper.js +98 -1
- package/dist/esm/paginateHelper.js.map +1 -1
- package/dist/esm/parameters.d.ts +327 -123
- package/dist/esm/parameters.d.ts.map +1 -1
- package/dist/esm/parameters.js.map +1 -1
- package/dist/esm/pollingHelper.d.ts +2 -1
- package/dist/esm/pollingHelper.d.ts.map +1 -1
- package/dist/esm/pollingHelper.js +7 -0
- package/dist/esm/pollingHelper.js.map +1 -1
- package/dist/esm/responses.d.ts +464 -239
- package/dist/esm/responses.d.ts.map +1 -1
- package/dist/esm/responses.js.map +1 -1
- package/dist/esm/util/LROUtil.d.ts +2 -1
- package/dist/esm/util/LROUtil.d.ts.map +1 -1
- package/dist/esm/util/LROUtil.js +13 -0
- package/dist/esm/util/LROUtil.js.map +1 -1
- package/dist/react-native/azureLoadTesting.d.ts +10 -4
- package/dist/react-native/azureLoadTesting.d.ts.map +1 -1
- package/dist/react-native/azureLoadTesting.js +28 -11
- package/dist/react-native/azureLoadTesting.js.map +1 -1
- package/dist/react-native/clientDefinitions.d.ts +164 -84
- package/dist/react-native/clientDefinitions.d.ts.map +1 -1
- package/dist/react-native/clientDefinitions.js.map +1 -1
- package/dist/react-native/getFileValidationPoller.d.ts +2 -2
- package/dist/react-native/getFileValidationPoller.d.ts.map +1 -1
- package/dist/react-native/getFileValidationPoller.js.map +1 -1
- package/dist/react-native/getTestProfileRunCompletionPoller.d.ts +11 -0
- package/dist/react-native/getTestProfileRunCompletionPoller.d.ts.map +1 -0
- package/dist/react-native/getTestProfileRunCompletionPoller.js +127 -0
- package/dist/react-native/getTestProfileRunCompletionPoller.js.map +1 -0
- package/dist/react-native/getTestRunCompletionPoller.d.ts +2 -2
- package/dist/react-native/getTestRunCompletionPoller.d.ts.map +1 -1
- package/dist/react-native/getTestRunCompletionPoller.js.map +1 -1
- package/dist/react-native/index.d.ts.map +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/isUnexpected.d.ts +44 -27
- package/dist/react-native/isUnexpected.d.ts.map +1 -1
- package/dist/react-native/isUnexpected.js +52 -32
- package/dist/react-native/isUnexpected.js.map +1 -1
- package/dist/react-native/logger.d.ts +2 -0
- package/dist/react-native/logger.d.ts.map +1 -0
- package/dist/react-native/logger.js +5 -0
- package/dist/react-native/logger.js.map +1 -0
- package/dist/react-native/models.d.ts +545 -220
- package/dist/react-native/models.d.ts.map +1 -1
- package/dist/react-native/models.js.map +1 -1
- package/dist/react-native/outputModels.d.ts +844 -207
- package/dist/react-native/outputModels.d.ts.map +1 -1
- package/dist/react-native/outputModels.js.map +1 -1
- package/dist/react-native/paginateHelper.d.ts +27 -2
- package/dist/react-native/paginateHelper.d.ts.map +1 -1
- package/dist/react-native/paginateHelper.js +98 -1
- package/dist/react-native/paginateHelper.js.map +1 -1
- package/dist/react-native/parameters.d.ts +327 -123
- package/dist/react-native/parameters.d.ts.map +1 -1
- package/dist/react-native/parameters.js.map +1 -1
- package/dist/react-native/pollingHelper.d.ts +2 -1
- package/dist/react-native/pollingHelper.d.ts.map +1 -1
- package/dist/react-native/pollingHelper.js +7 -0
- package/dist/react-native/pollingHelper.js.map +1 -1
- package/dist/react-native/responses.d.ts +464 -239
- package/dist/react-native/responses.d.ts.map +1 -1
- package/dist/react-native/responses.js.map +1 -1
- package/dist/react-native/util/LROUtil.d.ts +2 -1
- package/dist/react-native/util/LROUtil.d.ts.map +1 -1
- package/dist/react-native/util/LROUtil.js +13 -0
- package/dist/react-native/util/LROUtil.js.map +1 -1
- package/package.json +23 -21
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
import { AbortError } from "@azure/abort-controller";
|
|
4
|
+
import { isUnexpected } from "./isUnexpected.js";
|
|
5
|
+
import { sleep, isTestProfileRunInProgress } from "./util/LROUtil.js";
|
|
6
|
+
/**
|
|
7
|
+
* Creates a poller to poll for test run status.
|
|
8
|
+
* @param client - The Load Testing client.
|
|
9
|
+
* @param options - The operation options.
|
|
10
|
+
* @returns A poller which can be called to poll until completion of the job.
|
|
11
|
+
*/
|
|
12
|
+
export async function getTestProfileRunCompletionPoller(client, createTestProfileRunResponse, polledOperationOptions = {}) {
|
|
13
|
+
var _a;
|
|
14
|
+
const state = {
|
|
15
|
+
status: "notStarted",
|
|
16
|
+
};
|
|
17
|
+
const progressCallbacks = new Map();
|
|
18
|
+
const processProgressCallbacks = async () => progressCallbacks.forEach((h) => h(state));
|
|
19
|
+
let resultPromise;
|
|
20
|
+
let cancelJob;
|
|
21
|
+
const abortController = new AbortController();
|
|
22
|
+
const currentPollIntervalInMs = (_a = polledOperationOptions.updateIntervalInMs) !== null && _a !== void 0 ? _a : 10000;
|
|
23
|
+
const testProfileRunId = createTestProfileRunResponse.body.testProfileRunId;
|
|
24
|
+
const poller = {
|
|
25
|
+
async poll(options) {
|
|
26
|
+
var _a;
|
|
27
|
+
if ((_a = options === null || options === void 0 ? void 0 : options.abortSignal) === null || _a === void 0 ? void 0 : _a.aborted) {
|
|
28
|
+
throw new AbortError("The polling was aborted.");
|
|
29
|
+
}
|
|
30
|
+
if (testProfileRunId) {
|
|
31
|
+
const getTestProfileRunResult = await client
|
|
32
|
+
.path("/test-profile-runs/{testProfileRunId}", testProfileRunId)
|
|
33
|
+
.get();
|
|
34
|
+
if (isUnexpected(getTestProfileRunResult)) {
|
|
35
|
+
state.status = "failed";
|
|
36
|
+
state.error = new Error(getTestProfileRunResult.body.error.message);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
if (getTestProfileRunResult.body.status === "FAILED") {
|
|
40
|
+
state.status = "failed";
|
|
41
|
+
state.error = new Error(getTestProfileRunResult.body.status);
|
|
42
|
+
}
|
|
43
|
+
if (getTestProfileRunResult.body.status === "CANCELLED") {
|
|
44
|
+
state.status = "canceled";
|
|
45
|
+
}
|
|
46
|
+
if (getTestProfileRunResult.body.status === "DONE") {
|
|
47
|
+
state.status = "succeeded";
|
|
48
|
+
}
|
|
49
|
+
if (isTestProfileRunInProgress(getTestProfileRunResult.body)) {
|
|
50
|
+
state.status = "running";
|
|
51
|
+
}
|
|
52
|
+
state.result = getTestProfileRunResult;
|
|
53
|
+
await processProgressCallbacks();
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
pollUntilDone(pollOptions) {
|
|
57
|
+
return (resultPromise !== null && resultPromise !== void 0 ? resultPromise : (resultPromise = (async () => {
|
|
58
|
+
const { abortSignal: inputAbortSignal } = pollOptions || {};
|
|
59
|
+
// In the future we can use AbortSignal.any() instead
|
|
60
|
+
function abortListener() {
|
|
61
|
+
abortController.abort();
|
|
62
|
+
}
|
|
63
|
+
const abortSignal = abortController.signal;
|
|
64
|
+
if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
|
|
65
|
+
abortController.abort();
|
|
66
|
+
}
|
|
67
|
+
else if (!abortSignal.aborted) {
|
|
68
|
+
inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.addEventListener("abort", abortListener, { once: true });
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
if (!poller.isDone()) {
|
|
72
|
+
await poller.poll({ abortSignal });
|
|
73
|
+
while (!poller.isDone()) {
|
|
74
|
+
const delay = sleep(currentPollIntervalInMs, abortSignal);
|
|
75
|
+
cancelJob = () => abortController.abort();
|
|
76
|
+
await delay;
|
|
77
|
+
await poller.poll({ abortSignal });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.removeEventListener("abort", abortListener);
|
|
83
|
+
}
|
|
84
|
+
switch (state.status) {
|
|
85
|
+
case "succeeded":
|
|
86
|
+
case "failed":
|
|
87
|
+
case "canceled": {
|
|
88
|
+
return poller.getResult();
|
|
89
|
+
}
|
|
90
|
+
case "notStarted":
|
|
91
|
+
case "running": {
|
|
92
|
+
// Unreachable
|
|
93
|
+
throw new Error(`polling completed without succeeding or failing`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
})().finally(() => {
|
|
97
|
+
resultPromise = undefined;
|
|
98
|
+
})));
|
|
99
|
+
},
|
|
100
|
+
onProgress(callback) {
|
|
101
|
+
const s = Symbol();
|
|
102
|
+
progressCallbacks.set(s, callback);
|
|
103
|
+
return () => progressCallbacks.delete(s);
|
|
104
|
+
},
|
|
105
|
+
isDone() {
|
|
106
|
+
return ["succeeded", "failed", "canceled"].includes(state.status);
|
|
107
|
+
},
|
|
108
|
+
stopPolling() {
|
|
109
|
+
abortController.abort();
|
|
110
|
+
cancelJob === null || cancelJob === void 0 ? void 0 : cancelJob();
|
|
111
|
+
},
|
|
112
|
+
isStopped() {
|
|
113
|
+
return resultPromise === undefined;
|
|
114
|
+
},
|
|
115
|
+
getOperationState() {
|
|
116
|
+
return state;
|
|
117
|
+
},
|
|
118
|
+
getResult() {
|
|
119
|
+
return state.result;
|
|
120
|
+
},
|
|
121
|
+
toString() {
|
|
122
|
+
return JSON.stringify({ state });
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
return poller;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=getTestProfileRunCompletionPoller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTestProfileRunCompletionPoller.js","sourceRoot":"","sources":["../../src/getTestProfileRunCompletionPoller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { CancelOnProgress, OperationState, SimplePollerLike } from \"@azure/core-lro\";\nimport type { PolledOperationOptions, TestProfileRunCompletionPoller } from \"./models.js\";\nimport type { AzureLoadTestingClient } from \"./clientDefinitions.js\";\nimport type {\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response,\n TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response,\n TestProfileRunAdministrationGetTestProfileRun200Response,\n} from \"./responses.js\";\nimport { isUnexpected } from \"./isUnexpected.js\";\nimport { sleep, isTestProfileRunInProgress } from \"./util/LROUtil.js\";\n\n/**\n * Creates a poller to poll for test run status.\n * @param client - The Load Testing client.\n * @param options - The operation options.\n * @returns A poller which can be called to poll until completion of the job.\n */\nexport async function getTestProfileRunCompletionPoller(\n client: AzureLoadTestingClient,\n createTestProfileRunResponse:\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response\n | TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response,\n polledOperationOptions: PolledOperationOptions = {},\n): Promise<TestProfileRunCompletionPoller> {\n type Handler = (\n state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n ) => void;\n\n const state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response> = {\n status: \"notStarted\",\n };\n\n const progressCallbacks = new Map<symbol, Handler>();\n const processProgressCallbacks = async (): Promise<void> =>\n progressCallbacks.forEach((h) => h(state));\n let resultPromise: Promise<TestProfileRunAdministrationGetTestProfileRun200Response> | undefined;\n let cancelJob: (() => void) | undefined;\n const abortController = new AbortController();\n const currentPollIntervalInMs = polledOperationOptions.updateIntervalInMs ?? 10000;\n const testProfileRunId = createTestProfileRunResponse.body.testProfileRunId;\n\n const poller: SimplePollerLike<\n OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n TestProfileRunAdministrationGetTestProfileRun200Response\n > = {\n async poll(options?: { abortSignal?: AbortSignalLike }): Promise<void> {\n if (options?.abortSignal?.aborted) {\n throw new AbortError(\"The polling was aborted.\");\n }\n\n if (testProfileRunId) {\n const getTestProfileRunResult = await client\n .path(\"/test-profile-runs/{testProfileRunId}\", testProfileRunId)\n .get();\n if (isUnexpected(getTestProfileRunResult)) {\n state.status = \"failed\";\n state.error = new Error(getTestProfileRunResult.body.error.message);\n return;\n }\n\n if (getTestProfileRunResult.body.status === \"FAILED\") {\n state.status = \"failed\";\n state.error = new Error(getTestProfileRunResult.body.status);\n }\n\n if (getTestProfileRunResult.body.status === \"CANCELLED\") {\n state.status = \"canceled\";\n }\n\n if (getTestProfileRunResult.body.status === \"DONE\") {\n state.status = \"succeeded\";\n }\n\n if (isTestProfileRunInProgress(getTestProfileRunResult.body)) {\n state.status = \"running\";\n }\n state.result = getTestProfileRunResult;\n await processProgressCallbacks();\n }\n },\n\n pollUntilDone(pollOptions?: {\n abortSignal?: AbortSignalLike;\n }): Promise<TestProfileRunAdministrationGetTestProfileRun200Response> {\n return (resultPromise ??= (async () => {\n const { abortSignal: inputAbortSignal } = pollOptions || {};\n // In the future we can use AbortSignal.any() instead\n function abortListener(): void {\n abortController.abort();\n }\n const abortSignal = abortController.signal;\n if (inputAbortSignal?.aborted) {\n abortController.abort();\n } else if (!abortSignal.aborted) {\n inputAbortSignal?.addEventListener(\"abort\", abortListener, { once: true });\n }\n\n try {\n if (!poller.isDone()) {\n await poller.poll({ abortSignal });\n while (!poller.isDone()) {\n const delay = sleep(currentPollIntervalInMs, abortSignal);\n cancelJob = () => abortController.abort();\n await delay;\n await poller.poll({ abortSignal });\n }\n }\n } finally {\n inputAbortSignal?.removeEventListener(\"abort\", abortListener);\n }\n switch (state.status) {\n case \"succeeded\":\n case \"failed\":\n case \"canceled\": {\n return poller.getResult() as TestProfileRunAdministrationGetTestProfileRun200Response;\n }\n case \"notStarted\":\n case \"running\": {\n // Unreachable\n throw new Error(`polling completed without succeeding or failing`);\n }\n }\n })().finally(() => {\n resultPromise = undefined;\n }));\n },\n\n onProgress(\n callback: (\n state: OperationState<TestProfileRunAdministrationGetTestProfileRun200Response>,\n ) => void,\n ): CancelOnProgress {\n const s = Symbol();\n progressCallbacks.set(s, callback);\n\n return () => progressCallbacks.delete(s);\n },\n\n isDone(): boolean {\n return [\"succeeded\", \"failed\", \"canceled\"].includes(state.status);\n },\n\n stopPolling(): void {\n abortController.abort();\n cancelJob?.();\n },\n\n isStopped(): boolean {\n return resultPromise === undefined;\n },\n\n getOperationState(): OperationState<TestProfileRunAdministrationGetTestProfileRun200Response> {\n return state;\n },\n\n getResult(): TestProfileRunAdministrationGetTestProfileRun200Response | undefined {\n return state.result;\n },\n\n toString() {\n return JSON.stringify({ state });\n },\n };\n\n return poller;\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { TestRunCompletionPoller, PolledOperationOptions } from "./models.js";
|
|
2
2
|
import type { AzureLoadTestingClient } from "./clientDefinitions.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { LoadTestRunCreateOrUpdateTestRun200Response, LoadTestRunCreateOrUpdateTestRun201Response } from "./responses.js";
|
|
4
4
|
/**
|
|
5
5
|
* Creates a poller to poll for test run status.
|
|
6
6
|
* @param client - The Load Testing client.
|
|
7
7
|
* @param options - The operation options.
|
|
8
8
|
* @returns A poller which can be called to poll until completion of the job.
|
|
9
9
|
*/
|
|
10
|
-
export declare function getTestRunCompletionPoller(client: AzureLoadTestingClient, createTestRunResponse:
|
|
10
|
+
export declare function getTestRunCompletionPoller(client: AzureLoadTestingClient, createTestRunResponse: LoadTestRunCreateOrUpdateTestRun200Response | LoadTestRunCreateOrUpdateTestRun201Response, polledOperationOptions?: PolledOperationOptions): Promise<TestRunCompletionPoller>;
|
|
11
11
|
//# sourceMappingURL=getTestRunCompletionPoller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTestRunCompletionPoller.d.ts","sourceRoot":"","sources":["../../src/getTestRunCompletionPoller.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"getTestRunCompletionPoller.d.ts","sourceRoot":"","sources":["../../src/getTestRunCompletionPoller.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EACV,2CAA2C,EAC3C,2CAA2C,EAE5C,MAAM,gBAAgB,CAAC;AAIxB;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,sBAAsB,EAC9B,qBAAqB,EACjB,2CAA2C,GAC3C,2CAA2C,EAC/C,sBAAsB,GAAE,sBAA2B,GAClD,OAAO,CAAC,uBAAuB,CAAC,CAwIlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getTestRunCompletionPoller.js","sourceRoot":"","sources":["../../src/getTestRunCompletionPoller.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AASrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAA8B,EAC9B,
|
|
1
|
+
{"version":3,"file":"getTestRunCompletionPoller.js","sourceRoot":"","sources":["../../src/getTestRunCompletionPoller.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport { AbortError } from \"@azure/abort-controller\";\nimport type { CancelOnProgress, OperationState, SimplePollerLike } from \"@azure/core-lro\";\nimport type { TestRunCompletionPoller, PolledOperationOptions } from \"./models.js\";\nimport type { AzureLoadTestingClient } from \"./clientDefinitions.js\";\nimport type {\n LoadTestRunCreateOrUpdateTestRun200Response,\n LoadTestRunCreateOrUpdateTestRun201Response,\n LoadTestRunGetTestRun200Response,\n} from \"./responses.js\";\nimport { isUnexpected } from \"./isUnexpected.js\";\nimport { sleep, isTestRunInProgress } from \"./util/LROUtil.js\";\n\n/**\n * Creates a poller to poll for test run status.\n * @param client - The Load Testing client.\n * @param options - The operation options.\n * @returns A poller which can be called to poll until completion of the job.\n */\nexport async function getTestRunCompletionPoller(\n client: AzureLoadTestingClient,\n createTestRunResponse:\n | LoadTestRunCreateOrUpdateTestRun200Response\n | LoadTestRunCreateOrUpdateTestRun201Response,\n polledOperationOptions: PolledOperationOptions = {},\n): Promise<TestRunCompletionPoller> {\n type Handler = (state: OperationState<LoadTestRunGetTestRun200Response>) => void;\n\n const state: OperationState<LoadTestRunGetTestRun200Response> = {\n status: \"notStarted\",\n };\n\n const progressCallbacks = new Map<symbol, Handler>();\n const processProgressCallbacks = async (): Promise<void> =>\n progressCallbacks.forEach((h) => h(state));\n let resultPromise: Promise<LoadTestRunGetTestRun200Response> | undefined;\n let cancelJob: (() => void) | undefined;\n const abortController = new AbortController();\n const currentPollIntervalInMs = polledOperationOptions.updateIntervalInMs ?? 2000;\n const testRunId = createTestRunResponse.body.testRunId;\n\n const poller: SimplePollerLike<\n OperationState<LoadTestRunGetTestRun200Response>,\n LoadTestRunGetTestRun200Response\n > = {\n async poll(options?: { abortSignal?: AbortSignalLike }): Promise<void> {\n if (options?.abortSignal?.aborted) {\n throw new AbortError(\"The polling was aborted.\");\n }\n\n if (testRunId) {\n const getTestRunResult = await client.path(\"/test-runs/{testRunId}\", testRunId).get();\n if (isUnexpected(getTestRunResult)) {\n state.status = \"failed\";\n state.error = new Error(getTestRunResult.body.error.message);\n return;\n }\n\n if (getTestRunResult.body.status === \"FAILED\") {\n state.status = \"failed\";\n state.error = new Error(getTestRunResult.body.status);\n }\n\n if (getTestRunResult.body.status === \"CANCELLED\") {\n state.status = \"canceled\";\n }\n\n if (getTestRunResult.body.status === \"DONE\") {\n state.status = \"succeeded\";\n }\n\n if (isTestRunInProgress(getTestRunResult.body)) {\n state.status = \"running\";\n }\n state.result = getTestRunResult;\n await processProgressCallbacks();\n }\n },\n\n pollUntilDone(pollOptions?: {\n abortSignal?: AbortSignalLike;\n }): Promise<LoadTestRunGetTestRun200Response> {\n return (resultPromise ??= (async () => {\n const { abortSignal: inputAbortSignal } = pollOptions || {};\n // In the future we can use AbortSignal.any() instead\n function abortListener(): void {\n abortController.abort();\n }\n const abortSignal = abortController.signal;\n if (inputAbortSignal?.aborted) {\n abortController.abort();\n } else if (!abortSignal.aborted) {\n inputAbortSignal?.addEventListener(\"abort\", abortListener, { once: true });\n }\n\n try {\n if (!poller.isDone()) {\n await poller.poll({ abortSignal });\n while (!poller.isDone()) {\n const delay = sleep(currentPollIntervalInMs, abortSignal);\n cancelJob = () => abortController.abort();\n await delay;\n await poller.poll({ abortSignal });\n }\n }\n } finally {\n inputAbortSignal?.removeEventListener(\"abort\", abortListener);\n }\n switch (state.status) {\n case \"succeeded\":\n case \"failed\":\n case \"canceled\": {\n return poller.getResult() as LoadTestRunGetTestRun200Response;\n }\n case \"notStarted\":\n case \"running\": {\n // Unreachable\n throw new Error(`polling completed without succeeding or failing`);\n }\n }\n })().finally(() => {\n resultPromise = undefined;\n }));\n },\n\n onProgress(\n callback: (state: OperationState<LoadTestRunGetTestRun200Response>) => void,\n ): CancelOnProgress {\n const s = Symbol();\n progressCallbacks.set(s, callback);\n\n return () => progressCallbacks.delete(s);\n },\n\n isDone(): boolean {\n return [\"succeeded\", \"failed\", \"canceled\"].includes(state.status);\n },\n\n stopPolling(): void {\n abortController.abort();\n cancelJob?.();\n },\n\n isStopped(): boolean {\n return resultPromise === undefined;\n },\n\n getOperationState(): OperationState<LoadTestRunGetTestRun200Response> {\n return state;\n },\n\n getResult(): LoadTestRunGetTestRun200Response | undefined {\n return state.result;\n },\n\n toString() {\n return JSON.stringify({ state });\n },\n };\n\n return poller;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,kEAAkE;AAClE,eAAe,gBAAgB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport AzureLoadTesting from \"./azureLoadTesting.js\";\n\nexport * from \"./azureLoadTesting.js\";\nexport * from \"./parameters.js\";\nexport * from \"./responses.js\";\nexport * from \"./clientDefinitions.js\";\nexport * from \"./isUnexpected.js\";\nexport * from \"./models.js\";\nexport * from \"./outputModels.js\";\nexport * from \"./paginateHelper.js\";\nexport { getLongRunningPoller } from \"./pollingHelper.js\";\n\n// eslint-disable-next-line @azure/azure-sdk/ts-modules-only-named\nexport default AzureLoadTesting;\n"]}
|
|
@@ -1,28 +1,45 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function isUnexpected(response:
|
|
3
|
-
export declare function isUnexpected(response:
|
|
4
|
-
export declare function isUnexpected(response:
|
|
5
|
-
export declare function isUnexpected(response:
|
|
6
|
-
export declare function isUnexpected(response:
|
|
7
|
-
export declare function isUnexpected(response:
|
|
8
|
-
export declare function isUnexpected(response:
|
|
9
|
-
export declare function isUnexpected(response:
|
|
10
|
-
export declare function isUnexpected(response:
|
|
11
|
-
export declare function isUnexpected(response:
|
|
12
|
-
export declare function isUnexpected(response:
|
|
13
|
-
export declare function isUnexpected(response:
|
|
14
|
-
export declare function isUnexpected(response:
|
|
15
|
-
export declare function isUnexpected(response:
|
|
16
|
-
export declare function isUnexpected(response:
|
|
17
|
-
export declare function isUnexpected(response:
|
|
18
|
-
export declare function isUnexpected(response:
|
|
19
|
-
export declare function isUnexpected(response:
|
|
20
|
-
export declare function isUnexpected(response:
|
|
21
|
-
export declare function isUnexpected(response:
|
|
22
|
-
export declare function isUnexpected(response:
|
|
23
|
-
export declare function isUnexpected(response:
|
|
24
|
-
export declare function isUnexpected(response:
|
|
25
|
-
export declare function isUnexpected(response:
|
|
26
|
-
export declare function isUnexpected(response:
|
|
27
|
-
export declare function isUnexpected(response:
|
|
1
|
+
import type { LoadTestAdministrationCreateOrUpdateTest200Response, LoadTestAdministrationCreateOrUpdateTest201Response, LoadTestAdministrationCreateOrUpdateTestDefaultResponse, LoadTestAdministrationDeleteTest204Response, LoadTestAdministrationDeleteTestDefaultResponse, LoadTestAdministrationGetTest200Response, LoadTestAdministrationGetTestDefaultResponse, LoadTestAdministrationListTests200Response, LoadTestAdministrationListTestsDefaultResponse, LoadTestAdministrationUploadTestFile201Response, LoadTestAdministrationUploadTestFileDefaultResponse, LoadTestAdministrationGetTestFile200Response, LoadTestAdministrationGetTestFileDefaultResponse, LoadTestAdministrationDeleteTestFile204Response, LoadTestAdministrationDeleteTestFileDefaultResponse, LoadTestAdministrationListTestFiles200Response, LoadTestAdministrationListTestFilesDefaultResponse, LoadTestAdministrationCreateOrUpdateAppComponents200Response, LoadTestAdministrationCreateOrUpdateAppComponents201Response, LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse, LoadTestAdministrationGetAppComponents200Response, LoadTestAdministrationGetAppComponentsDefaultResponse, LoadTestAdministrationCreateOrUpdateServerMetricsConfig200Response, LoadTestAdministrationCreateOrUpdateServerMetricsConfig201Response, LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse, LoadTestAdministrationGetServerMetricsConfig200Response, LoadTestAdministrationGetServerMetricsConfigDefaultResponse, TestProfileAdministrationCreateOrUpdateTestProfile200Response, TestProfileAdministrationCreateOrUpdateTestProfile201Response, TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse, TestProfileAdministrationDeleteTestProfile204Response, TestProfileAdministrationDeleteTestProfileDefaultResponse, TestProfileAdministrationGetTestProfile200Response, TestProfileAdministrationGetTestProfileDefaultResponse, TestProfileAdministrationListTestProfiles200Response, TestProfileAdministrationListTestProfilesDefaultResponse, LoadTestRunGetTestRun200Response, LoadTestRunGetTestRunDefaultResponse, LoadTestRunCreateOrUpdateTestRun200Response, LoadTestRunCreateOrUpdateTestRun201Response, LoadTestRunCreateOrUpdateTestRunDefaultResponse, LoadTestRunDeleteTestRun204Response, LoadTestRunDeleteTestRunDefaultResponse, LoadTestRunListTestRuns200Response, LoadTestRunListTestRunsDefaultResponse, LoadTestRunGetTestRunFile200Response, LoadTestRunGetTestRunFileDefaultResponse, LoadTestRunStop200Response, LoadTestRunStopDefaultResponse, LoadTestRunListMetricNamespaces200Response, LoadTestRunListMetricNamespacesDefaultResponse, LoadTestRunListMetricDefinitions200Response, LoadTestRunListMetricDefinitionsDefaultResponse, LoadTestRunListMetrics200Response, LoadTestRunListMetricsDefaultResponse, LoadTestRunListMetricDimensionValues200Response, LoadTestRunListMetricDimensionValuesDefaultResponse, LoadTestRunCreateOrUpdateAppComponents200Response, LoadTestRunCreateOrUpdateAppComponents201Response, LoadTestRunCreateOrUpdateAppComponentsDefaultResponse, LoadTestRunGetAppComponents200Response, LoadTestRunGetAppComponentsDefaultResponse, LoadTestRunCreateOrUpdateServerMetricsConfig200Response, LoadTestRunCreateOrUpdateServerMetricsConfig201Response, LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse, LoadTestRunGetServerMetricsConfig200Response, LoadTestRunGetServerMetricsConfigDefaultResponse, TestProfileRunAdministrationGetTestProfileRun200Response, TestProfileRunAdministrationGetTestProfileRunDefaultResponse, TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response, TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response, TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse, TestProfileRunAdministrationDeleteTestProfileRun204Response, TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse, TestProfileRunAdministrationStop200Response, TestProfileRunAdministrationStopDefaultResponse, TestProfileRunAdministrationListTestProfileRuns200Response, TestProfileRunAdministrationListTestProfileRunsDefaultResponse, TriggerAdministrationGetTrigger200Response, TriggerAdministrationGetTriggerDefaultResponse, TriggerAdministrationCreateOrUpdateTrigger200Response, TriggerAdministrationCreateOrUpdateTrigger201Response, TriggerAdministrationCreateOrUpdateTriggerDefaultResponse, TriggerAdministrationDeleteTrigger204Response, TriggerAdministrationDeleteTriggerDefaultResponse, TriggerAdministrationListTrigger200Response, TriggerAdministrationListTriggerDefaultResponse, NotificationRuleAdministrationGetNotificationRule200Response, NotificationRuleAdministrationGetNotificationRuleDefaultResponse, NotificationRuleAdministrationCreateOrUpdateNotificationRule200Response, NotificationRuleAdministrationCreateOrUpdateNotificationRule201Response, NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse, NotificationRuleAdministrationDeleteNotificationRule204Response, NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse, NotificationRuleAdministrationListNotificationRule200Response, NotificationRuleAdministrationListNotificationRuleDefaultResponse } from "./responses.js";
|
|
2
|
+
export declare function isUnexpected(response: LoadTestAdministrationCreateOrUpdateTest200Response | LoadTestAdministrationCreateOrUpdateTest201Response | LoadTestAdministrationCreateOrUpdateTestDefaultResponse): response is LoadTestAdministrationCreateOrUpdateTestDefaultResponse;
|
|
3
|
+
export declare function isUnexpected(response: LoadTestAdministrationDeleteTest204Response | LoadTestAdministrationDeleteTestDefaultResponse): response is LoadTestAdministrationDeleteTestDefaultResponse;
|
|
4
|
+
export declare function isUnexpected(response: LoadTestAdministrationGetTest200Response | LoadTestAdministrationGetTestDefaultResponse): response is LoadTestAdministrationGetTestDefaultResponse;
|
|
5
|
+
export declare function isUnexpected(response: LoadTestAdministrationListTests200Response | LoadTestAdministrationListTestsDefaultResponse): response is LoadTestAdministrationListTestsDefaultResponse;
|
|
6
|
+
export declare function isUnexpected(response: LoadTestAdministrationUploadTestFile201Response | LoadTestAdministrationUploadTestFileDefaultResponse): response is LoadTestAdministrationUploadTestFileDefaultResponse;
|
|
7
|
+
export declare function isUnexpected(response: LoadTestAdministrationGetTestFile200Response | LoadTestAdministrationGetTestFileDefaultResponse): response is LoadTestAdministrationGetTestFileDefaultResponse;
|
|
8
|
+
export declare function isUnexpected(response: LoadTestAdministrationDeleteTestFile204Response | LoadTestAdministrationDeleteTestFileDefaultResponse): response is LoadTestAdministrationDeleteTestFileDefaultResponse;
|
|
9
|
+
export declare function isUnexpected(response: LoadTestAdministrationListTestFiles200Response | LoadTestAdministrationListTestFilesDefaultResponse): response is LoadTestAdministrationListTestFilesDefaultResponse;
|
|
10
|
+
export declare function isUnexpected(response: LoadTestAdministrationCreateOrUpdateAppComponents200Response | LoadTestAdministrationCreateOrUpdateAppComponents201Response | LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse): response is LoadTestAdministrationCreateOrUpdateAppComponentsDefaultResponse;
|
|
11
|
+
export declare function isUnexpected(response: LoadTestAdministrationGetAppComponents200Response | LoadTestAdministrationGetAppComponentsDefaultResponse): response is LoadTestAdministrationGetAppComponentsDefaultResponse;
|
|
12
|
+
export declare function isUnexpected(response: LoadTestAdministrationCreateOrUpdateServerMetricsConfig200Response | LoadTestAdministrationCreateOrUpdateServerMetricsConfig201Response | LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse): response is LoadTestAdministrationCreateOrUpdateServerMetricsConfigDefaultResponse;
|
|
13
|
+
export declare function isUnexpected(response: LoadTestAdministrationGetServerMetricsConfig200Response | LoadTestAdministrationGetServerMetricsConfigDefaultResponse): response is LoadTestAdministrationGetServerMetricsConfigDefaultResponse;
|
|
14
|
+
export declare function isUnexpected(response: TestProfileAdministrationCreateOrUpdateTestProfile200Response | TestProfileAdministrationCreateOrUpdateTestProfile201Response | TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse): response is TestProfileAdministrationCreateOrUpdateTestProfileDefaultResponse;
|
|
15
|
+
export declare function isUnexpected(response: TestProfileAdministrationDeleteTestProfile204Response | TestProfileAdministrationDeleteTestProfileDefaultResponse): response is TestProfileAdministrationDeleteTestProfileDefaultResponse;
|
|
16
|
+
export declare function isUnexpected(response: TestProfileAdministrationGetTestProfile200Response | TestProfileAdministrationGetTestProfileDefaultResponse): response is TestProfileAdministrationGetTestProfileDefaultResponse;
|
|
17
|
+
export declare function isUnexpected(response: TestProfileAdministrationListTestProfiles200Response | TestProfileAdministrationListTestProfilesDefaultResponse): response is TestProfileAdministrationListTestProfilesDefaultResponse;
|
|
18
|
+
export declare function isUnexpected(response: LoadTestRunGetTestRun200Response | LoadTestRunGetTestRunDefaultResponse): response is LoadTestRunGetTestRunDefaultResponse;
|
|
19
|
+
export declare function isUnexpected(response: LoadTestRunCreateOrUpdateTestRun200Response | LoadTestRunCreateOrUpdateTestRun201Response | LoadTestRunCreateOrUpdateTestRunDefaultResponse): response is LoadTestRunCreateOrUpdateTestRunDefaultResponse;
|
|
20
|
+
export declare function isUnexpected(response: LoadTestRunDeleteTestRun204Response | LoadTestRunDeleteTestRunDefaultResponse): response is LoadTestRunDeleteTestRunDefaultResponse;
|
|
21
|
+
export declare function isUnexpected(response: LoadTestRunListTestRuns200Response | LoadTestRunListTestRunsDefaultResponse): response is LoadTestRunListTestRunsDefaultResponse;
|
|
22
|
+
export declare function isUnexpected(response: LoadTestRunGetTestRunFile200Response | LoadTestRunGetTestRunFileDefaultResponse): response is LoadTestRunGetTestRunFileDefaultResponse;
|
|
23
|
+
export declare function isUnexpected(response: LoadTestRunStop200Response | LoadTestRunStopDefaultResponse): response is LoadTestRunStopDefaultResponse;
|
|
24
|
+
export declare function isUnexpected(response: LoadTestRunListMetricNamespaces200Response | LoadTestRunListMetricNamespacesDefaultResponse): response is LoadTestRunListMetricNamespacesDefaultResponse;
|
|
25
|
+
export declare function isUnexpected(response: LoadTestRunListMetricDefinitions200Response | LoadTestRunListMetricDefinitionsDefaultResponse): response is LoadTestRunListMetricDefinitionsDefaultResponse;
|
|
26
|
+
export declare function isUnexpected(response: LoadTestRunListMetrics200Response | LoadTestRunListMetricsDefaultResponse): response is LoadTestRunListMetricsDefaultResponse;
|
|
27
|
+
export declare function isUnexpected(response: LoadTestRunListMetricDimensionValues200Response | LoadTestRunListMetricDimensionValuesDefaultResponse): response is LoadTestRunListMetricDimensionValuesDefaultResponse;
|
|
28
|
+
export declare function isUnexpected(response: LoadTestRunCreateOrUpdateAppComponents200Response | LoadTestRunCreateOrUpdateAppComponents201Response | LoadTestRunCreateOrUpdateAppComponentsDefaultResponse): response is LoadTestRunCreateOrUpdateAppComponentsDefaultResponse;
|
|
29
|
+
export declare function isUnexpected(response: LoadTestRunGetAppComponents200Response | LoadTestRunGetAppComponentsDefaultResponse): response is LoadTestRunGetAppComponentsDefaultResponse;
|
|
30
|
+
export declare function isUnexpected(response: LoadTestRunCreateOrUpdateServerMetricsConfig200Response | LoadTestRunCreateOrUpdateServerMetricsConfig201Response | LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse): response is LoadTestRunCreateOrUpdateServerMetricsConfigDefaultResponse;
|
|
31
|
+
export declare function isUnexpected(response: LoadTestRunGetServerMetricsConfig200Response | LoadTestRunGetServerMetricsConfigDefaultResponse): response is LoadTestRunGetServerMetricsConfigDefaultResponse;
|
|
32
|
+
export declare function isUnexpected(response: TestProfileRunAdministrationGetTestProfileRun200Response | TestProfileRunAdministrationGetTestProfileRunDefaultResponse): response is TestProfileRunAdministrationGetTestProfileRunDefaultResponse;
|
|
33
|
+
export declare function isUnexpected(response: TestProfileRunAdministrationCreateOrUpdateTestProfileRun200Response | TestProfileRunAdministrationCreateOrUpdateTestProfileRun201Response | TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse): response is TestProfileRunAdministrationCreateOrUpdateTestProfileRunDefaultResponse;
|
|
34
|
+
export declare function isUnexpected(response: TestProfileRunAdministrationDeleteTestProfileRun204Response | TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse): response is TestProfileRunAdministrationDeleteTestProfileRunDefaultResponse;
|
|
35
|
+
export declare function isUnexpected(response: TestProfileRunAdministrationStop200Response | TestProfileRunAdministrationStopDefaultResponse): response is TestProfileRunAdministrationStopDefaultResponse;
|
|
36
|
+
export declare function isUnexpected(response: TestProfileRunAdministrationListTestProfileRuns200Response | TestProfileRunAdministrationListTestProfileRunsDefaultResponse): response is TestProfileRunAdministrationListTestProfileRunsDefaultResponse;
|
|
37
|
+
export declare function isUnexpected(response: TriggerAdministrationGetTrigger200Response | TriggerAdministrationGetTriggerDefaultResponse): response is TriggerAdministrationGetTriggerDefaultResponse;
|
|
38
|
+
export declare function isUnexpected(response: TriggerAdministrationCreateOrUpdateTrigger200Response | TriggerAdministrationCreateOrUpdateTrigger201Response | TriggerAdministrationCreateOrUpdateTriggerDefaultResponse): response is TriggerAdministrationCreateOrUpdateTriggerDefaultResponse;
|
|
39
|
+
export declare function isUnexpected(response: TriggerAdministrationDeleteTrigger204Response | TriggerAdministrationDeleteTriggerDefaultResponse): response is TriggerAdministrationDeleteTriggerDefaultResponse;
|
|
40
|
+
export declare function isUnexpected(response: TriggerAdministrationListTrigger200Response | TriggerAdministrationListTriggerDefaultResponse): response is TriggerAdministrationListTriggerDefaultResponse;
|
|
41
|
+
export declare function isUnexpected(response: NotificationRuleAdministrationGetNotificationRule200Response | NotificationRuleAdministrationGetNotificationRuleDefaultResponse): response is NotificationRuleAdministrationGetNotificationRuleDefaultResponse;
|
|
42
|
+
export declare function isUnexpected(response: NotificationRuleAdministrationCreateOrUpdateNotificationRule200Response | NotificationRuleAdministrationCreateOrUpdateNotificationRule201Response | NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse): response is NotificationRuleAdministrationCreateOrUpdateNotificationRuleDefaultResponse;
|
|
43
|
+
export declare function isUnexpected(response: NotificationRuleAdministrationDeleteNotificationRule204Response | NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse): response is NotificationRuleAdministrationDeleteNotificationRuleDefaultResponse;
|
|
44
|
+
export declare function isUnexpected(response: NotificationRuleAdministrationListNotificationRule200Response | NotificationRuleAdministrationListNotificationRuleDefaultResponse): response is NotificationRuleAdministrationListNotificationRuleDefaultResponse;
|
|
28
45
|
//# sourceMappingURL=isUnexpected.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isUnexpected.d.ts","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"isUnexpected.d.ts","sourceRoot":"","sources":["../../src/isUnexpected.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,15 @@ const responseMap = {
|
|
|
13
13
|
"GET /tests/{testId}/app-components": ["200"],
|
|
14
14
|
"PATCH /tests/{testId}/server-metrics-config": ["200", "201"],
|
|
15
15
|
"GET /tests/{testId}/server-metrics-config": ["200"],
|
|
16
|
-
"
|
|
17
|
-
"
|
|
16
|
+
"PATCH /test-profiles/{testProfileId}": ["200", "201"],
|
|
17
|
+
"DELETE /test-profiles/{testProfileId}": ["204"],
|
|
18
|
+
"GET /test-profiles/{testProfileId}": ["200"],
|
|
19
|
+
"GET /test-profiles": ["200"],
|
|
18
20
|
"GET /test-runs/{testRunId}": ["200"],
|
|
19
|
-
"
|
|
21
|
+
"PATCH /test-runs/{testRunId}": ["200", "201"],
|
|
22
|
+
"DELETE /test-runs/{testRunId}": ["204"],
|
|
20
23
|
"GET /test-runs": ["200"],
|
|
24
|
+
"GET /test-runs/{testRunId}/files/{fileName}": ["200"],
|
|
21
25
|
"POST /test-runs/{testRunId}:stop": ["200"],
|
|
22
26
|
"GET /test-runs/{testRunId}/metric-namespaces": ["200"],
|
|
23
27
|
"GET /test-runs/{testRunId}/metric-definitions": ["200"],
|
|
@@ -27,6 +31,19 @@ const responseMap = {
|
|
|
27
31
|
"GET /test-runs/{testRunId}/app-components": ["200"],
|
|
28
32
|
"PATCH /test-runs/{testRunId}/server-metrics-config": ["200", "201"],
|
|
29
33
|
"GET /test-runs/{testRunId}/server-metrics-config": ["200"],
|
|
34
|
+
"GET /test-profile-runs/{testProfileRunId}": ["200"],
|
|
35
|
+
"PATCH /test-profile-runs/{testProfileRunId}": ["200", "201"],
|
|
36
|
+
"DELETE /test-profile-runs/{testProfileRunId}": ["204"],
|
|
37
|
+
"POST /test-profile-runs/{testProfileRunId}:stop": ["200"],
|
|
38
|
+
"GET /test-profile-runs": ["200"],
|
|
39
|
+
"GET /triggers/{triggerId}": ["200"],
|
|
40
|
+
"PATCH /triggers/{triggerId}": ["200", "201"],
|
|
41
|
+
"DELETE /triggers/{triggerId}": ["204"],
|
|
42
|
+
"GET /triggers": ["200"],
|
|
43
|
+
"GET /notification-rules/{notificationRuleId}": ["200"],
|
|
44
|
+
"PATCH /notification-rules/{notificationRuleId}": ["200", "201"],
|
|
45
|
+
"DELETE /notification-rules/{notificationRuleId}": ["204"],
|
|
46
|
+
"GET /notification-rules": ["200"],
|
|
30
47
|
};
|
|
31
48
|
export function isUnexpected(response) {
|
|
32
49
|
const lroOriginal = response.headers["x-ms-original-url"];
|
|
@@ -34,13 +51,17 @@ export function isUnexpected(response) {
|
|
|
34
51
|
const method = response.request.method;
|
|
35
52
|
let pathDetails = responseMap[`${method} ${url.pathname}`];
|
|
36
53
|
if (!pathDetails) {
|
|
37
|
-
pathDetails =
|
|
54
|
+
pathDetails = getParametrizedPathSuccess(method, url.pathname);
|
|
38
55
|
}
|
|
39
56
|
return !pathDetails.includes(response.status);
|
|
40
57
|
}
|
|
41
|
-
function
|
|
42
|
-
var _a, _b;
|
|
58
|
+
function getParametrizedPathSuccess(method, path) {
|
|
59
|
+
var _a, _b, _c, _d;
|
|
43
60
|
const pathParts = path.split("/");
|
|
61
|
+
// Traverse list to match the longest candidate
|
|
62
|
+
// matchedLen: the length of candidate path
|
|
63
|
+
// matchedValue: the matched status code array
|
|
64
|
+
let matchedLen = -1, matchedValue = [];
|
|
44
65
|
// Iterate the responseMap to find a match
|
|
45
66
|
for (const [key, value] of Object.entries(responseMap)) {
|
|
46
67
|
// Extracting the path from the map key which is in format
|
|
@@ -51,39 +72,38 @@ function geParametrizedPathSuccess(method, path) {
|
|
|
51
72
|
const candidatePath = getPathFromMapKey(key);
|
|
52
73
|
// Get each part of the url path
|
|
53
74
|
const candidateParts = candidatePath.split("/");
|
|
54
|
-
//
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
// If the candidate part is not a template and
|
|
67
|
-
// the parts don't match mark the candidate as not found
|
|
68
|
-
// to move on with the next candidate path.
|
|
69
|
-
if (candidateParts[i] !== pathParts[i]) {
|
|
75
|
+
// track if we have found a match to return the values found.
|
|
76
|
+
let found = true;
|
|
77
|
+
for (let i = candidateParts.length - 1, j = pathParts.length - 1; i >= 1 && j >= 1; i--, j--) {
|
|
78
|
+
if (((_a = candidateParts[i]) === null || _a === void 0 ? void 0 : _a.startsWith("{")) && ((_b = candidateParts[i]) === null || _b === void 0 ? void 0 : _b.indexOf("}")) !== -1) {
|
|
79
|
+
const start = candidateParts[i].indexOf("}") + 1, end = (_c = candidateParts[i]) === null || _c === void 0 ? void 0 : _c.length;
|
|
80
|
+
// If the current part of the candidate is a "template" part
|
|
81
|
+
// Try to use the suffix of pattern to match the path
|
|
82
|
+
// {guid} ==> $
|
|
83
|
+
// {guid}:export ==> :export$
|
|
84
|
+
const isMatched = new RegExp(`${(_d = candidateParts[i]) === null || _d === void 0 ? void 0 : _d.slice(start, end)}`).test(pathParts[j] || "");
|
|
85
|
+
if (!isMatched) {
|
|
70
86
|
found = false;
|
|
71
87
|
break;
|
|
72
88
|
}
|
|
89
|
+
continue;
|
|
73
90
|
}
|
|
74
|
-
//
|
|
75
|
-
//
|
|
76
|
-
// the path
|
|
77
|
-
if (
|
|
78
|
-
|
|
91
|
+
// If the candidate part is not a template and
|
|
92
|
+
// the parts don't match mark the candidate as not found
|
|
93
|
+
// to move on with the next candidate path.
|
|
94
|
+
if (candidateParts[i] !== pathParts[j]) {
|
|
95
|
+
found = false;
|
|
96
|
+
break;
|
|
79
97
|
}
|
|
80
98
|
}
|
|
99
|
+
// We finished evaluating the current candidate parts
|
|
100
|
+
// Update the matched value if and only if we found the longer pattern
|
|
101
|
+
if (found && candidatePath.length > matchedLen) {
|
|
102
|
+
matchedLen = candidatePath.length;
|
|
103
|
+
matchedValue = value;
|
|
104
|
+
}
|
|
81
105
|
}
|
|
82
|
-
|
|
83
|
-
return [];
|
|
84
|
-
}
|
|
85
|
-
function hasParametrizedPath(path) {
|
|
86
|
-
return path.includes("/{");
|
|
106
|
+
return matchedValue;
|
|
87
107
|
}
|
|
88
108
|
function getPathFromMapKey(mapKey) {
|
|
89
109
|
const pathStart = mapKey.indexOf("/");
|