@sasjs/cli 3.16.2 → 3.18.0

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.
Files changed (39) hide show
  1. package/build/commands/build/build.js +42 -40
  2. package/build/commands/build/spec/build.spec.js +51 -0
  3. package/build/commands/build/spec/{cb.spec.server.d.ts → cb.spec.server.viya.d.ts} +0 -0
  4. package/build/commands/build/spec/{cb.spec.server.js → cb.spec.server.viya.js} +1 -1
  5. package/build/commands/compile/internal/compileFile.js +6 -3
  6. package/build/commands/compile/internal/loadDependencies.js +29 -21
  7. package/build/commands/deploy/spec/cbd.spec.js +24 -19
  8. package/build/commands/deploy/spec/{cbd.spec.server.d.ts → cbd.spec.server.viya.d.ts} +0 -0
  9. package/build/commands/deploy/spec/cbd.spec.server.viya.js +334 -0
  10. package/build/commands/flow/spec/{flow.spec.server.d.ts → flow.spec.server.viya.d.ts} +0 -0
  11. package/build/commands/flow/spec/{flow.spec.server.js → flow.spec.server.viya.js} +39 -55
  12. package/build/commands/folder/spec/{folder.spec.server.d.ts → folder.spec.server.viya.d.ts} +0 -0
  13. package/build/commands/folder/spec/{folder.spec.server.js → folder.spec.server.viya.js} +17 -23
  14. package/build/commands/init/init.js +7 -10
  15. package/build/commands/init/spec/{init.spec.server.d.ts → init.spec.d.ts} +0 -0
  16. package/build/commands/init/spec/{init.spec.server.js → init.spec.js} +0 -0
  17. package/build/commands/job/spec/{job.spec.server.d.ts → job.spec.server.viya.d.ts} +0 -0
  18. package/build/commands/job/spec/{job.spec.server.js → job.spec.server.viya.js} +45 -56
  19. package/build/commands/request/request.js +3 -2
  20. package/build/commands/request/spec/{request.spec.server.d.ts → request.spec.server.sas9.d.ts} +0 -0
  21. package/build/commands/request/spec/request.spec.server.sas9.js +283 -0
  22. package/build/commands/{run/spec/run.spec.server.d.ts → request/spec/request.spec.server.viya.d.ts} +0 -0
  23. package/build/commands/request/spec/request.spec.server.viya.js +460 -0
  24. package/build/commands/request/spec/utils.d.ts +23 -0
  25. package/build/commands/request/spec/utils.js +87 -0
  26. package/build/commands/{servicepack/spec/servicepack.spec.server.d.ts → run/spec/run.spec.server.sas9.d.ts} +0 -0
  27. package/build/commands/run/spec/run.spec.server.sas9.js +115 -0
  28. package/build/commands/run/spec/run.spec.server.viya.d.ts +1 -0
  29. package/build/commands/run/spec/{run.spec.server.js → run.spec.server.viya.js} +32 -101
  30. package/build/commands/servicepack/spec/servicepack.spec.server.viya.d.ts +1 -0
  31. package/build/commands/servicepack/spec/{servicepack.spec.server.js → servicepack.spec.server.viya.js} +1 -1
  32. package/build/utils/test.js +4 -2
  33. package/build/utils/utils.d.ts +0 -7
  34. package/build/utils/utils.js +92 -114
  35. package/package.json +6 -5
  36. package/build/commands/deploy/spec/cbd.spec.server.js +0 -331
  37. package/build/commands/request/spec/request.spec.server.js +0 -709
  38. package/build/utils/spec/removeComments.spec.d.ts +0 -1
  39. package/build/utils/spec/removeComments.spec.js +0 -47
