awaitTerminationForFileValidation()

in lib/RunnerFiles/CreateAndRunTest.js [145:171]


    awaitTerminationForFileValidation(apiService) {
        return __awaiter(this, void 0, void 0, function* () {
            var _a, _b, _c;
            let minutesToAdd = 10;
            let startTime = new Date();
            let maxAllowedTime = new Date(startTime.getTime() + minutesToAdd * 60000);
            let validationStatus = PayloadModels_1.FileStatus.VALIDATION_INITIATED;
            let testObj = null;
            let retry = 5;
            while (maxAllowedTime > (new Date()) && !Util.isTerminalFileStatus(validationStatus)) {
                yield Util.sleep(5000);
                try {
                    testObj = yield apiService.getTestAPI();
                    let inputScriptFileInfo;
                    testObj && (inputScriptFileInfo = testObj.kind == TestKind_1.TestKind.URL ? (_a = testObj.inputArtifacts) === null || _a === void 0 ? void 0 : _a.urlTestConfigFileInfo : (_b = testObj.inputArtifacts) === null || _b === void 0 ? void 0 : _b.testScriptFileInfo);
                    validationStatus = (_c = inputScriptFileInfo === null || inputScriptFileInfo === void 0 ? void 0 : inputScriptFileInfo.validationStatus) !== null && _c !== void 0 ? _c : validationStatus;
                }
                catch (e) {
                    retry--;
                    if (retry == 0) {
                        throw new Error("Unable to validate the test plan. Please retry. Failed with error :" + e);
                    }
                }
            }
            return testObj;
        });
    }