@sasjs/cli 3.6.1 → 3.6.5
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 +0 -3
- package/build/cli.js +4 -4
- package/build/cli.spec.js +6 -6
- package/build/commands/add/addCommand.js +2 -2
- package/build/commands/add/addCredential.js +27 -27
- package/build/commands/add/addTarget.js +10 -10
- package/build/commands/add/internal/input.js +30 -30
- package/build/commands/add/internal/saveConfig.js +2 -2
- package/build/commands/add/spec/addCommand.spec.js +24 -20
- package/build/commands/add/spec/addCredential.spec.js +14 -14
- package/build/commands/add/spec/addTarget.spec.js +22 -22
- package/build/commands/build/build.js +81 -77
- package/build/commands/build/buildCommand.js +3 -3
- package/build/commands/build/compileBuildCommand.js +4 -4
- package/build/commands/build/internal/config.js +8 -8
- package/build/commands/build/internal/getLaunchPageCode.js +2 -2
- package/build/commands/build/spec/build.spec.js +10 -10
- package/build/commands/build/spec/buildCommand.spec.js +16 -12
- package/build/commands/build/spec/cb.spec.server.js +18 -18
- package/build/commands/build/spec/compileBuildCommand.spec.js +17 -13
- package/build/commands/compile/compile.js +61 -61
- package/build/commands/compile/compileCommand.js +10 -10
- package/build/commands/compile/compileSingleFile.js +17 -17
- package/build/commands/compile/internal/checkCompileStatus.js +11 -11
- package/build/commands/compile/internal/compareFolders.js +11 -11
- package/build/commands/compile/internal/compileJobFile.js +3 -3
- package/build/commands/compile/internal/compileServiceFile.js +14 -14
- package/build/commands/compile/internal/compileTestFile.js +41 -37
- package/build/commands/compile/internal/getAllJobFolders.js +13 -9
- package/build/commands/compile/internal/getAllServiceFolders.js +13 -9
- package/build/commands/compile/internal/getServerType.js +1 -1
- package/build/commands/compile/internal/identifySasFile.js +2 -2
- package/build/commands/compile/internal/loadDependencies.js +5 -5
- package/build/commands/compile/internal/spec/compileTestFile.spec.js +40 -40
- package/build/commands/compile/spec/compareFolders.spec.js +27 -27
- package/build/commands/compile/spec/compile.spec.js +93 -93
- package/build/commands/compile/spec/compileCommand.spec.js +37 -33
- package/build/commands/compile/spec/compileJobFile.spec.js +12 -22
- package/build/commands/compile/spec/compileServiceFile.spec.js +12 -22
- package/build/commands/compile/spec/copyFilesToBuildFolder.spec.js +7 -7
- package/build/commands/compile/spec/loadDependencies.spec.js +31 -162
- package/build/commands/context/contextCommand.js +16 -16
- package/build/commands/context/create.js +1 -1
- package/build/commands/context/delete.js +2 -2
- package/build/commands/context/edit.js +1 -1
- package/build/commands/context/export.js +5 -5
- package/build/commands/context/internal/validateConfigPath.js +1 -1
- package/build/commands/context/list.js +4 -4
- package/build/commands/context/spec/contextCommand.spec.js +80 -76
- package/build/commands/context/spec/create.spec.js +3 -3
- package/build/commands/context/spec/delete.spec.js +3 -3
- package/build/commands/context/spec/edit.spec.js +3 -3
- package/build/commands/context/spec/export.spec.js +8 -8
- package/build/commands/context/spec/list.spec.js +5 -5
- package/build/commands/create/create.js +12 -12
- package/build/commands/create/createCommand.js +2 -2
- package/build/commands/create/internal/createReadme.js +2 -2
- package/build/commands/create/spec/create.spec.js +39 -39
- package/build/commands/create/spec/createCommand.spec.js +14 -10
- package/build/commands/db/db.js +22 -22
- package/build/commands/db/dbCommand.js +1 -1
- package/build/commands/db/spec/db.spec.js +8 -8
- package/build/commands/db/spec/dbCommand.spec.js +11 -7
- package/build/commands/deploy/compileBuildDeployCommand.js +6 -6
- package/build/commands/deploy/deploy.js +39 -39
- package/build/commands/deploy/deployCommand.js +2 -2
- package/build/commands/deploy/internal/getDeployScripts.js +14 -10
- package/build/commands/deploy/spec/cbd.spec.js +14 -14
- package/build/commands/deploy/spec/cbd.spec.server.js +40 -40
- package/build/commands/deploy/spec/compileBuildDeployCommand.spec.js +18 -14
- package/build/commands/deploy/spec/deployCommand.spec.js +15 -11
- package/build/commands/deploy/spec/getDeployScripts.spec.js +8 -8
- package/build/commands/deploy/spec/utils.js +17 -17
- package/build/commands/docs/docsCommand.js +7 -7
- package/build/commands/docs/generateDocs.js +33 -29
- package/build/commands/docs/generateDot.js +12 -8
- package/build/commands/docs/initDocs.js +1 -1
- package/build/commands/docs/internal/createDotFiles.js +6 -6
- package/build/commands/docs/internal/getDotFileContent.js +17 -17
- package/build/commands/docs/internal/getFileInputs.js +1 -1
- package/build/commands/docs/internal/getFileOutputs.js +1 -1
- package/build/commands/docs/internal/getFoldersForDocs.js +4 -4
- package/build/commands/docs/internal/populateNodeDictionary.js +1 -1
- package/build/commands/docs/spec/docsCommand.spec.js +25 -21
- package/build/commands/docs/spec/generateDocs.spec.js +60 -60
- package/build/commands/docs/spec/generateDot.spec.js +23 -23
- package/build/commands/docs/spec/getDocConfig.spec.js +2 -2
- package/build/commands/docs/spec/initDocs.spec.js +7 -7
- package/build/commands/flow/execute.js +8 -8
- package/build/commands/flow/flowCommand.js +5 -5
- package/build/commands/flow/internal/checkPredecessorDeadlock.js +11 -7
- package/build/commands/flow/internal/executeFlow.js +23 -23
- package/build/commands/flow/internal/failAllSuccessors.js +1 -1
- package/build/commands/flow/internal/generateFileName.js +2 -2
- package/build/commands/flow/internal/normalizeFilePath.js +1 -1
- package/build/commands/flow/internal/parseJobDetails.js +3 -3
- package/build/commands/flow/internal/printError.js +1 -1
- package/build/commands/flow/internal/saveLog.js +8 -8
- package/build/commands/flow/internal/saveToCsv.js +2 -2
- package/build/commands/flow/internal/spec/allFlowsCompleted.spec.js +4 -4
- package/build/commands/flow/internal/spec/checkPredecessorDeadlock.spec.js +4 -4
- package/build/commands/flow/internal/spec/executeFlow.spec.js +10 -10
- package/build/commands/flow/internal/spec/failAllSuccessors.spec.js +1 -1
- package/build/commands/flow/internal/spec/saveToCsv.spec.js +16 -16
- package/build/commands/flow/internal/spec/validateParams.spec.js +33 -33
- package/build/commands/flow/internal/validateParams.js +17 -17
- package/build/commands/flow/spec/flow.spec.js +1 -1
- package/build/commands/flow/spec/flow.spec.server.js +60 -60
- package/build/commands/flow/spec/flowCommand.spec.js +16 -12
- package/build/commands/folder/create.js +2 -2
- package/build/commands/folder/delete.js +2 -2
- package/build/commands/folder/folderCommand.js +11 -11
- package/build/commands/folder/move.js +2 -2
- package/build/commands/folder/spec/folder.spec.server.js +35 -35
- package/build/commands/folder/spec/folderCommand.spec.js +23 -19
- package/build/commands/help/help.js +50 -48
- package/build/commands/help/helpCommand.js +1 -1
- package/build/commands/help/spec/help.spec.js +8 -8
- package/build/commands/help/spec/helpCommand.spec.js +11 -7
- package/build/commands/init/init.js +7 -7
- package/build/commands/init/initCommand.js +1 -1
- package/build/commands/init/spec/init.spec.server.js +17 -17
- package/build/commands/init/spec/initCommand.spec.js +11 -7
- package/build/commands/job/internal/execute/sasjs.js +1 -1
- package/build/commands/job/internal/execute/viya.js +35 -35
- package/build/commands/job/internal/utils.js +6 -6
- package/build/commands/job/jobCommand.js +6 -6
- package/build/commands/job/spec/execute.spec.js +6 -6
- package/build/commands/job/spec/getContextName.spec.js +2 -2
- package/build/commands/job/spec/job.spec.server.js +53 -53
- package/build/commands/job/spec/jobCommand.spec.js +17 -13
- package/build/commands/lint/initLint.js +2 -2
- package/build/commands/lint/lintCommand.js +10 -10
- package/build/commands/lint/processLint.js +5 -5
- package/build/commands/lint/spec/lintCommand.spec.js +19 -15
- package/build/commands/request/request.js +16 -16
- package/build/commands/request/requestCommand.js +5 -5
- package/build/commands/request/spec/request.spec.server.js +71 -71
- package/build/commands/request/spec/requestCommand.spec.js +17 -13
- package/build/commands/run/run.js +23 -23
- package/build/commands/run/runCommand.js +2 -2
- package/build/commands/run/spec/run.spec.server.js +51 -51
- package/build/commands/run/spec/runCommand.spec.js +10 -6
- package/build/commands/servicepack/deploy.js +6 -6
- package/build/commands/servicepack/servicePackCommand.js +3 -3
- package/build/commands/servicepack/spec/servicepack.spec.server.js +6 -6
- package/build/commands/servicepack/spec/servicepackCommand.spec.js +10 -6
- package/build/commands/shared/createConfigFile.js +2 -2
- package/build/commands/shared/createFileStructure.js +6 -6
- package/build/commands/shared/createLintConfigFile.js +1 -1
- package/build/commands/shared/deployToSasViyaWithServicePack.js +4 -4
- package/build/commands/shared/fetchLogFileContent.js +10 -6
- package/build/commands/testing/internal/saveOutput.js +38 -34
- package/build/commands/testing/spec/testCommand.spec.js +17 -13
- package/build/commands/testing/spec/testing.spec.server.js +38 -38
- package/build/commands/testing/test.js +45 -41
- package/build/commands/testing/testCommand.js +2 -2
- package/build/commands/version/spec/version.spec.js +1 -1
- package/build/commands/version/spec/versionCommand.spec.js +11 -7
- package/build/commands/version/version.js +3 -3
- package/build/commands/version/versionCommand.js +2 -2
- package/build/commands/web/internal/createAssetServices.js +28 -24
- package/build/commands/web/internal/getWebServiceContent.js +6 -6
- package/build/commands/web/internal/sasjsout.d.ts +1 -1
- package/build/commands/web/internal/sasjsout.js +1 -1
- package/build/commands/web/internal/spec/updateLinkTag.spec.js +2 -2
- package/build/commands/web/internal/spec/updateScriptTag.spec.js +10 -10
- package/build/commands/web/internal/updateAllTags.js +19 -15
- package/build/commands/web/internal/updateLinkTag.js +2 -2
- package/build/commands/web/internal/updateScriptTag.js +6 -6
- package/build/commands/web/spec/web.spec.js +23 -23
- package/build/commands/web/spec/webCommand.spec.js +16 -12
- package/build/commands/web/web.js +25 -25
- package/build/commands/web/webCommand.js +3 -3
- package/build/types/command/commandBase.js +19 -15
- package/build/types/command/parse.js +1 -1
- package/build/types/command/spec/commandBase.spec.js +16 -12
- package/build/types/command/targetCommand.js +4 -4
- package/build/types/command/unalias.js +9 -5
- package/build/utils/auth.js +7 -7
- package/build/utils/config.js +53 -49
- package/build/utils/displayResult.js +4 -4
- package/build/utils/file.js +11 -11
- package/build/utils/fileStructures/builtFiles.js +2 -2
- package/build/utils/fileStructures/builtFilesCustom1.js +2 -2
- package/build/utils/getLogFilePath.js +1 -1
- package/build/utils/loadEnvVariables.js +3 -3
- package/build/utils/prefixAppLoc.js +1 -1
- package/build/utils/saveLog.js +7 -7
- package/build/utils/setConstants.js +4 -4
- package/build/utils/setProjectDir.js +2 -2
- package/build/utils/spec/config.spec.js +80 -80
- package/build/utils/spec/displayResult.spec.js +7 -7
- package/build/utils/spec/file.spec.js +15 -15
- package/build/utils/spec/removeComments.spec.js +11 -11
- package/build/utils/spec/setConstants.spec.js +3 -3
- package/build/utils/spec/utils.spec.js +55 -55
- package/build/utils/test.js +59 -59
- package/build/utils/utils.js +47 -43
- package/package.json +11 -11
|
@@ -65,12 +65,12 @@ function execute(target, sasjs, authConfig, source, logFolder, csvFile, streamLo
|
|
|
65
65
|
var _e;
|
|
66
66
|
return __generator(this, function (_f) {
|
|
67
67
|
switch (_f.label) {
|
|
68
|
-
case 0: return [4 /*yield*/, internal_1.validateParams(target, source, csvFile, logFolder)];
|
|
68
|
+
case 0: return [4 /*yield*/, (0, internal_1.validateParams)(target, source, csvFile, logFolder)];
|
|
69
69
|
case 1:
|
|
70
70
|
_a = _f.sent(), terminate = _a.terminate, message = _a.message, flows = _a.flows, csvFileRealPath = _a.csvFile, logFolderRealPath = _a.logFolder;
|
|
71
71
|
if (terminate)
|
|
72
72
|
return [2 /*return*/, reject(message)];
|
|
73
|
-
_b = internal_1.checkPredecessorDeadlock(flows), predecessorDeadlock = _b.present, deadlockChain = _b.chain;
|
|
73
|
+
_b = (0, internal_1.checkPredecessorDeadlock)(flows), predecessorDeadlock = _b.present, deadlockChain = _b.chain;
|
|
74
74
|
if (predecessorDeadlock)
|
|
75
75
|
return [2 /*return*/, reject('Circular dependency found in flows, cannot proceed\n- ' +
|
|
76
76
|
deadlockChain.join(' -> '))];
|
|
@@ -80,7 +80,7 @@ function execute(target, sasjs, authConfig, source, logFolder, csvFile, streamLo
|
|
|
80
80
|
streamLog: streamLog,
|
|
81
81
|
logFolderPath: logFolderRealPath
|
|
82
82
|
};
|
|
83
|
-
(_e = process.logger) === null || _e === void 0 ? void 0 : _e.info("Executing flow for '"
|
|
83
|
+
(_e = process.logger) === null || _e === void 0 ? void 0 : _e.info("Executing flow for '".concat(target.name, "' target with app location '").concat(target.appLoc, "':"));
|
|
84
84
|
preExecuteFlow = function (flowName) { return __awaiter(_this, void 0, void 0, function () {
|
|
85
85
|
var flow, predecessors, predecessors_1, predecessors_1_1, predecessorName, e_1_1, _a, jobStatus, flowStatus, _b, completed, completedWithAllSuccess;
|
|
86
86
|
var e_1, _c;
|
|
@@ -104,11 +104,11 @@ function execute(target, sasjs, authConfig, source, logFolder, csvFile, streamLo
|
|
|
104
104
|
if (!!predecessors_1_1.done) return [3 /*break*/, 7];
|
|
105
105
|
predecessorName = predecessors_1_1.value;
|
|
106
106
|
if (!!Object.keys(flows).includes(predecessorName)) return [3 /*break*/, 3];
|
|
107
|
-
displayResult_1.displayError({}, "Predecessor '"
|
|
107
|
+
(0, displayResult_1.displayError)({}, "Predecessor '".concat(predecessorName, "' mentioned in '").concat(flowName, "' flow does not exist."));
|
|
108
108
|
return [3 /*break*/, 6];
|
|
109
109
|
case 3:
|
|
110
110
|
if (!(predecessorName === flowName)) return [3 /*break*/, 4];
|
|
111
|
-
displayResult_1.displayError({}, "Predecessor '"
|
|
111
|
+
(0, displayResult_1.displayError)({}, "Predecessor '".concat(predecessorName, "' mentioned in '").concat(flowName, "' cannot point to itself."));
|
|
112
112
|
return [3 /*break*/, 6];
|
|
113
113
|
case 4:
|
|
114
114
|
if (!!flows[predecessorName].execution) return [3 /*break*/, 6];
|
|
@@ -133,14 +133,14 @@ function execute(target, sasjs, authConfig, source, logFolder, csvFile, streamLo
|
|
|
133
133
|
case 10:
|
|
134
134
|
if (flow.execution)
|
|
135
135
|
return [2 /*return*/];
|
|
136
|
-
return [4 /*yield*/, internal_1.executeFlow(flow, sasjs, pollOptions, target, authConfig, csvFileRealPath)];
|
|
136
|
+
return [4 /*yield*/, (0, internal_1.executeFlow)(flow, sasjs, pollOptions, target, authConfig, csvFileRealPath)];
|
|
137
137
|
case 11:
|
|
138
138
|
_a = _d.sent(), jobStatus = _a.jobStatus, flowStatus = _a.flowStatus;
|
|
139
139
|
if (!jobStatus)
|
|
140
|
-
internal_1.failAllSuccessors(flows, flowName);
|
|
140
|
+
(0, internal_1.failAllSuccessors)(flows, flowName);
|
|
141
141
|
if (flowStatus.terminate)
|
|
142
142
|
reject(flowStatus.message);
|
|
143
|
-
_b = internal_1.allFlowsCompleted(flows), completed = _b.completed, completedWithAllSuccess = _b.completedWithAllSuccess;
|
|
143
|
+
_b = (0, internal_1.allFlowsCompleted)(flows), completed = _b.completed, completedWithAllSuccess = _b.completedWithAllSuccess;
|
|
144
144
|
if (completed) {
|
|
145
145
|
if (completedWithAllSuccess)
|
|
146
146
|
resolve(csvFileRealPath);
|
|
@@ -129,8 +129,8 @@ var FlowCommand = /** @class */ (function (_super) {
|
|
|
129
129
|
appLoc: target.appLoc,
|
|
130
130
|
serverType: target.serverType
|
|
131
131
|
});
|
|
132
|
-
return [4 /*yield*/, utils_1.getAuthConfig(target).catch(function (err) {
|
|
133
|
-
utils_1.displayError(err, 'Error while getting access token.');
|
|
132
|
+
return [4 /*yield*/, (0, utils_1.getAuthConfig)(target).catch(function (err) {
|
|
133
|
+
(0, utils_1.displayError)(err, 'Error while getting access token.');
|
|
134
134
|
return null;
|
|
135
135
|
})];
|
|
136
136
|
case 2:
|
|
@@ -160,15 +160,15 @@ var FlowCommand = /** @class */ (function (_super) {
|
|
|
160
160
|
csvFile = this.parsed.csvFile;
|
|
161
161
|
logFolder = this.parsed.logFolder;
|
|
162
162
|
streamLog = this.parsed.streamLog;
|
|
163
|
-
return [4 /*yield*/, execute_1.execute(target, sasjs, authConfig, source, logFolder, csvFile, streamLog)
|
|
163
|
+
return [4 /*yield*/, (0, execute_1.execute)(target, sasjs, authConfig, source, logFolder, csvFile, streamLog)
|
|
164
164
|
.then(function (csvFilePath) {
|
|
165
165
|
var _a;
|
|
166
166
|
var pathSepRegExp = new RegExp(path_1.default.sep.replace(/\\/g, '\\\\'), 'g');
|
|
167
|
-
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.info("CSV file located at: "
|
|
167
|
+
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.info("CSV file located at: ".concat(csvFilePath.replace(pathSepRegExp, '/')));
|
|
168
168
|
return command_1.ReturnCode.Success;
|
|
169
169
|
})
|
|
170
170
|
.catch(function (err) {
|
|
171
|
-
utils_1.displayError(err, 'An error has occurred when executing this flow.');
|
|
171
|
+
(0, utils_1.displayError)(err, 'An error has occurred when executing this flow.');
|
|
172
172
|
return command_1.ReturnCode.InternalError;
|
|
173
173
|
})];
|
|
174
174
|
case 1:
|
|
@@ -15,10 +15,14 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
15
15
|
}
|
|
16
16
|
return ar;
|
|
17
17
|
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
19
|
-
for (var i = 0,
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
22
26
|
};
|
|
23
27
|
var __values = (this && this.__values) || function(o) {
|
|
24
28
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
@@ -46,15 +50,15 @@ var checkPredecessorDeadlockRecursive = function (flows, flowName, chain) {
|
|
|
46
50
|
var e_1, _a;
|
|
47
51
|
var _b;
|
|
48
52
|
if (chain.includes(flowName))
|
|
49
|
-
return { chain: __spreadArray(__spreadArray([], __read(chain)), [flowName]), present: true };
|
|
53
|
+
return { chain: __spreadArray(__spreadArray([], __read(chain), false), [flowName], false), present: true };
|
|
50
54
|
var predecessors = (_b = flows[flowName]) === null || _b === void 0 ? void 0 : _b.predecessors;
|
|
51
55
|
if (predecessors)
|
|
52
56
|
try {
|
|
53
57
|
for (var predecessors_1 = __values(predecessors), predecessors_1_1 = predecessors_1.next(); !predecessors_1_1.done; predecessors_1_1 = predecessors_1.next()) {
|
|
54
58
|
var predecessorName = predecessors_1_1.value;
|
|
55
|
-
var result = checkPredecessorDeadlockRecursive(flows, predecessorName, __spreadArray(__spreadArray([], __read(chain)), [
|
|
59
|
+
var result = checkPredecessorDeadlockRecursive(flows, predecessorName, __spreadArray(__spreadArray([], __read(chain), false), [
|
|
56
60
|
flowName
|
|
57
|
-
]));
|
|
61
|
+
], false));
|
|
58
62
|
if (result.present)
|
|
59
63
|
return result;
|
|
60
64
|
}
|
|
@@ -51,7 +51,7 @@ var executeFlow = function (flow, sasjs, pollOptions, target, authConfig, csvFil
|
|
|
51
51
|
case 0:
|
|
52
52
|
logFolder = pollOptions.logFolderPath;
|
|
53
53
|
flowName = flow.name;
|
|
54
|
-
utils_1.displaySuccess("'"
|
|
54
|
+
(0, utils_1.displaySuccess)("'".concat(flowName, "' flow started."));
|
|
55
55
|
jobStatus = true, flowStatus = { terminate: false, message: '' };
|
|
56
56
|
flow.execution = 'started';
|
|
57
57
|
return [4 /*yield*/, Promise.all(flow.jobs.map(function (job) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -60,11 +60,11 @@ var executeFlow = function (flow, sasjs, pollOptions, target, authConfig, csvFil
|
|
|
60
60
|
return __generator(this, function (_c) {
|
|
61
61
|
switch (_c.label) {
|
|
62
62
|
case 0:
|
|
63
|
-
jobLocation = utils_1.prefixAppLoc(target.appLoc, job.location);
|
|
64
|
-
utils_1.displaySuccess("'"
|
|
63
|
+
jobLocation = (0, utils_1.prefixAppLoc)(target.appLoc, job.location);
|
|
64
|
+
(0, utils_1.displaySuccess)("'".concat(job.location, "' has been submitted for execution."));
|
|
65
65
|
logName = '';
|
|
66
66
|
if (pollOptions.streamLog) {
|
|
67
|
-
logName = logFolder
|
|
67
|
+
logName = "".concat(logFolder, "/").concat((0, _1.generateFileName)(flowName, jobLocation));
|
|
68
68
|
}
|
|
69
69
|
return [4 /*yield*/, sasjs
|
|
70
70
|
.startComputeJob(jobLocation, null, {
|
|
@@ -76,7 +76,7 @@ var executeFlow = function (flow, sasjs, pollOptions, target, authConfig, csvFil
|
|
|
76
76
|
return __generator(this, function (_e) {
|
|
77
77
|
switch (_e.label) {
|
|
78
78
|
case 0:
|
|
79
|
-
_1.printError(job, flowName, err);
|
|
79
|
+
(0, _1.printError)(job, flowName, err);
|
|
80
80
|
if (typeof err === 'string' &&
|
|
81
81
|
err.includes('Could not get session state')) {
|
|
82
82
|
flowStatus = {
|
|
@@ -84,12 +84,12 @@ var executeFlow = function (flow, sasjs, pollOptions, target, authConfig, csvFil
|
|
|
84
84
|
message: 'Flow has been terminated.'
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
|
-
return [4 /*yield*/, _1.saveLog((_b = (_a = err === null || err === void 0 ? void 0 : err.job) === null || _a === void 0 ? void 0 : _a.links) !== null && _b !== void 0 ? _b : [], flowName, jobLocation, logFolder, sasjs, target.serverUrl, authConfig.access_token, 1000000).catch(function (err) {
|
|
88
|
-
utils_1.displayError(err, 'Error while saving log file.');
|
|
87
|
+
return [4 /*yield*/, (0, _1.saveLog)((_b = (_a = err === null || err === void 0 ? void 0 : err.job) === null || _a === void 0 ? void 0 : _a.links) !== null && _b !== void 0 ? _b : [], flowName, jobLocation, logFolder, sasjs, target.serverUrl, authConfig.access_token, 1000000).catch(function (err) {
|
|
88
|
+
(0, utils_1.displayError)(err, 'Error while saving log file.');
|
|
89
89
|
})];
|
|
90
90
|
case 1:
|
|
91
91
|
logName = _e.sent();
|
|
92
|
-
logName = logName ? logFolder
|
|
92
|
+
logName = logName ? "".concat(logFolder, "/").concat(logName) : '';
|
|
93
93
|
predecessors = ((_c = flow.predecessors) === null || _c === void 0 ? void 0 : _c.length)
|
|
94
94
|
? flow.predecessors
|
|
95
95
|
: ['none'];
|
|
@@ -101,18 +101,18 @@ var executeFlow = function (flow, sasjs, pollOptions, target, authConfig, csvFil
|
|
|
101
101
|
logName,
|
|
102
102
|
(err === null || err === void 0 ? void 0 : err.message) || ''
|
|
103
103
|
];
|
|
104
|
-
return [4 /*yield*/, _1.saveToCsv(csvFile, data, Object.values(csvColumns_1.default), 'id').catch(function (err) {
|
|
105
|
-
utils_1.displayError(err, 'Error while saving CSV file.');
|
|
104
|
+
return [4 /*yield*/, (0, _1.saveToCsv)(csvFile, data, Object.values(csvColumns_1.default), 'id').catch(function (err) {
|
|
105
|
+
(0, utils_1.displayError)(err, 'Error while saving CSV file.');
|
|
106
106
|
})];
|
|
107
107
|
case 2:
|
|
108
108
|
_e.sent();
|
|
109
109
|
job.status = flow_1.FlowWaveJobStatus.Failure;
|
|
110
110
|
if (logName) {
|
|
111
|
-
(_d = process.logger) === null || _d === void 0 ? void 0 : _d.info("Log file located at: "
|
|
111
|
+
(_d = process.logger) === null || _d === void 0 ? void 0 : _d.info("Log file located at: ".concat((0, _1.normalizeFilePath)(logName)));
|
|
112
112
|
}
|
|
113
113
|
if (flow.jobs.filter(function (j) { return j.hasOwnProperty('status'); })
|
|
114
114
|
.length === flow.jobs.length) {
|
|
115
|
-
utils_1.displayError({}, "'"
|
|
115
|
+
(0, utils_1.displayError)({}, "'".concat(flowName, "' flow failed!"));
|
|
116
116
|
jobStatus = false;
|
|
117
117
|
}
|
|
118
118
|
return [2 /*return*/];
|
|
@@ -123,14 +123,14 @@ var executeFlow = function (flow, sasjs, pollOptions, target, authConfig, csvFil
|
|
|
123
123
|
submittedJob = _c.sent();
|
|
124
124
|
if (!(submittedJob === null || submittedJob === void 0 ? void 0 : submittedJob.job)) return [3 /*break*/, 5];
|
|
125
125
|
submittedJob = submittedJob.job;
|
|
126
|
-
details = _1.parseJobDetails(submittedJob);
|
|
126
|
+
details = (0, _1.parseJobDetails)(submittedJob);
|
|
127
127
|
if (!!pollOptions.streamLog) return [3 /*break*/, 3];
|
|
128
|
-
return [4 /*yield*/, _1.saveLog(submittedJob.links, flowName, jobLocation, logFolder, sasjs, target.serverUrl, authConfig.access_token, details === null || details === void 0 ? void 0 : details.lineCount).catch(function (err) {
|
|
129
|
-
utils_1.displayError(err, 'Error while saving log file.');
|
|
128
|
+
return [4 /*yield*/, (0, _1.saveLog)(submittedJob.links, flowName, jobLocation, logFolder, sasjs, target.serverUrl, authConfig.access_token, details === null || details === void 0 ? void 0 : details.lineCount).catch(function (err) {
|
|
129
|
+
(0, utils_1.displayError)(err, 'Error while saving log file.');
|
|
130
130
|
})];
|
|
131
131
|
case 2:
|
|
132
132
|
logName = (_c.sent());
|
|
133
|
-
logName = logName ? logFolder
|
|
133
|
+
logName = logName ? "".concat(logFolder, "/").concat(logName) : '';
|
|
134
134
|
_c.label = 3;
|
|
135
135
|
case 3:
|
|
136
136
|
predecessors = ((_a = flow.predecessors) === null || _a === void 0 ? void 0 : _a.length)
|
|
@@ -144,7 +144,7 @@ var executeFlow = function (flow, sasjs, pollOptions, target, authConfig, csvFil
|
|
|
144
144
|
logName,
|
|
145
145
|
details === null || details === void 0 ? void 0 : details.details
|
|
146
146
|
];
|
|
147
|
-
return [4 /*yield*/, _1.saveToCsv(csvFile, data, Object.values(csvColumns_1.default), 'id').catch(function (err) { return utils_1.displayError(err, 'Error while saving CSV file.'); })];
|
|
147
|
+
return [4 /*yield*/, (0, _1.saveToCsv)(csvFile, data, Object.values(csvColumns_1.default), 'id').catch(function (err) { return (0, utils_1.displayError)(err, 'Error while saving CSV file.'); })];
|
|
148
148
|
case 4:
|
|
149
149
|
_c.sent();
|
|
150
150
|
job.status =
|
|
@@ -152,23 +152,23 @@ var executeFlow = function (flow, sasjs, pollOptions, target, authConfig, csvFil
|
|
|
152
152
|
? 'success'
|
|
153
153
|
: submittedJob.state || 'failure';
|
|
154
154
|
if (job.status === 'success') {
|
|
155
|
-
utils_1.displaySuccess("'"
|
|
155
|
+
(0, utils_1.displaySuccess)("'".concat(flowName, "' flow's job located at: '").concat(job.location, "' completed."));
|
|
156
156
|
}
|
|
157
157
|
else {
|
|
158
|
-
utils_1.displayError({}, "'"
|
|
159
|
-
? " Job had been aborted due to timeout("
|
|
158
|
+
(0, utils_1.displayError)({}, "'".concat(flowName, "' flow's job located at: '").concat(job.location, "' failed with the status '").concat(job.status, "'.").concat(job.status === 'running'
|
|
159
|
+
? " Job had been aborted due to timeout(".concat((0, utils_1.millisecondsToDdHhMmSs)(pollOptions.maxPollCount * pollOptions.pollInterval), ").")
|
|
160
160
|
: ''));
|
|
161
161
|
}
|
|
162
162
|
if (logName) {
|
|
163
|
-
(_b = process.logger) === null || _b === void 0 ? void 0 : _b.info("Log file located at: "
|
|
163
|
+
(_b = process.logger) === null || _b === void 0 ? void 0 : _b.info("Log file located at: ".concat((0, _1.normalizeFilePath)(logName)));
|
|
164
164
|
}
|
|
165
165
|
if (flow.jobs.filter(function (j) { return j.status === 'success'; })
|
|
166
166
|
.length === flow.jobs.length) {
|
|
167
|
-
utils_1.displaySuccess("'"
|
|
167
|
+
(0, utils_1.displaySuccess)("'".concat(flowName, "' flow completed successfully!"));
|
|
168
168
|
}
|
|
169
169
|
else if (flow.jobs.filter(function (j) { return j.hasOwnProperty('status'); })
|
|
170
170
|
.length === flow.jobs.length) {
|
|
171
|
-
utils_1.displayError({}, "'"
|
|
171
|
+
(0, utils_1.displayError)({}, "'".concat(flowName, "' flow failed!"));
|
|
172
172
|
jobStatus = false;
|
|
173
173
|
}
|
|
174
174
|
_c.label = 5;
|
|
@@ -7,7 +7,7 @@ var failAllSuccessors = function (flows, flowName) {
|
|
|
7
7
|
successors.forEach(function (successor) {
|
|
8
8
|
flows[successor].jobs.map(function (job) { return (job.status = flow_1.FlowWaveJobStatus.Failure); });
|
|
9
9
|
flows[successor].execution = 'failedByPredecessor';
|
|
10
|
-
exports.failAllSuccessors(flows, successor);
|
|
10
|
+
(0, exports.failAllSuccessors)(flows, successor);
|
|
11
11
|
});
|
|
12
12
|
};
|
|
13
13
|
exports.failAllSuccessors = failAllSuccessors;
|
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.generateFileName = void 0;
|
|
4
4
|
var utils_1 = require("@sasjs/utils");
|
|
5
5
|
var generateFileName = function (flowName, jobLocation) {
|
|
6
|
-
return flowName
|
|
6
|
+
return "".concat(flowName, "_").concat(jobLocation
|
|
7
7
|
.split('/')
|
|
8
8
|
.splice(-1, 1)
|
|
9
9
|
.join('')
|
|
10
|
-
.replace(/\W/g, '_')
|
|
10
|
+
.replace(/\W/g, '_'), "_").concat((0, utils_1.generateTimestamp)('_'), ".log");
|
|
11
11
|
};
|
|
12
12
|
exports.generateFileName = generateFileName;
|
|
@@ -8,6 +8,6 @@ var utils_1 = require("@sasjs/utils");
|
|
|
8
8
|
var path_1 = __importDefault(require("path"));
|
|
9
9
|
var normalizeFilePath = function (filePath) {
|
|
10
10
|
var pathSepRegExp = new RegExp(path_1.default.sep.replace(/\\/g, '\\\\'), 'g');
|
|
11
|
-
return utils_1.getRealPath(filePath).replace(pathSepRegExp, '/');
|
|
11
|
+
return (0, utils_1.getRealPath)(filePath).replace(pathSepRegExp, '/');
|
|
12
12
|
};
|
|
13
13
|
exports.normalizeFilePath = normalizeFilePath;
|
|
@@ -7,9 +7,9 @@ var parseJobDetails = function (response) {
|
|
|
7
7
|
var details = '';
|
|
8
8
|
var concatDetails = function (data, title) {
|
|
9
9
|
if (data)
|
|
10
|
-
details = details.concat(details.length ? ' | ' : '', title
|
|
11
|
-
.map(function (key) { return key
|
|
12
|
-
.join('; '));
|
|
10
|
+
details = details.concat(details.length ? ' | ' : '', "".concat(title, ": ").concat(Object.keys(data)
|
|
11
|
+
.map(function (key) { return "".concat(key, ": ").concat(data[key]); })
|
|
12
|
+
.join('; ')));
|
|
13
13
|
};
|
|
14
14
|
concatDetails(response.statistics, 'Statistics');
|
|
15
15
|
concatDetails(response.listingStatistics, 'Listing Statistics');
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.printError = void 0;
|
|
4
4
|
var printError = function (job, flowName, err) {
|
|
5
5
|
var _a;
|
|
6
|
-
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.error("An error has occurred when executing '"
|
|
6
|
+
(_a = process.logger) === null || _a === void 0 ? void 0 : _a.error("An error has occurred when executing '".concat(flowName, "' flow's job located at: '").concat(job.location, "'. ").concat(typeof err === 'object'
|
|
7
7
|
? (err === null || err === void 0 ? void 0 : err.name) === 'NotFoundError'
|
|
8
8
|
? 'Job was not found.'
|
|
9
9
|
: (err === null || err === void 0 ? void 0 : err.message) || ''
|
|
@@ -61,21 +61,21 @@ var saveLog = function (links, flowName, jobLocation, logFolder, sasjs, serverUr
|
|
|
61
61
|
logObj = links.find(function (link) { return link.rel === 'log' && link.method === 'GET'; });
|
|
62
62
|
if (!logObj) return [3 /*break*/, 6];
|
|
63
63
|
logUrl = serverUrl + logObj.href;
|
|
64
|
-
return [4 /*yield*/, fetchLogFileContent_1.fetchLogFileContent(sasjs, access_token, logUrl, lineCount)];
|
|
64
|
+
return [4 /*yield*/, (0, fetchLogFileContent_1.fetchLogFileContent)(sasjs, access_token, logUrl, lineCount)];
|
|
65
65
|
case 1:
|
|
66
66
|
logJson = _a.sent();
|
|
67
|
-
logParsed = utils_2.parseLogLines(logJson);
|
|
68
|
-
logName = generateFileName_1.generateFileName(flowName, jobLocation);
|
|
67
|
+
logParsed = (0, utils_2.parseLogLines)(logJson);
|
|
68
|
+
logName = (0, generateFileName_1.generateFileName)(flowName, jobLocation);
|
|
69
69
|
_a.label = 2;
|
|
70
|
-
case 2: return [4 /*yield*/, utils_1.fileExists(path_1.default.join(logFolder, logName)).catch(function (err) {
|
|
71
|
-
return displayResult_1.displayError(err, 'Error while checking if log file exists.');
|
|
70
|
+
case 2: return [4 /*yield*/, (0, utils_1.fileExists)(path_1.default.join(logFolder, logName)).catch(function (err) {
|
|
71
|
+
return (0, displayResult_1.displayError)(err, 'Error while checking if log file exists.');
|
|
72
72
|
})];
|
|
73
73
|
case 3:
|
|
74
74
|
if (!_a.sent()) return [3 /*break*/, 4];
|
|
75
|
-
logName = generateFileName_1.generateFileName(flowName, jobLocation);
|
|
75
|
+
logName = (0, generateFileName_1.generateFileName)(flowName, jobLocation);
|
|
76
76
|
return [3 /*break*/, 2];
|
|
77
|
-
case 4: return [4 /*yield*/, utils_1.createFile(path_1.default.join(logFolder, logName), logParsed).catch(function (err) {
|
|
78
|
-
return displayResult_1.displayError(err, 'Error while creating log file.');
|
|
77
|
+
case 4: return [4 /*yield*/, (0, utils_1.createFile)(path_1.default.join(logFolder, logName), logParsed).catch(function (err) {
|
|
78
|
+
return (0, displayResult_1.displayError)(err, 'Error while creating log file.');
|
|
79
79
|
})];
|
|
80
80
|
case 5:
|
|
81
81
|
_a.sent();
|
|
@@ -57,7 +57,7 @@ var saveToCsv = function (csvFileRealPath, data, columns, prependId) { return __
|
|
|
57
57
|
_a.label = 1;
|
|
58
58
|
case 1:
|
|
59
59
|
_a.trys.push([1, 3, , 4]);
|
|
60
|
-
return [4 /*yield*/, utils_1.updateCsv(csvFileRealPath, data, columns, prependId)];
|
|
60
|
+
return [4 /*yield*/, (0, utils_1.updateCsv)(csvFileRealPath, data, columns, prependId)];
|
|
61
61
|
case 2:
|
|
62
62
|
_a.sent();
|
|
63
63
|
process.csvFileAbleToSave = true;
|
|
@@ -65,7 +65,7 @@ var saveToCsv = function (csvFileRealPath, data, columns, prependId) { return __
|
|
|
65
65
|
return [3 /*break*/, 4];
|
|
66
66
|
case 3:
|
|
67
67
|
error_1 = _a.sent();
|
|
68
|
-
displayResult_1.displayError(error_1);
|
|
68
|
+
(0, displayResult_1.displayError)(error_1);
|
|
69
69
|
reject(error_1);
|
|
70
70
|
return [3 /*break*/, 4];
|
|
71
71
|
case 4: return [2 /*return*/];
|
|
@@ -18,7 +18,7 @@ describe('allFlowsCompleted', function () {
|
|
|
18
18
|
predecessors: []
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
|
-
var completed = __1.allFlowsCompleted(flows).completed;
|
|
21
|
+
var completed = (0, __1.allFlowsCompleted)(flows).completed;
|
|
22
22
|
expect(completed).toEqual(true);
|
|
23
23
|
});
|
|
24
24
|
it('should return false, if all flows are not completed', function () {
|
|
@@ -36,7 +36,7 @@ describe('allFlowsCompleted', function () {
|
|
|
36
36
|
predecessors: []
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
|
-
var completed = __1.allFlowsCompleted(flows).completed;
|
|
39
|
+
var completed = (0, __1.allFlowsCompleted)(flows).completed;
|
|
40
40
|
expect(completed).toEqual(false);
|
|
41
41
|
});
|
|
42
42
|
it('should return true, if all flows are failed', function () {
|
|
@@ -54,7 +54,7 @@ describe('allFlowsCompleted', function () {
|
|
|
54
54
|
predecessors: []
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
-
var completed = __1.allFlowsCompleted(flows).completed;
|
|
57
|
+
var completed = (0, __1.allFlowsCompleted)(flows).completed;
|
|
58
58
|
expect(completed).toEqual(true);
|
|
59
59
|
});
|
|
60
60
|
it('should return true, if all flows are completed successfully', function () {
|
|
@@ -72,7 +72,7 @@ describe('allFlowsCompleted', function () {
|
|
|
72
72
|
predecessors: []
|
|
73
73
|
}
|
|
74
74
|
};
|
|
75
|
-
var _a = __1.allFlowsCompleted(flows), completed = _a.completed, completedWithAllSuccess = _a.completedWithAllSuccess;
|
|
75
|
+
var _a = (0, __1.allFlowsCompleted)(flows), completed = _a.completed, completedWithAllSuccess = _a.completedWithAllSuccess;
|
|
76
76
|
expect(completed).toEqual(true);
|
|
77
77
|
expect(completedWithAllSuccess).toEqual(true);
|
|
78
78
|
});
|
|
@@ -9,7 +9,7 @@ describe('checkPredecessorDeadlock', function () {
|
|
|
9
9
|
predecessors: ['flow1']
|
|
10
10
|
}
|
|
11
11
|
};
|
|
12
|
-
expect(__1.checkPredecessorDeadlock(flows)).toEqual({
|
|
12
|
+
expect((0, __1.checkPredecessorDeadlock)(flows)).toEqual({
|
|
13
13
|
present: true,
|
|
14
14
|
chain: ['flow1', 'flow1']
|
|
15
15
|
});
|
|
@@ -25,7 +25,7 @@ describe('checkPredecessorDeadlock', function () {
|
|
|
25
25
|
predecessors: ['flow1']
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
-
expect(__1.checkPredecessorDeadlock(flows)).toEqual({
|
|
28
|
+
expect((0, __1.checkPredecessorDeadlock)(flows)).toEqual({
|
|
29
29
|
present: true,
|
|
30
30
|
chain: ['flow1', 'flow2', 'flow1']
|
|
31
31
|
});
|
|
@@ -45,7 +45,7 @@ describe('checkPredecessorDeadlock', function () {
|
|
|
45
45
|
predecessors: ['flow1']
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
|
-
expect(__1.checkPredecessorDeadlock(flows)).toEqual({
|
|
48
|
+
expect((0, __1.checkPredecessorDeadlock)(flows)).toEqual({
|
|
49
49
|
present: true,
|
|
50
50
|
chain: ['flow1', 'flow2', 'flow3', 'flow1']
|
|
51
51
|
});
|
|
@@ -65,6 +65,6 @@ describe('checkPredecessorDeadlock', function () {
|
|
|
65
65
|
predecessors: ['flow1']
|
|
66
66
|
}
|
|
67
67
|
};
|
|
68
|
-
expect(__1.checkPredecessorDeadlock(flows)).toEqual({ present: false });
|
|
68
|
+
expect((0, __1.checkPredecessorDeadlock)(flows)).toEqual({ present: false });
|
|
69
69
|
});
|
|
70
70
|
});
|
|
@@ -70,7 +70,7 @@ var pollOptions = {
|
|
|
70
70
|
logFolderPath: 'fake/log/folder/path'
|
|
71
71
|
};
|
|
72
72
|
var fakeLogFileName = 'fakeLog.log';
|
|
73
|
-
var fakeLogPath = pollOptions.logFolderPath
|
|
73
|
+
var fakeLogPath = "".concat(pollOptions.logFolderPath, "/").concat(fakeLogFileName);
|
|
74
74
|
describe('executeFlow', function () {
|
|
75
75
|
var target = {
|
|
76
76
|
name: 'test-target',
|
|
@@ -119,13 +119,13 @@ describe('executeFlow', function () {
|
|
|
119
119
|
: Promise.reject()];
|
|
120
120
|
});
|
|
121
121
|
}); });
|
|
122
|
-
return [4 /*yield*/, executeFlow_1.executeFlow(flow, sasjs, pollOptions, target, {}, '')];
|
|
122
|
+
return [4 /*yield*/, (0, executeFlow_1.executeFlow)(flow, sasjs, pollOptions, target, {}, '')];
|
|
123
123
|
case 1:
|
|
124
124
|
_a.sent();
|
|
125
125
|
csvDataSuccess = [
|
|
126
126
|
flowName,
|
|
127
127
|
'none',
|
|
128
|
-
target.appLoc
|
|
128
|
+
"".concat(target.appLoc, "/").concat(flow.jobs[0].location),
|
|
129
129
|
'success',
|
|
130
130
|
fakeLogPath,
|
|
131
131
|
''
|
|
@@ -133,7 +133,7 @@ describe('executeFlow', function () {
|
|
|
133
133
|
csvDataFailed = [
|
|
134
134
|
flowName,
|
|
135
135
|
'none',
|
|
136
|
-
target.appLoc
|
|
136
|
+
"".concat(target.appLoc, "/").concat(flow.jobs[1].location),
|
|
137
137
|
'failure',
|
|
138
138
|
fakeLogPath,
|
|
139
139
|
''
|
|
@@ -166,13 +166,13 @@ describe('executeFlow', function () {
|
|
|
166
166
|
});
|
|
167
167
|
}); });
|
|
168
168
|
jest.spyOn(process.logger, 'error');
|
|
169
|
-
return [4 /*yield*/, executeFlow_1.executeFlow(flow, sasjs, pollOptions, target, {}, '')];
|
|
169
|
+
return [4 /*yield*/, (0, executeFlow_1.executeFlow)(flow, sasjs, pollOptions, target, {}, '')];
|
|
170
170
|
case 1:
|
|
171
171
|
_a.sent();
|
|
172
172
|
csvDataSuccess = [
|
|
173
173
|
flowName,
|
|
174
174
|
'none',
|
|
175
|
-
target.appLoc
|
|
175
|
+
"".concat(target.appLoc, "/").concat(flow.jobs[0].location),
|
|
176
176
|
'success',
|
|
177
177
|
fakeLogPath,
|
|
178
178
|
''
|
|
@@ -180,13 +180,13 @@ describe('executeFlow', function () {
|
|
|
180
180
|
csvDataFailed = [
|
|
181
181
|
flowName,
|
|
182
182
|
'none',
|
|
183
|
-
target.appLoc
|
|
183
|
+
"".concat(target.appLoc, "/").concat(flow.jobs[1].location),
|
|
184
184
|
'failure',
|
|
185
185
|
fakeLogPath,
|
|
186
186
|
jobNotFoundMessage
|
|
187
187
|
];
|
|
188
188
|
validateSaveToCsv([csvDataFailed, csvDataSuccess]);
|
|
189
|
-
expect(process.logger.error).toHaveBeenNthCalledWith(1, "An error has occurred when executing 'firstFlow' flow's job located at: '"
|
|
189
|
+
expect(process.logger.error).toHaveBeenNthCalledWith(1, "An error has occurred when executing 'firstFlow' flow's job located at: '".concat(nonExistingJob, "'. Job was not found."));
|
|
190
190
|
return [2 /*return*/];
|
|
191
191
|
}
|
|
192
192
|
});
|
|
@@ -207,7 +207,7 @@ describe('executeFlow', function () {
|
|
|
207
207
|
jest
|
|
208
208
|
.spyOn(internalModule, 'saveToCsv')
|
|
209
209
|
.mockImplementation(function () { return Promise.resolve(); });
|
|
210
|
-
return [4 /*yield*/, executeFlow_1.executeFlow(flow, sasjs, pollOptions, target, {}, 'fake/csv/path')];
|
|
210
|
+
return [4 /*yield*/, (0, executeFlow_1.executeFlow)(flow, sasjs, pollOptions, target, {}, 'fake/csv/path')];
|
|
211
211
|
case 1:
|
|
212
212
|
_a = _b.sent(), jobStatus = _a.jobStatus, flowStatus = _a.flowStatus;
|
|
213
213
|
expect(flowStatus).toEqual({
|
|
@@ -218,7 +218,7 @@ describe('executeFlow', function () {
|
|
|
218
218
|
csvDataFailed = [
|
|
219
219
|
'myFlow',
|
|
220
220
|
'none',
|
|
221
|
-
target.appLoc
|
|
221
|
+
"".concat(target.appLoc, "/").concat(flow.jobs[0].location),
|
|
222
222
|
'failure',
|
|
223
223
|
fakeLogPath,
|
|
224
224
|
''
|
|
@@ -29,7 +29,7 @@ describe('failAllSuccessors', function () {
|
|
|
29
29
|
predecessors: ['flow3']
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
__1.failAllSuccessors(flows, 'flow3');
|
|
32
|
+
(0, __1.failAllSuccessors)(flows, 'flow3');
|
|
33
33
|
expect(flows.flow1.jobs[0]).toEqual({ location: 'job', status: 'failure' });
|
|
34
34
|
expect(flows.flow2.jobs[0]).toEqual({ location: 'job', status: 'failure' });
|
|
35
35
|
expect(flows.flow3.jobs[0]).toEqual({ location: 'job', status: undefined });
|