@smartbear/mcp 0.12.1 → 0.13.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/README.md +30 -6
- package/dist/bugsnag/client/api/CurrentUser.js +50 -26
- package/dist/bugsnag/client/api/Error.js +156 -93
- package/dist/bugsnag/client/api/Project.js +398 -276
- package/dist/bugsnag/client/api/api.js +4087 -3837
- package/dist/bugsnag/client/api/base.js +155 -173
- package/dist/bugsnag/client/api/configuration.js +28 -25
- package/dist/bugsnag/client/filters.js +11 -20
- package/dist/bugsnag/client.js +1398 -1281
- package/dist/bugsnag/input-schemas.js +39 -57
- package/dist/collaborator/client.js +335 -371
- package/dist/common/bugsnag.js +5 -3
- package/dist/common/cache.js +50 -57
- package/dist/common/client-registry.js +106 -119
- package/dist/common/info.js +7 -3
- package/dist/common/register-clients.js +0 -16
- package/dist/common/server.js +270 -228
- package/dist/common/tools.js +19 -0
- package/dist/common/transport-http.js +252 -343
- package/dist/common/transport-stdio.js +40 -37
- package/dist/common/zod-utils.js +20 -0
- package/dist/index.js +18 -23
- package/dist/package.json.js +11 -0
- package/dist/pactflow/client/ai.js +142 -169
- package/dist/pactflow/client/base.js +41 -51
- package/dist/pactflow/client/prompt-utils.js +93 -84
- package/dist/pactflow/client/prompts.js +95 -92
- package/dist/pactflow/client/tools.js +94 -83
- package/dist/pactflow/client/utils.js +60 -64
- package/dist/pactflow/client.js +399 -320
- package/dist/qmetry/client/api/client-api.js +43 -41
- package/dist/qmetry/client/api/error-handler.js +264 -310
- package/dist/qmetry/client/auto-resolve.js +78 -99
- package/dist/qmetry/client/automation.js +139 -162
- package/dist/qmetry/client/handlers.js +49 -46
- package/dist/qmetry/client/issues.js +133 -115
- package/dist/qmetry/client/project.js +153 -174
- package/dist/qmetry/client/requirement.js +82 -70
- package/dist/qmetry/client/testcase.js +240 -208
- package/dist/qmetry/client/testsuite.js +332 -293
- package/dist/qmetry/client/tools/automation-tools.js +291 -288
- package/dist/qmetry/client/tools/index.js +16 -13
- package/dist/qmetry/client/tools/issue-tools.js +534 -543
- package/dist/qmetry/client/tools/project-tools.js +635 -656
- package/dist/qmetry/client/tools/requirement-tools.js +525 -528
- package/dist/qmetry/client/tools/testcase-tools.js +773 -786
- package/dist/qmetry/client/tools/testsuite-tools.js +1069 -1083
- package/dist/qmetry/client/utils.js +8 -14
- package/dist/qmetry/client.js +111 -109
- package/dist/qmetry/config/constants.js +48 -44
- package/dist/qmetry/config/rest-endpoints.js +51 -48
- package/dist/qmetry/types/automation.js +7 -7
- package/dist/qmetry/types/common.js +763 -1049
- package/dist/qmetry/types/issues.js +26 -19
- package/dist/qmetry/types/project.js +32 -25
- package/dist/qmetry/types/requirements.js +26 -21
- package/dist/qmetry/types/testcase.js +55 -44
- package/dist/qmetry/types/testsuite.js +66 -52
- package/dist/reflect/client.js +284 -226
- package/dist/swagger/client/api.js +645 -662
- package/dist/swagger/client/configuration.js +31 -33
- package/dist/swagger/client/portal-types.js +204 -244
- package/dist/swagger/client/registry-types.js +62 -96
- package/dist/swagger/client/tools.js +148 -158
- package/dist/swagger/client/user-management-types.js +11 -22
- package/dist/swagger/client.js +143 -135
- package/dist/swagger/config-utils.js +10 -16
- package/dist/zephyr/client.js +43 -42
- package/dist/zephyr/common/api-client.js +35 -30
- package/dist/zephyr/common/auth-service.js +16 -13
- package/dist/zephyr/common/rest-api-schemas.js +3173 -5146
- package/dist/zephyr/tool/environment/get-environments.js +66 -66
- package/dist/zephyr/tool/priority/get-priorities.js +41 -41
- package/dist/zephyr/tool/project/get-project.js +37 -37
- package/dist/zephyr/tool/project/get-projects.js +46 -46
- package/dist/zephyr/tool/status/get-statuses.js +47 -47
- package/dist/zephyr/tool/test-case/get-test-case.js +37 -37
- package/dist/zephyr/tool/test-case/get-test-cases.js +62 -62
- package/dist/zephyr/tool/test-cycle/get-test-cycle.js +37 -37
- package/dist/zephyr/tool/test-cycle/get-test-cycles.js +70 -70
- package/dist/zephyr/tool/test-execution/get-test-execution.js +37 -37
- package/dist/zephyr/tool/test-execution/get-test-executions.js +43 -43
- package/package.json +5 -5
- package/dist/bugsnag/client/api/index.js +0 -6
- package/dist/common/types.js +0 -6
- package/dist/qmetry/client/tools/types.js +0 -1
- package/dist/swagger/client/index.js +0 -6
- package/dist/tests/unit/bugsnag/utils/factories.js +0 -86
- package/dist/zephyr/tool/zephyr-tool.js +0 -1
|
@@ -1,308 +1,347 @@
|
|
|
1
1
|
import { QMETRY_PATHS } from "../config/rest-endpoints.js";
|
|
2
|
-
import {
|
|
2
|
+
import { DEFAULT_LINKED_PLATFORMS_TO_TESTSUITE_PAYLOAD, DEFAULT_FETCH_LINKED_ISSUES_BY_TESTCASE_RUN_PAYLOAD, DEFAULT_FETCH_TESTCASE_RUNS_BY_TESTSUITE_RUN_PAYLOAD, DEFAULT_BULK_UPDATE_EXECUTION_STATUS_PAYLOAD, DEFAULT_FETCH_EXECUTIONS_BY_TESTSUITE_PAYLOAD, DEFAULT_FETCH_TESTCASES_BY_TESTSUITE_PAYLOAD, DEFAULT_REQLINKED_TESTCASE_TO_TESTSUITE_PAYLOAD, DEFAULT_LINKED_TESTCASE_TO_TESTSUITE_PAYLOAD, DEFAULT_FETCH_TESTSUITES_FOR_TESTCASE_PAYLOAD, DEFAULT_FETCH_TESTSUITES_PAYLOAD, DEFAULT_UPDATE_TESTSUITE_PAYLOAD, DEFAULT_CREATE_TESTSUITE_PAYLOAD } from "../types/testsuite.js";
|
|
3
3
|
import { qmetryRequest } from "./api/client-api.js";
|
|
4
4
|
import { resolveDefaults } from "./utils.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
5
|
+
async function createTestSuites(token, baseUrl, project, payload) {
|
|
6
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
7
|
+
baseUrl,
|
|
8
|
+
project
|
|
9
|
+
);
|
|
10
|
+
const body = {
|
|
11
|
+
...DEFAULT_CREATE_TESTSUITE_PAYLOAD,
|
|
12
|
+
...payload
|
|
13
|
+
};
|
|
14
|
+
if (typeof body.parentFolderId !== "string") {
|
|
15
|
+
throw new Error(
|
|
16
|
+
"[createTestSuites] Missing or invalid required parameter: 'parentFolderId'."
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
if (typeof body.name !== "string") {
|
|
20
|
+
throw new Error(
|
|
21
|
+
"[createTestSuites] Missing or invalid required parameter: 'name'."
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
return qmetryRequest({
|
|
25
|
+
method: "POST",
|
|
26
|
+
path: QMETRY_PATHS.TESTSUITE.CREATE_UPDATE_TS,
|
|
27
|
+
token,
|
|
28
|
+
project: resolvedProject,
|
|
29
|
+
baseUrl: resolvedBaseUrl,
|
|
30
|
+
body
|
|
31
|
+
});
|
|
29
32
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
33
|
+
async function updateTestSuite(token, baseUrl, project, payload) {
|
|
34
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
35
|
+
baseUrl,
|
|
36
|
+
project
|
|
37
|
+
);
|
|
38
|
+
const body = {
|
|
39
|
+
...DEFAULT_UPDATE_TESTSUITE_PAYLOAD,
|
|
40
|
+
...payload
|
|
41
|
+
};
|
|
42
|
+
if (typeof body.id !== "number") {
|
|
43
|
+
throw new Error(
|
|
44
|
+
"[updateTestSuite] Missing or invalid required parameter: 'id'."
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
if (typeof body.entityKey !== "string") {
|
|
48
|
+
throw new Error(
|
|
49
|
+
"[updateTestSuite] Missing or invalid required parameter: 'entityKey'."
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
if (typeof body.TsFolderID !== "number") {
|
|
53
|
+
throw new Error(
|
|
54
|
+
"[updateTestSuite] Missing or invalid required parameter: 'TsFolderID'."
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
return qmetryRequest({
|
|
58
|
+
method: "PUT",
|
|
59
|
+
path: QMETRY_PATHS.TESTSUITE.CREATE_UPDATE_TS,
|
|
60
|
+
token,
|
|
61
|
+
project: resolvedProject,
|
|
62
|
+
baseUrl: resolvedBaseUrl,
|
|
63
|
+
body
|
|
64
|
+
});
|
|
57
65
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
66
|
+
async function fetchTestSuites(token, baseUrl, project, payload) {
|
|
67
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
68
|
+
baseUrl,
|
|
69
|
+
project
|
|
70
|
+
);
|
|
71
|
+
const body = {
|
|
72
|
+
...DEFAULT_FETCH_TESTSUITES_PAYLOAD,
|
|
73
|
+
...payload
|
|
74
|
+
};
|
|
75
|
+
if (typeof body.viewId !== "number") {
|
|
76
|
+
throw new Error(
|
|
77
|
+
"[fetchTestSuites] Missing or invalid required parameter: 'viewId'."
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
if (typeof body.folderPath !== "string") {
|
|
81
|
+
throw new Error(
|
|
82
|
+
"[fetchTestSuites] Missing or invalid required parameter: 'folderPath'."
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
return qmetryRequest({
|
|
86
|
+
method: "POST",
|
|
87
|
+
path: QMETRY_PATHS.TESTSUITE.GET_TS_LIST,
|
|
88
|
+
token,
|
|
89
|
+
project: resolvedProject,
|
|
90
|
+
baseUrl: resolvedBaseUrl,
|
|
91
|
+
body
|
|
92
|
+
});
|
|
82
93
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
94
|
+
async function fetchTestSuitesForTestCase(token, baseUrl, project, payload) {
|
|
95
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
96
|
+
baseUrl,
|
|
97
|
+
project
|
|
98
|
+
);
|
|
99
|
+
const body = {
|
|
100
|
+
...DEFAULT_FETCH_TESTSUITES_FOR_TESTCASE_PAYLOAD,
|
|
101
|
+
...payload
|
|
102
|
+
};
|
|
103
|
+
if (typeof body.tsFolderID !== "number") {
|
|
104
|
+
throw new Error(
|
|
105
|
+
"[fetchTestSuitesForTestCase] Missing or invalid required parameter: 'tsFolderID'."
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
return qmetryRequest({
|
|
109
|
+
method: "POST",
|
|
110
|
+
path: QMETRY_PATHS.TESTSUITE.GET_TS_LIST_FOR_TC,
|
|
111
|
+
token,
|
|
112
|
+
project: resolvedProject,
|
|
113
|
+
baseUrl: resolvedBaseUrl,
|
|
114
|
+
body
|
|
115
|
+
});
|
|
104
116
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
117
|
+
async function fetchTestCasesByTestSuite(token, baseUrl, project, payload) {
|
|
118
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
119
|
+
baseUrl,
|
|
120
|
+
project
|
|
121
|
+
);
|
|
122
|
+
const body = {
|
|
123
|
+
...DEFAULT_FETCH_TESTCASES_BY_TESTSUITE_PAYLOAD,
|
|
124
|
+
...payload
|
|
125
|
+
};
|
|
126
|
+
if (typeof body.tsID !== "number") {
|
|
127
|
+
throw new Error(
|
|
128
|
+
"[fetchTestCasesByTestSuite] Missing or invalid required parameter: 'tsID'."
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
return qmetryRequest({
|
|
132
|
+
method: "POST",
|
|
133
|
+
path: QMETRY_PATHS.TESTSUITE.GET_TESTCASES_BY_TESTSUITE,
|
|
134
|
+
token,
|
|
135
|
+
project: resolvedProject,
|
|
136
|
+
baseUrl: resolvedBaseUrl,
|
|
137
|
+
body
|
|
138
|
+
});
|
|
126
139
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
140
|
+
async function fetchExecutionsByTestSuite(token, baseUrl, project, payload) {
|
|
141
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
142
|
+
baseUrl,
|
|
143
|
+
project
|
|
144
|
+
);
|
|
145
|
+
const body = {
|
|
146
|
+
...DEFAULT_FETCH_EXECUTIONS_BY_TESTSUITE_PAYLOAD,
|
|
147
|
+
...payload
|
|
148
|
+
};
|
|
149
|
+
if (typeof body.tsID !== "number") {
|
|
150
|
+
throw new Error(
|
|
151
|
+
"[fetchExecutionsByTestSuite] Missing or invalid required parameter: 'tsID'."
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
return qmetryRequest({
|
|
155
|
+
method: "POST",
|
|
156
|
+
path: QMETRY_PATHS.TESTSUITE.GET_EXECUTIONS_BY_TESTSUITE,
|
|
157
|
+
token,
|
|
158
|
+
project: resolvedProject,
|
|
159
|
+
baseUrl: resolvedBaseUrl,
|
|
160
|
+
body
|
|
161
|
+
});
|
|
148
162
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
163
|
+
async function fetchTestCaseRunsByTestSuiteRun(token, baseUrl, project, payload) {
|
|
164
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
165
|
+
baseUrl,
|
|
166
|
+
project
|
|
167
|
+
);
|
|
168
|
+
const body = {
|
|
169
|
+
...DEFAULT_FETCH_TESTCASE_RUNS_BY_TESTSUITE_RUN_PAYLOAD,
|
|
170
|
+
...payload
|
|
171
|
+
};
|
|
172
|
+
if (typeof body.tsrunID !== "string" || !body.tsrunID) {
|
|
173
|
+
throw new Error(
|
|
174
|
+
"[fetchTestCaseRunsByTestSuiteRun] Missing or invalid required parameter: 'tsrunID'."
|
|
175
|
+
);
|
|
176
|
+
}
|
|
177
|
+
if (typeof body.viewId !== "number") {
|
|
178
|
+
throw new Error(
|
|
179
|
+
"[fetchTestCaseRunsByTestSuiteRun] Missing or invalid required parameter: 'viewId'."
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
return qmetryRequest({
|
|
183
|
+
method: "POST",
|
|
184
|
+
path: QMETRY_PATHS.TESTSUITE.GET_TESTCASE_RUNS_BY_TESTSUITE_RUN,
|
|
185
|
+
token,
|
|
186
|
+
project: resolvedProject,
|
|
187
|
+
baseUrl: resolvedBaseUrl,
|
|
188
|
+
body
|
|
189
|
+
});
|
|
173
190
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
async function fetchLinkedIssuesByTestCaseRun(token, baseUrl, project, payload) {
|
|
192
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
193
|
+
baseUrl,
|
|
194
|
+
project
|
|
195
|
+
);
|
|
196
|
+
const body = {
|
|
197
|
+
...DEFAULT_FETCH_LINKED_ISSUES_BY_TESTCASE_RUN_PAYLOAD,
|
|
198
|
+
...payload
|
|
199
|
+
};
|
|
200
|
+
if (typeof body.entityId !== "number") {
|
|
201
|
+
throw new Error(
|
|
202
|
+
"[fetchLinkedIssuesByTestCaseRun] Missing or invalid required parameter: 'entityId'."
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
return qmetryRequest({
|
|
206
|
+
method: "POST",
|
|
207
|
+
path: QMETRY_PATHS.TESTSUITE.GET_LINKED_ISSUES_BY_TESTCASE_RUN,
|
|
208
|
+
token,
|
|
209
|
+
project: resolvedProject,
|
|
210
|
+
baseUrl: resolvedBaseUrl,
|
|
211
|
+
body
|
|
212
|
+
});
|
|
195
213
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
214
|
+
async function linkTestCasesToTestSuite(token, baseUrl, project, payload) {
|
|
215
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
216
|
+
baseUrl,
|
|
217
|
+
project
|
|
218
|
+
);
|
|
219
|
+
const body = {
|
|
220
|
+
...DEFAULT_LINKED_TESTCASE_TO_TESTSUITE_PAYLOAD,
|
|
221
|
+
...payload
|
|
222
|
+
};
|
|
223
|
+
if (typeof body.tsID !== "number") {
|
|
224
|
+
throw new Error(
|
|
225
|
+
"[linkTestCasesToTestSuite] Missing or invalid required parameter: 'tsID'."
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
if (!body.tcvdIDs) {
|
|
229
|
+
throw new Error("[linkTestCasesToTestSuite] 'tcvdIDs' must be provided.");
|
|
230
|
+
}
|
|
231
|
+
return qmetryRequest({
|
|
232
|
+
method: "PUT",
|
|
233
|
+
path: QMETRY_PATHS.TESTSUITE.LINKED_TESTCASES_TO_TESTSUITE,
|
|
234
|
+
token,
|
|
235
|
+
project: resolvedProject,
|
|
236
|
+
baseUrl: resolvedBaseUrl,
|
|
237
|
+
body
|
|
238
|
+
});
|
|
220
239
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
240
|
+
async function reqLinkedTestCasesToTestSuite(token, baseUrl, project, payload) {
|
|
241
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
242
|
+
baseUrl,
|
|
243
|
+
project
|
|
244
|
+
);
|
|
245
|
+
const body = {
|
|
246
|
+
...DEFAULT_REQLINKED_TESTCASE_TO_TESTSUITE_PAYLOAD,
|
|
247
|
+
...payload
|
|
248
|
+
};
|
|
249
|
+
if (typeof body.tsID !== "number") {
|
|
250
|
+
throw new Error(
|
|
251
|
+
"[reqLinkedTestCasesToTestSuite] Missing or invalid required parameter: 'tsID'."
|
|
252
|
+
);
|
|
253
|
+
}
|
|
254
|
+
if (!body.tcvdIDs) {
|
|
255
|
+
throw new Error(
|
|
256
|
+
"[reqLinkedTestCasesToTestSuite] 'tcvdIDs' must be provided."
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
return qmetryRequest({
|
|
260
|
+
method: "PUT",
|
|
261
|
+
path: QMETRY_PATHS.TESTSUITE.LINKED_TESTCASES_TO_TESTSUITE,
|
|
262
|
+
token,
|
|
263
|
+
project: resolvedProject,
|
|
264
|
+
baseUrl: resolvedBaseUrl,
|
|
265
|
+
body
|
|
266
|
+
});
|
|
245
267
|
}
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
268
|
+
async function linkPlatformsToTestSuite(token, baseUrl, project, payload) {
|
|
269
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
270
|
+
baseUrl,
|
|
271
|
+
project
|
|
272
|
+
);
|
|
273
|
+
const body = {
|
|
274
|
+
...DEFAULT_LINKED_PLATFORMS_TO_TESTSUITE_PAYLOAD,
|
|
275
|
+
...payload
|
|
276
|
+
};
|
|
277
|
+
if (typeof body.qmTsId !== "number") {
|
|
278
|
+
throw new Error(
|
|
279
|
+
"[linkPlatformsToTestSuite] Missing or invalid required parameter: 'qmTsId'."
|
|
280
|
+
);
|
|
281
|
+
}
|
|
282
|
+
if (!body.qmPlatformId || typeof body.qmPlatformId !== "string" || body.qmPlatformId.trim().length === 0) {
|
|
283
|
+
throw new Error(
|
|
284
|
+
"[linkPlatformsToTestSuite] Missing or invalid required parameter: 'qmPlatformId'. It must be a non-empty comma-separated string of Platform IDs."
|
|
285
|
+
);
|
|
286
|
+
}
|
|
287
|
+
return qmetryRequest({
|
|
288
|
+
method: "PUT",
|
|
289
|
+
path: QMETRY_PATHS.TESTSUITE.LINK_PLATFORMS_TO_TESTSUITE,
|
|
290
|
+
token,
|
|
291
|
+
project: resolvedProject,
|
|
292
|
+
baseUrl: resolvedBaseUrl,
|
|
293
|
+
body
|
|
294
|
+
});
|
|
272
295
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
296
|
+
async function bulkUpdateExecutionStatus(token, baseUrl, project, payload) {
|
|
297
|
+
const { resolvedBaseUrl, resolvedProject } = resolveDefaults(
|
|
298
|
+
baseUrl,
|
|
299
|
+
project
|
|
300
|
+
);
|
|
301
|
+
const body = {
|
|
302
|
+
...DEFAULT_BULK_UPDATE_EXECUTION_STATUS_PAYLOAD,
|
|
303
|
+
...payload
|
|
304
|
+
};
|
|
305
|
+
if (!body.entityIDs || typeof body.entityIDs !== "string" || body.entityIDs.trim().length === 0) {
|
|
306
|
+
throw new Error(
|
|
307
|
+
"[bulkUpdateExecutionStatus] Missing or invalid required parameter: 'entityIDs'. It must be a non-empty comma-separated string of Test Case Run IDs."
|
|
308
|
+
);
|
|
309
|
+
}
|
|
310
|
+
if (!body.entityType || body.entityType !== "TCR" && body.entityType !== "TCSR") {
|
|
311
|
+
throw new Error(
|
|
312
|
+
"[bulkUpdateExecutionStatus] Missing or invalid required parameter: 'entityType'. Must be 'TCR' or 'TCSR'."
|
|
313
|
+
);
|
|
314
|
+
}
|
|
315
|
+
if (!body.qmTsRunId || typeof body.qmTsRunId !== "string" || body.qmTsRunId.trim().length === 0) {
|
|
316
|
+
throw new Error(
|
|
317
|
+
"[bulkUpdateExecutionStatus] Missing or invalid required parameter: 'qmTsRunId'. It must be a non-empty string."
|
|
318
|
+
);
|
|
319
|
+
}
|
|
320
|
+
if (typeof body.runStatusID !== "number") {
|
|
321
|
+
throw new Error(
|
|
322
|
+
"[bulkUpdateExecutionStatus] Missing or invalid required parameter: 'runStatusID'. It must be a number."
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
return qmetryRequest({
|
|
326
|
+
method: "PUT",
|
|
327
|
+
path: QMETRY_PATHS.TESTSUITE.BULK_UPDATE_EXECUTION_STATUS,
|
|
328
|
+
token,
|
|
329
|
+
project: resolvedProject,
|
|
330
|
+
baseUrl: resolvedBaseUrl,
|
|
331
|
+
body
|
|
332
|
+
});
|
|
308
333
|
}
|
|
334
|
+
export {
|
|
335
|
+
bulkUpdateExecutionStatus,
|
|
336
|
+
createTestSuites,
|
|
337
|
+
fetchExecutionsByTestSuite,
|
|
338
|
+
fetchLinkedIssuesByTestCaseRun,
|
|
339
|
+
fetchTestCaseRunsByTestSuiteRun,
|
|
340
|
+
fetchTestCasesByTestSuite,
|
|
341
|
+
fetchTestSuites,
|
|
342
|
+
fetchTestSuitesForTestCase,
|
|
343
|
+
linkPlatformsToTestSuite,
|
|
344
|
+
linkTestCasesToTestSuite,
|
|
345
|
+
reqLinkedTestCasesToTestSuite,
|
|
346
|
+
updateTestSuite
|
|
347
|
+
};
|