@@ -0,0 +1,334 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __importDefault = (this && this.__importDefault) || function (mod) {
69
+ return (mod && mod.__esModule) ? mod : { "default": mod };
70
+ };
71
+ Object.defineProperty(exports, "__esModule", { value: true });
72
+ var utils_1 = require("@sasjs/utils");
73
+ var path_1 = __importDefault(require("path"));
74
+ var utils_2 = require("@sasjs/utils");
75
+ var configUtils = __importStar(require("../../../utils/config"));
76
+ var getDeployScriptsModule = __importStar(require("../internal/getDeployScripts"));
77
+ var test_1 = require("../../../utils/test");
78
+ var build_1 = require("../../build/build");
79
+ var deploy_1 = require("../deploy");
80
+ var utils_3 = require("./utils");
81
+ describe('sasjs cbd with Viya', function () {
82
+ describe('sasjs cbd with global config', function () {
83
+ var target;
84
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0:
88
+ target = (0, utils_3.generateTarget)(false);
89
+ return [4 /*yield*/, (0, test_1.createTestMinimalApp)(__dirname, target.name)];
90
+ case 1:
91
+ _a.sent();
92
+ return [4 /*yield*/, (0, utils_3.copyJobsAndServices)(target.name)];
93
+ case 2:
94
+ _a.sent();
95
+ return [2 /*return*/];
96
+ }
97
+ });
98
+ }); });
99
+ afterEach(function () { return __awaiter(void 0, void 0, void 0, function () {
100
+ return __generator(this, function (_a) {
101
+ switch (_a.label) {
102
+ case 0: return [4 /*yield*/, (0, test_1.removeTestServerFolder)(target.appLoc, target)];
103
+ case 1:
104
+ _a.sent();
105
+ return [4 /*yield*/, (0, test_1.removeTestApp)(__dirname, target.name)];
106
+ case 2:
107
+ _a.sent();
108
+ return [2 /*return*/];
109
+ }
110
+ });
111
+ }); });
112
+ it('should compile, build and deploy', function () { return __awaiter(void 0, void 0, void 0, function () {
113
+ var servicePath, jobPath, buildJsonPath, jobContent, jsonContent, _a, _b, serviceContent;
114
+ return __generator(this, function (_c) {
115
+ switch (_c.label) {
116
+ case 0:
117
+ servicePath = path_1.default.join(__dirname, target.name, 'sasjsbuild/services/testJob/job.sas');
118
+ jobPath = path_1.default.join(__dirname, target.name, 'sasjsbuild/jobs/testJob/job.sas');
119
+ buildJsonPath = path_1.default.join(__dirname, target.name, "sasjsbuild/".concat(target.name, ".json"));
120
+ return [4 /*yield*/, expect((0, build_1.build)(target)).toResolve()];
121
+ case 1:
122
+ _c.sent();
123
+ return [4 /*yield*/, expect((0, deploy_1.deploy)(target, false)).toResolve()];
124
+ case 2:
125
+ _c.sent();
126
+ return [4 /*yield*/, expect((0, utils_1.fileExists)(servicePath)).resolves.toEqual(true)];
127
+ case 3:
128
+ _c.sent();
129
+ return [4 /*yield*/, expect((0, utils_1.fileExists)(jobPath)).resolves.toEqual(true)
130
+ /**
131
+ * test to ensure that jobs do not have web service pre code
132
+ */
133
+ ];
134
+ case 4:
135
+ _c.sent();
136
+ return [4 /*yield*/, (0, utils_1.readFile)(jobPath)];
137
+ case 5:
138
+ jobContent = _c.sent();
139
+ expect(jobContent).not.toEqual('');
140
+ expect(/^\* Job Variables start;*/.test(jobContent)).toEqual(true);
141
+ expect(jobContent.includes("* JobInit start;")).toEqual(true);
142
+ expect(jobContent.includes("* JobTerm start;")).toEqual(true);
143
+ _b = (_a = JSON).parse;
144
+ return [4 /*yield*/, (0, utils_1.readFile)(buildJsonPath)];
145
+ case 6:
146
+ jsonContent = _b.apply(_a, [_c.sent()]);
147
+ expect(!!jsonContent.members.find(function (x) { return x.name === 'services'; })).toEqual(true);
148
+ return [4 /*yield*/, (0, utils_1.readFile)(servicePath)];
149
+ case 7:
150
+ serviceContent = _c.sent();
151
+ expect(serviceContent).not.toEqual('');
152
+ expect(/^\* Service Variables start;*/.test(serviceContent)).toEqual(false);
153
+ expect(serviceContent.includes("* ServiceInit start;")).toEqual(true);
154
+ expect(serviceContent.includes("* ServiceTerm start;")).toEqual(true);
155
+ return [2 /*return*/];
156
+ }
157
+ });
158
+ }); });
159
+ });
160
+ describe('sasjs cbd with local config', function () {
161
+ var target;
162
+ var appName;
163
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
164
+ return __generator(this, function (_a) {
165
+ switch (_a.label) {
166
+ case 0:
167
+ appName = "cli-tests-cbd-local-".concat((0, utils_2.generateTimestamp)());
168
+ return [4 /*yield*/, (0, test_1.createTestApp)(__dirname, appName)];
169
+ case 1:
170
+ _a.sent();
171
+ target = (0, utils_3.generateTarget)(true);
172
+ return [4 /*yield*/, (0, utils_3.copyJobsAndServices)(appName)];
173
+ case 2:
174
+ _a.sent();
175
+ return [4 /*yield*/, (0, utils_1.copy)(path_1.default.join(__dirname, 'testScript', 'copyscript.sh'), path_1.default.join(process.projectDir, 'sasjs', 'build', 'copyscript.sh'))];
176
+ case 3:
177
+ _a.sent();
178
+ return [2 /*return*/];
179
+ }
180
+ });
181
+ }); });
182
+ afterEach(function () { return __awaiter(void 0, void 0, void 0, function () {
183
+ return __generator(this, function (_a) {
184
+ switch (_a.label) {
185
+ case 0: return [4 /*yield*/, (0, test_1.removeTestServerFolder)(target.appLoc, target)];
186
+ case 1:
187
+ _a.sent();
188
+ return [4 /*yield*/, (0, test_1.removeTestApp)(__dirname, appName)];
189
+ case 2:
190
+ _a.sent();
191
+ jest.resetAllMocks();
192
+ return [2 /*return*/];
193
+ }
194
+ });
195
+ }); });
196
+ it('should deploy service pack when deployServicePack is true', function () { return __awaiter(void 0, void 0, void 0, function () {
197
+ return __generator(this, function (_a) {
198
+ switch (_a.label) {
199
+ case 0: return [4 /*yield*/, expect((0, build_1.build)(target)).toResolve()];
200
+ case 1:
201
+ _a.sent();
202
+ return [4 /*yield*/, expect((0, deploy_1.deploy)(target, true)).toResolve()];
203
+ case 2:
204
+ _a.sent();
205
+ return [2 /*return*/];
206
+ }
207
+ });
208
+ }); });
209
+ it('should deploy using deployScripts when deployServicePack is false', function () { return __awaiter(void 0, void 0, void 0, function () {
210
+ var customTarget;
211
+ return __generator(this, function (_a) {
212
+ switch (_a.label) {
213
+ case 0:
214
+ customTarget = new utils_2.Target(__assign(__assign({}, target.toJson()), { deployConfig: {
215
+ deployServicePack: false,
216
+ deployScripts: ['sasjs/build/copyscript.sh']
217
+ } }));
218
+ return [4 /*yield*/, expect((0, build_1.build)(customTarget)).toResolve()];
219
+ case 1:
220
+ _a.sent();
221
+ return [4 /*yield*/, expect((0, deploy_1.deploy)(customTarget, true)).toResolve()];
222
+ case 2:
223
+ _a.sent();
224
+ return [2 /*return*/];
225
+ }
226
+ });
227
+ }); });
228
+ it('should error when deployServicePack is false and no deployScripts have been specified', function () { return __awaiter(void 0, void 0, void 0, function () {
229
+ var customTarget;
230
+ return __generator(this, function (_a) {
231
+ switch (_a.label) {
232
+ case 0:
233
+ customTarget = new utils_2.Target(__assign(__assign({}, target.toJson()), { deployConfig: {
234
+ deployServicePack: false,
235
+ deployScripts: []
236
+ } }));
237
+ jest
238
+ .spyOn(getDeployScriptsModule, 'getDeployScripts')
239
+ .mockImplementation(function () { return Promise.resolve([]); });
240
+ return [4 /*yield*/, (0, build_1.build)(customTarget)];
241
+ case 1:
242
+ _a.sent();
243
+ return [4 /*yield*/, expect((0, deploy_1.deploy)(customTarget, true)).rejects.toEqual(new Error("Deployment failed.\nPlease either enable the 'deployServicePack' option or add deployment script paths to 'deployScripts' in your target's 'deployConfig'."))];
244
+ case 2:
245
+ _a.sent();
246
+ return [2 /*return*/];
247
+ }
248
+ });
249
+ }); });
250
+ it("should error when an access token is not provided", function () { return __awaiter(void 0, void 0, void 0, function () {
251
+ return __generator(this, function (_a) {
252
+ switch (_a.label) {
253
+ case 0:
254
+ jest.spyOn(configUtils, 'getAccessToken').mockImplementation(function () {
255
+ return Promise.reject('Token error');
256
+ });
257
+ return [4 /*yield*/, (0, build_1.build)(target)];
258
+ case 1:
259
+ _a.sent();
260
+ return [4 /*yield*/, expect((0, deploy_1.deploy)(target, true)).rejects.toThrow(new Error("Deployment failed. Request is not authenticated.\nPlease add the following variables to your .env.".concat(target.name, " file:\nCLIENT, SECRET, ACCESS_TOKEN, REFRESH_TOKEN")))];
261
+ case 2:
262
+ _a.sent();
263
+ jest.restoreAllMocks();
264
+ return [2 /*return*/];
265
+ }
266
+ });
267
+ }); });
268
+ });
269
+ describe('sasjs cbd having stream app', function () {
270
+ var target;
271
+ var appName;
272
+ var streamConfig = {
273
+ assetPaths: [],
274
+ streamWeb: true,
275
+ streamWebFolder: 'webv',
276
+ webSourcePath: 'src',
277
+ streamServiceName: 'clickme'
278
+ };
279
+ beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
280
+ return __generator(this, function (_a) {
281
+ switch (_a.label) {
282
+ case 0:
283
+ appName = "cli-tests-cbd-local-stream-".concat((0, utils_2.generateTimestamp)());
284
+ return [4 /*yield*/, (0, test_1.createTestMinimalApp)(__dirname, appName)];
285
+ case 1:
286
+ _a.sent();
287
+ target = (0, utils_3.generateTarget)(true);
288
+ return [2 /*return*/];
289
+ }
290
+ });
291
+ }); });
292
+ afterEach(function () { return __awaiter(void 0, void 0, void 0, function () {
293
+ return __generator(this, function (_a) {
294
+ switch (_a.label) {
295
+ case 0: return [4 /*yield*/, (0, test_1.removeTestServerFolder)(target.appLoc, target)];
296
+ case 1:
297
+ _a.sent();
298
+ return [4 /*yield*/, (0, test_1.removeTestApp)(__dirname, appName)];
299
+ case 2:
300
+ _a.sent();
301
+ jest.resetAllMocks();
302
+ return [2 /*return*/];
303
+ }
304
+ });
305
+ }); });
306
+ it("should deploy compile and build with streamConfig", function () { return __awaiter(void 0, void 0, void 0, function () {
307
+ var appLoc, appLocWithSpaces, customTarget, logFileContent, appLocTransformed, streamingApplink;
308
+ return __generator(this, function (_a) {
309
+ switch (_a.label) {
310
+ case 0:
311
+ appLoc = "/Public/app/cli-tests/".concat(target.name);
312
+ appLocWithSpaces = "".concat(appLoc, "/with some/space s");
313
+ customTarget = new utils_2.Target(__assign(__assign({}, target.toJson()), { appLoc: appLocWithSpaces, streamConfig: streamConfig, jobConfig: undefined, serviceConfig: undefined, deployConfig: {
314
+ deployServicePack: false,
315
+ deployScripts: ["sasjsbuild/".concat(target.name, ".sas")]
316
+ } }));
317
+ return [4 /*yield*/, expect((0, build_1.build)(customTarget)).toResolve()];
318
+ case 1:
319
+ _a.sent();
320
+ return [4 /*yield*/, expect((0, deploy_1.deploy)(customTarget, true)).toResolve()];
321
+ case 2:
322
+ _a.sent();
323
+ return [4 /*yield*/, (0, utils_1.readFile)(path_1.default.join(__dirname, appName, 'sasjsbuild', "".concat(target.name, ".log")))];
324
+ case 3:
325
+ logFileContent = _a.sent();
326
+ appLocTransformed = '/with%20some/space%20s';
327
+ streamingApplink = "".concat(target.serverUrl.replace('https://', ''), "/SASJobExecution?_FILE=").concat(appLoc).concat(appLocTransformed, "/services/").concat(streamConfig.streamServiceName, ".html&_debug=2");
328
+ expect(logFileContent.replace(/\s/g, '')).toEqual(expect.stringContaining(streamingApplink));
329
+ return [2 /*return*/];
330
+ }
331
+ });
332
+ }); });
333
+ });
334
+ });
@@ -50,8 +50,39 @@ var utils_3 = require("../../../utils");
50
50
  var __1 = require("../..");
