azure-devops-node-api
Version:
Node client for Azure DevOps and TFS REST APIs
1,112 lines (1,111 loc) • 174 kB
JavaScript
"use strict";
/*
* ---------------------------------------------------------
* Copyright(C) Microsoft Corporation. All rights reserved.
* ---------------------------------------------------------
*
* ---------------------------------------------------------
* Generated file, DO NOT EDIT
* ---------------------------------------------------------
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestResultsApi = void 0;
const basem = require("./ClientApiBases");
const Contracts = require("./interfaces/TestInterfaces");
class TestResultsApi extends basem.ClientApiBase {
constructor(baseUrl, handlers, options) {
super(baseUrl, handlers, 'node-testResults-api', options);
}
/**
* @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} iterationId
* @param {string} actionPath
*/
createTestIterationResultAttachment(attachmentRequestModel, project, runId, testCaseResultId, iterationId, actionPath) {
return __awaiter(this, void 0, void 0, function* () {
if (iterationId == null) {
throw new TypeError('iterationId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId
};
let queryValues = {
iterationId: iterationId,
actionPath: actionPath,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, attachmentRequestModel, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
*/
createTestResultAttachment(attachmentRequestModel, project, runId, testCaseResultId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, attachmentRequestModel, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} testSubResultId
*/
createTestSubResultAttachment(attachmentRequestModel, project, runId, testCaseResultId, testSubResultId) {
return __awaiter(this, void 0, void 0, function* () {
if (testSubResultId == null) {
throw new TypeError('testSubResultId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId
};
let queryValues = {
testSubResultId: testSubResultId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, attachmentRequestModel, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} attachmentId
*/
deleteTestResultAttachment(project, runId, testCaseResultId, attachmentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId,
attachmentId: attachmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.del(url, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns a test iteration attachment
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} attachmentId
* @param {number} iterationId
*/
getTestIterationAttachmentContent(project, runId, testCaseResultId, attachmentId, iterationId) {
return __awaiter(this, void 0, void 0, function* () {
if (iterationId == null) {
throw new TypeError('iterationId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId,
attachmentId: attachmentId
};
let queryValues = {
iterationId: iterationId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues, queryValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/octet-stream", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns a test iteration attachment
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} attachmentId
* @param {number} iterationId
*/
getTestIterationAttachmentZip(project, runId, testCaseResultId, attachmentId, iterationId) {
return __awaiter(this, void 0, void 0, function* () {
if (iterationId == null) {
throw new TypeError('iterationId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId,
attachmentId: attachmentId
};
let queryValues = {
iterationId: iterationId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues, queryValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/zip", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns a test result attachment
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} attachmentId
*/
getTestResultAttachmentContent(project, runId, testCaseResultId, attachmentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId,
attachmentId: attachmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/octet-stream", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
*/
getTestResultAttachments(project, runId, testCaseResultId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestAttachment, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns a test result attachment
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} attachmentId
*/
getTestResultAttachmentZip(project, runId, testCaseResultId, attachmentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId,
attachmentId: attachmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/zip", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns a test sub result attachment
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} attachmentId
* @param {number} testSubResultId
*/
getTestSubResultAttachmentContent(project, runId, testCaseResultId, attachmentId, testSubResultId) {
return __awaiter(this, void 0, void 0, function* () {
if (testSubResultId == null) {
throw new TypeError('testSubResultId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId,
attachmentId: attachmentId
};
let queryValues = {
testSubResultId: testSubResultId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues, queryValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/octet-stream", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns attachment references for test sub result.
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} testSubResultId
*/
getTestSubResultAttachments(project, runId, testCaseResultId, testSubResultId) {
return __awaiter(this, void 0, void 0, function* () {
if (testSubResultId == null) {
throw new TypeError('testSubResultId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId
};
let queryValues = {
testSubResultId: testSubResultId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestAttachment, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns a test sub result attachment
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
* @param {number} attachmentId
* @param {number} testSubResultId
*/
getTestSubResultAttachmentZip(project, runId, testCaseResultId, attachmentId, testSubResultId) {
return __awaiter(this, void 0, void 0, function* () {
if (testSubResultId == null) {
throw new TypeError('testSubResultId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId,
attachmentId: attachmentId
};
let queryValues = {
testSubResultId: testSubResultId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "2a632e97-e014-4275-978f-8e5c4906d4b3", routeValues, queryValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/zip", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {Contracts.TestAttachmentRequestModel} attachmentRequestModel
* @param {string} project - Project ID or project name
* @param {number} runId
*/
createTestRunAttachment(attachmentRequestModel, project, runId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "b5731898-8206-477a-a51d-3fdf116fc6bf", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, attachmentRequestModel, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} attachmentId
*/
deleteTestRunAttachment(project, runId, attachmentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
attachmentId: attachmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "b5731898-8206-477a-a51d-3fdf116fc6bf", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.del(url, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns a test run attachment
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} attachmentId
*/
getTestRunAttachmentContent(project, runId, attachmentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
attachmentId: attachmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "b5731898-8206-477a-a51d-3fdf116fc6bf", routeValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/octet-stream", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} runId
*/
getTestRunAttachments(project, runId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "b5731898-8206-477a-a51d-3fdf116fc6bf", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestAttachment, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Returns a test run attachment
*
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} attachmentId
*/
getTestRunAttachmentZip(project, runId, attachmentId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
attachmentId: attachmentId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "b5731898-8206-477a-a51d-3fdf116fc6bf", routeValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("application/zip", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} testCaseResultId
*/
getBugsLinkedToTestResult(project, runId, testCaseResultId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId,
testCaseResultId: testCaseResultId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "d8dbf98f-eb34-4f8d-8365-47972af34f29", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, null, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} buildId
*/
fetchSourceCodeCoverageReport(project, buildId) {
return __awaiter(this, void 0, void 0, function* () {
if (buildId == null) {
throw new TypeError('buildId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
buildId: buildId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "a459e10b-d703-4193-b3c1-60f2287918b3", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.SourceViewBuildCoverage, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} buildId
* @param {number} flags
*/
getBuildCodeCoverage(project, buildId, flags) {
return __awaiter(this, void 0, void 0, function* () {
if (buildId == null) {
throw new TypeError('buildId can not be null or undefined');
}
if (flags == null) {
throw new TypeError('flags can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
buildId: buildId,
flags: flags,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "9b3e1ece-c6ab-4fbb-8167-8a32a0c92216", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.BuildCoverage, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* http://(tfsserver):8080/tfs/DefaultCollection/_apis/test/CodeCoverage?buildId=10&deltaBuildId=9 Request: build id and delta build id (optional)
*
* @param {string} project - Project ID or project name
* @param {number} buildId
* @param {number} deltaBuildId
*/
getCodeCoverageSummary(project, buildId, deltaBuildId) {
return __awaiter(this, void 0, void 0, function* () {
if (buildId == null) {
throw new TypeError('buildId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
buildId: buildId,
deltaBuildId: deltaBuildId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "9b3e1ece-c6ab-4fbb-8167-8a32a0c92216", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.CodeCoverageSummary, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* http://(tfsserver):8080/tfs/DefaultCollection/_apis/test/CodeCoverage?buildId=10 Request: Json of code coverage summary
*
* @param {string} project - Project ID or project name
* @param {number} buildId
* @param {Contracts.CodeCoverageData} coverageData
*/
updateCodeCoverageSummary(project, buildId, coverageData) {
return __awaiter(this, void 0, void 0, function* () {
if (buildId == null) {
throw new TypeError('buildId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
buildId: buildId,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "9b3e1ece-c6ab-4fbb-8167-8a32a0c92216", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, coverageData, options);
let ret = this.formatResponse(res.result, null, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} runId
* @param {number} flags
*/
getTestRunCodeCoverage(project, runId, flags) {
return __awaiter(this, void 0, void 0, function* () {
if (flags == null) {
throw new TypeError('flags can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId
};
let queryValues = {
flags: flags,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "5641efbc-6f9b-401a-baeb-d3da22489e5e", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, null, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {Contracts.CustomTestFieldDefinition[]} newFields
* @param {string} project - Project ID or project name
*/
addCustomFields(newFields, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "b67d46d8-b70e-4dcc-a98c-7f74b52ba82f", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, newFields, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.CustomTestFieldDefinition, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {Contracts.CustomTestFieldScope} scopeFilter
*/
queryCustomFields(project, scopeFilter) {
return __awaiter(this, void 0, void 0, function* () {
if (scopeFilter == null) {
throw new TypeError('scopeFilter can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
scopeFilter: scopeFilter,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "b67d46d8-b70e-4dcc-a98c-7f74b52ba82f", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.CustomTestFieldDefinition, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get file coverage for the specified file
*
* @param {Contracts.FileCoverageRequest} fileCoverageRequest - File details with pull request iteration context
* @param {string} project - Project ID or project name
*/
getFileLevelCodeCoverage(fileCoverageRequest, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "4a6d0c46-51ca-45aa-9163-249cee3289b7", routeValues);
let url = verData.requestUrl;
let apiVersion = verData.apiVersion;
let accept = this.createAcceptHeader("text/plain", apiVersion);
resolve((yield this.http.get(url, { "Accept": accept })).message);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} buildDefinitionId
* @param {Date} minBuildCreatedDate
*/
getFlakyTestResultsByBuildDefinitionId(project, buildDefinitionId, minBuildCreatedDate) {
return __awaiter(this, void 0, void 0, function* () {
if (buildDefinitionId == null) {
throw new TypeError('buildDefinitionId can not be null or undefined');
}
if (minBuildCreatedDate == null) {
throw new TypeError('minBuildCreatedDate can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
buildDefinitionId: buildDefinitionId,
minBuildCreatedDate: minBuildCreatedDate,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "8ed3cf63-7153-4722-a107-c49dae996143", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestCaseResult, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} runId
*/
getFlakyTestResultsByTestRun(project, runId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "31cc4b31-416f-45cd-9b45-39534279e10c", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestCaseResult, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {Contracts.ResultsFilter} filter
* @param {string} project - Project ID or project name
*/
queryTestResultHistory(filter, project) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "bdf7a97b-0395-4da8-9d5d-f957619327d1", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.create(url, filter, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestResultHistory, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get test run message logs
*
* @param {string} project - Project ID or project name
* @param {number} runId - ID of the run to get.
*/
getTestRunMessageLogs(project, runId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "e9ab0c6a-1984-418b-87c0-ee4202318ba3", routeValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestMessageLogDetails, true);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* Get summary of test results.
*
* @param {string} project - Project ID or project name
* @param {number} pipelineId - Pipeline Id. This is same as build Id.
* @param {string} stageName - Name of the stage. Maximum supported length for name is 256 character.
* @param {string} phaseName - Name of the phase. Maximum supported length for name is 256 character.
* @param {string} jobName - Matrixing in YAML generates copies of a job with different inputs in matrix. JobName is the name of those input. Maximum supported length for name is 256 character.
* @param {Contracts.Metrics[]} metricNames
* @param {boolean} groupByNode - Group summary for each node of the pipleine heirarchy
*/
getTestPipelineMetrics(project, pipelineId, stageName, phaseName, jobName, metricNames, groupByNode) {
return __awaiter(this, void 0, void 0, function* () {
if (pipelineId == null) {
throw new TypeError('pipelineId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
pipelineId: pipelineId,
stageName: stageName,
phaseName: phaseName,
jobName: jobName,
metricNames: metricNames && metricNames.join(","),
groupByNode: groupByNode,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "65f35817-86a1-4131-b38b-3ec2d4744e53", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.PipelineTestMetrics, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} buildId
* @param {string} publishContext
* @param {string} groupBy
* @param {string} filter
* @param {string} orderby
* @param {boolean} shouldIncludeResults
* @param {boolean} queryRunSummaryForInProgress
*/
getTestResultDetailsForBuild(project, buildId, publishContext, groupBy, filter, orderby, shouldIncludeResults, queryRunSummaryForInProgress) {
return __awaiter(this, void 0, void 0, function* () {
if (buildId == null) {
throw new TypeError('buildId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
buildId: buildId,
publishContext: publishContext,
groupBy: groupBy,
'$filter': filter,
'$orderby': orderby,
shouldIncludeResults: shouldIncludeResults,
queryRunSummaryForInProgress: queryRunSummaryForInProgress,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "a518c749-4524-45b2-a7ef-1ac009b312cd", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestResultsDetails, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {string} project - Project ID or project name
* @param {number} releaseId
* @param {number} releaseEnvId
* @param {string} publishContext
* @param {string} groupBy
* @param {string} filter
* @param {string} orderby
* @param {boolean} shouldIncludeResults
* @param {boolean} queryRunSummaryForInProgress
*/
getTestResultDetailsForRelease(project, releaseId, releaseEnvId, publishContext, groupBy, filter, orderby, shouldIncludeResults, queryRunSummaryForInProgress) {
return __awaiter(this, void 0, void 0, function* () {
if (releaseId == null) {
throw new TypeError('releaseId can not be null or undefined');
}
if (releaseEnvId == null) {
throw new TypeError('releaseEnvId can not be null or undefined');
}
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project
};
let queryValues = {
releaseId: releaseId,
releaseEnvId: releaseEnvId,
publishContext: publishContext,
groupBy: groupBy,
'$filter': filter,
'$orderby': orderby,
shouldIncludeResults: shouldIncludeResults,
queryRunSummaryForInProgress: queryRunSummaryForInProgress,
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "19a8183a-69fb-47d7-bfbf-1b6b0d921294", routeValues, queryValues);
let url = verData.requestUrl;
let options = this.createRequestOptions('application/json', verData.apiVersion);
let res;
res = yield this.rest.get(url, options);
let ret = this.formatResponse(res.result, Contracts.TypeInfo.TestResultsDetails, false);
resolve(ret);
}
catch (err) {
reject(err);
}
}));
});
}
/**
* @param {Contracts.TestResultDocument} document
* @param {string} project - Project ID or project name
* @param {number} runId
*/
publishTestResultDocument(document, project, runId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let routeValues = {
project: project,
runId: runId
};
try {
let verData = yield this.vsoClient.getVersioningData("7.2-preview.1", "testresults", "74838649-b038-42f1-a0e7-6deb3973bf14", routeValues);