UNPKG

azure-devops-node-api

Version:
1,112 lines (1,111 loc) 174 kB
"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);