getTestAPI()

in lib/services/APIService.js [78:105]


    getTestAPI() {
        return __awaiter(this, arguments, void 0, function* (allow404 = false) {
            var _a, _b;
            let urlSuffix = "tests/" + this.testId + "?api-version=" + UtilModels_1.ApiVersionConstants.latestVersion;
            let url = new URL(urlSuffix, this.baseURL);
            let header = yield this.authContext.getDataPlaneHeader(UtilModels_1.FetchCallType.get);
            let testResult = yield FetchUtil.httpClientRetries(url.toString(), header, UtilModels_1.FetchCallType.get, 3, "");
            if (testResult.message.statusCode == 200) {
                let testObj = yield Util.getResultObj(testResult);
                if (testObj == null) {
                    throw new Error(Util.errorCorrection(testResult));
                }
                return testObj;
            }
            else if (testResult.message.statusCode == 404 && allow404) {
                return null;
            }
            if (testResult.message.statusCode == 401 || testResult.message.statusCode == 403) {
                var message = "Service Principal does not have sufficient permissions. Please assign "
                    + "the Load Test Contributor role to the service principal. Follow the steps listed at "
                    + "https://learn.microsoft.com/en-us/azure/load-testing/how-to-configure-load-test-cicd?tabs=github#configure-the-github-actions-workflow-to-run-a-load-test";
                throw new Error(message);
            }
            let errorObj = yield Util.getResultObj(testResult);
            let err = ((_a = errorObj === null || errorObj === void 0 ? void 0 : errorObj.error) === null || _a === void 0 ? void 0 : _a.message) ? (_b = errorObj === null || errorObj === void 0 ? void 0 : errorObj.error) === null || _b === void 0 ? void 0 : _b.message : Util.errorCorrection(testResult);
            throw new Error(err);
        });
    }