51
51
  var execute_1 = require("../execute");
52
52
  var node_1 = __importDefault(require("@sasjs/adapter/node"));
53
- describe('sasjs flow', function () {
54
- var target = generateTarget();
53
+ describe('sasjs flow with Viya', function () {
54
+ dotenv_1.default.config();
55
+ var timestamp = (0, utils_2.generateTimestamp)();
56
+ var targetName = "cli-tests-flow-".concat(timestamp);
57
+ var target = new utils_2.Target({
58
+ name: targetName,
59
+ serverType: utils_2.ServerType.SasViya,
60
+ serverUrl: process.env.VIYA_SERVER_URL,
61
+ appLoc: "/Public/app/cli-tests/".concat(targetName),
62
+ contextName: utils_3.contextName,
63
+ serviceConfig: {
64
+ serviceFolders: ['sasjs/testServices', 'sasjs/testJob', 'sasjs/services'],
65
+ initProgram: 'sasjs/testServices/serviceinit.sas',
66
+ termProgram: 'sasjs/testServices/serviceterm.sas',
67
+ macroVars: {}
68
+ },
69
+ jobConfig: {
70
+ jobFolders: ['sasjs/testJob'],
71
+ initProgram: 'sasjs/testServices/serviceinit.sas',
72
+ termProgram: 'sasjs/testServices/serviceterm.sas',
73
+ macroVars: {}
74
+ },
75
+ authConfig: {
76
+ client: process.env.CLIENT,
77
+ secret: process.env.SECRET,
78
+ access_token: process.env.ACCESS_TOKEN,
79
+ refresh_token: process.env.REFRESH_TOKEN
80
+ },
81
+ deployConfig: {
82
+ deployServicePack: true,
83
+ deployScripts: []
84
+ }
85
+ });
55
86
  var sasjs = new node_1.default({
56
87
  serverUrl: target.serverUrl,
57
88
  httpsAgentOptions: target.httpsAgentOptions,
@@ -70,14 +101,17 @@ describe('sasjs flow', function () {
70
101
  return [4 /*yield*/, (0, test_1.createTestApp)(__dirname, target.name)];
71
102
  case 2:
72
103
  _a.sent();
73
- return [4 /*yield*/, copyJobsAndServices(target.name)];
104
+ return [4 /*yield*/, (0, utils_1.copy)(path_1.default.join(__dirname, 'testJob'), path_1.default.join(__dirname, target.name, 'sasjs', 'testJob'))];
74
105
  case 3:
75
106
  _a.sent();
76
- return [4 /*yield*/, (0, __1.build)(target)];
107
+ return [4 /*yield*/, (0, utils_1.copy)(path_1.default.join(__dirname, 'testServices'), path_1.default.join(__dirname, target.name, 'sasjs', 'testServices'))];
77
108
  case 4:
78
109
  _a.sent();
79
- return [4 /*yield*/, (0, __1.deploy)(target, false)];
110
+ return [4 /*yield*/, (0, __1.build)(target)];
80
111
  case 5:
112
+ _a.sent();
113
+ return [4 /*yield*/, (0, __1.deploy)(target, false)];
114
+ case 6:
81
115
  _a.sent();
82
116
  process.logger = new utils_2.Logger(utils_2.LogLevel.Off);
83
117
  return [2 /*return*/];
@@ -406,53 +440,3 @@ describe('sasjs flow', function () {
406
440
  });
407
441
  }); });
408
442
  });
409
- function generateTarget(serverType) {
410
- if (serverType === void 0) { serverType = utils_2.ServerType.SasViya; }
411
- dotenv_1.default.config();
412
- var timestamp = (0, utils_2.generateTimestamp)();
413
- var targetName = "cli-tests-flow-".concat(timestamp);
414
- return new utils_2.Target({
415
- name: targetName,
416
- serverType: serverType,
417
- serverUrl: (serverType === utils_2.ServerType.SasViya
418
- ? process.env.VIYA_SERVER_URL
419
- : process.env.SAS9_SERVER_URL),
420
- appLoc: "/Public/app/cli-tests/".concat(targetName),
421
- contextName: utils_3.contextName,
422
- serviceConfig: {
423
- serviceFolders: ['sasjs/testServices', 'sasjs/testJob', 'sasjs/services'],
424
- initProgram: 'sasjs/testServices/serviceinit.sas',
425
- termProgram: 'sasjs/testServices/serviceterm.sas',
426
- macroVars: {}
427
- },
428
- jobConfig: {
429
- jobFolders: ['sasjs/testJob'],
430
- initProgram: 'sasjs/testServices/serviceinit.sas',
431
- termProgram: 'sasjs/testServices/serviceterm.sas',
432
- macroVars: {}
433
- },
434
- authConfig: {
435
- client: process.env.CLIENT,
436
- secret: process.env.SECRET,
437
- access_token: process.env.ACCESS_TOKEN,
438
- refresh_token: process.env.REFRESH_TOKEN
439
- },
440
- deployConfig: {
441
- deployServicePack: true,
442
- deployScripts: []
443
- }
444
- });
445
- }
446
- var copyJobsAndServices = function (appName) { return __awaiter(void 0, void 0, void 0, function () {
447
- return __generator(this, function (_a) {
448
- switch (_a.label) {
449
- case 0: return [4 /*yield*/, (0, utils_1.copy)(path_1.default.join(__dirname, 'testJob'), path_1.default.join(__dirname, appName, 'sasjs', 'testJob'))];
450
- case 1:
451
- _a.sent();
452
- return [4 /*yield*/, (0, utils_1.copy)(path_1.default.join(__dirname, 'testServices'), path_1.default.join(__dirname, appName, 'sasjs', 'testServices'))];
453
- case 2:
454
- _a.sent();
455
- return [2 /*return*/];
456
- }
457
- });
458
- }); };
@@ -48,8 +48,23 @@ var list_1 = require("../list");
48
48
  var create_1 = require("../create");
49
49
  var move_1 = require("../move");
50
50
  var delete_1 = require("../delete");
51
- describe('sasjs folder operations', function () {
52
- var target = generateTarget();
51
+ describe('sasjs folder with Viya', function () {
52
+ dotenv_1.default.config();
53
+ var timestamp = (0, utils_1.generateTimestamp)();
54
+ var targetName = "cli-tests-folder-".concat(timestamp);
55
+ var target = new utils_1.Target({
56
+ name: targetName,
57
+ appLoc: "/Public/app/cli-tests/".concat(targetName),
58
+ serverType: utils_1.ServerType.SasViya,
59
+ contextName: utils_2.contextName,
60
+ serverUrl: process.env.VIYA_SERVER_URL,
61
+ authConfig: {
62
+ client: process.env.CLIENT,
63
+ secret: process.env.SECRET,
64
+ access_token: process.env.ACCESS_TOKEN,
65
+ refresh_token: process.env.REFRESH_TOKEN
66
+ }
67
+ });
53
68
  var sasjs = new node_1.default({
54
69
  serverUrl: target.serverUrl,
55
70
  httpsAgentOptions: target.httpsAgentOptions,
@@ -221,27 +236,6 @@ describe('sasjs folder operations', function () {
221
236
  });
222
237
  }); });
223
238
  });
224
- function generateTarget(serverType) {
225
- if (serverType === void 0) { serverType = utils_1.ServerType.SasViya; }
226
- dotenv_1.default.config();
227
- var timestamp = (0, utils_1.generateTimestamp)();
228
- var targetName = "cli-tests-folder-".concat(timestamp);
229
- return new utils_1.Target({
230
- name: targetName,
231
- appLoc: "/Public/app/cli-tests/".concat(targetName),
232
- serverType: serverType,
233
- contextName: utils_2.contextName,
234
- serverUrl: (serverType === utils_1.ServerType.SasViya
235
- ? process.env.VIYA_SERVER_URL
236
- : process.env.SAS9_SERVER_URL),
237
- authConfig: {
238
- client: process.env.CLIENT,
239
- secret: process.env.SECRET,
240
- access_token: process.env.ACCESS_TOKEN,
241
- refresh_token: process.env.REFRESH_TOKEN
242
- }
243
- });
244
- }
245
239
  var createTestFolder = function (testFolderPath, sasjs, accessToken) { return __awaiter(void 0, void 0, void 0, function () {
246
240
  return __generator(this, function (_a) {
247
241
  switch (_a.label) {
@@ -59,25 +59,22 @@ function init() {
59
59
  _b.sent();
60
60
  return [4 /*yield*/, (0, utils_1.setupGitIgnore)(parentFolderName)];
61
61
  case 2:
62
- _b.sent();
63
- return [4 /*yield*/, (0, utils_1.setupGhooks)(parentFolderName)];
64
- case 3:
65
62
  _b.sent();
66
63
  return [4 /*yield*/, (0, utils_1.setupDoxygen)(parentFolderName)];
67
- case 4:
64
+ case 3:
68
65
  _b.sent();
69
66
  return [4 /*yield*/, (0, createConfigFile_1.createConfigFile)(parentFolderName)];
70
- case 5:
67
+ case 4:
71
68
  _b.sent();
72
69
  lintConfigPath = path_1.default.join(process.projectDir, parentFolderName, '.sasjslint');
73
70
  return [4 /*yield*/, (0, utils_2.fileExists)(lintConfigPath)];
74
- case 6:
75
- if (!!(_b.sent())) return [3 /*break*/, 8];
71
+ case 5:
72
+ if (!!(_b.sent())) return [3 /*break*/, 7];
76
73
  return [4 /*yield*/, (0, createLintConfigFile_1.createLintConfigFile)(parentFolderName)];
77
- case 7:
74
+ case 6:
78
75
  _b.sent();
79
- _b.label = 8;
80
- case 8: return [2 /*return*/];
76
+ _b.label = 7;
77
+ case 7: return [2 /*return*/];
81
78
  }
82
79
  });
83
80
  });