@intuned/runtime-dev 1.3.21-fix.0 → 1.3.22-dev.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.
Files changed (108) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/bin/intuned +20 -2
  3. package/dist/commands/api/run.js +1 -1
  4. package/dist/commands/common/browserUtils.js +10 -1
  5. package/dist/common/launchBrowser.d.ts +7 -0
  6. package/dist/common/launchBrowser.js +34 -2
  7. package/dist/common/playwrightContext.d.ts +2 -0
  8. package/dist/common/playwrightContext.js +10 -4
  9. package/dist/common/runApi/index.js +2 -0
  10. package/dist/vendor/runtime-interface.js +4 -2
  11. package/package.json +3 -3
  12. package/.claude/settings.local.json +0 -7
  13. package/dist/commands/intuned-cli/commands/attempt.command.d.ts +0 -1
  14. package/dist/commands/intuned-cli/commands/attempt.command.js +0 -8
  15. package/dist/commands/intuned-cli/commands/attempt_api.command.d.ts +0 -1
  16. package/dist/commands/intuned-cli/commands/attempt_api.command.js +0 -30
  17. package/dist/commands/intuned-cli/commands/attempt_authsession.command.d.ts +0 -1
  18. package/dist/commands/intuned-cli/commands/attempt_authsession.command.js +0 -8
  19. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.d.ts +0 -1
  20. package/dist/commands/intuned-cli/commands/attempt_authsession_check.command.js +0 -19
  21. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.d.ts +0 -1
  22. package/dist/commands/intuned-cli/commands/attempt_authsession_create.command.js +0 -24
  23. package/dist/commands/intuned-cli/commands/authsession.command.d.ts +0 -1
  24. package/dist/commands/intuned-cli/commands/authsession.command.js +0 -8
  25. package/dist/commands/intuned-cli/commands/authsession_record.command.d.ts +0 -1
  26. package/dist/commands/intuned-cli/commands/authsession_record.command.js +0 -32
  27. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.d.ts +0 -1
  28. package/dist/commands/intuned-cli/commands/authsession_scaffold.command.js +0 -16
  29. package/dist/commands/intuned-cli/commands/build.command.d.ts +0 -1
  30. package/dist/commands/intuned-cli/commands/build.command.js +0 -12
  31. package/dist/commands/intuned-cli/commands/command.d.ts +0 -2
  32. package/dist/commands/intuned-cli/commands/command.js +0 -9
  33. package/dist/commands/intuned-cli/commands/deploy.command.d.ts +0 -1
  34. package/dist/commands/intuned-cli/commands/deploy.command.js +0 -42
  35. package/dist/commands/intuned-cli/commands/index.d.ts +0 -18
  36. package/dist/commands/intuned-cli/commands/index.js +0 -203
  37. package/dist/commands/intuned-cli/commands/provision.command.d.ts +0 -13
  38. package/dist/commands/intuned-cli/commands/provision.command.js +0 -50
  39. package/dist/commands/intuned-cli/commands/run.command.d.ts +0 -1
  40. package/dist/commands/intuned-cli/commands/run.command.js +0 -8
  41. package/dist/commands/intuned-cli/commands/run_api.command.d.ts +0 -1
  42. package/dist/commands/intuned-cli/commands/run_api.command.js +0 -46
  43. package/dist/commands/intuned-cli/commands/run_authsession.command.d.ts +0 -35
  44. package/dist/commands/intuned-cli/commands/run_authsession.command.js +0 -17
  45. package/dist/commands/intuned-cli/commands/run_authsession_create.command.d.ts +0 -1
  46. package/dist/commands/intuned-cli/commands/run_authsession_create.command.js +0 -35
  47. package/dist/commands/intuned-cli/commands/run_authsession_update.command.d.ts +0 -1
  48. package/dist/commands/intuned-cli/commands/run_authsession_update.command.js +0 -35
  49. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.d.ts +0 -1
  50. package/dist/commands/intuned-cli/commands/run_authsession_validate.command.js +0 -33
  51. package/dist/commands/intuned-cli/commands/types.d.ts +0 -39
  52. package/dist/commands/intuned-cli/commands/types.js +0 -33
  53. package/dist/commands/intuned-cli/constants/index.d.ts +0 -17
  54. package/dist/commands/intuned-cli/constants/index.js +0 -25
  55. package/dist/commands/intuned-cli/controller/__test__/api.test.js +0 -399
  56. package/dist/commands/intuned-cli/controller/__test__/authSession.test.js +0 -1061
  57. package/dist/commands/intuned-cli/controller/api.d.ts +0 -42
  58. package/dist/commands/intuned-cli/controller/api.js +0 -194
  59. package/dist/commands/intuned-cli/controller/authSession.d.ts +0 -209
  60. package/dist/commands/intuned-cli/controller/authSession.js +0 -425
  61. package/dist/commands/intuned-cli/controller/build.d.ts +0 -1
  62. package/dist/commands/intuned-cli/controller/build.js +0 -35
  63. package/dist/commands/intuned-cli/controller/deploy.d.ts +0 -5
  64. package/dist/commands/intuned-cli/controller/deploy.js +0 -317
  65. package/dist/commands/intuned-cli/controller/index.d.ts +0 -1
  66. package/dist/commands/intuned-cli/controller/index.js +0 -45
  67. package/dist/commands/intuned-cli/controller/provision.d.ts +0 -21
  68. package/dist/commands/intuned-cli/controller/provision.js +0 -299
  69. package/dist/commands/intuned-cli/controller/scaffold.d.ts +0 -1
  70. package/dist/commands/intuned-cli/controller/scaffold.js +0 -77
  71. package/dist/commands/intuned-cli/helpers/__test__/browser.test.js +0 -152
  72. package/dist/commands/intuned-cli/helpers/__test__/tracing.test.js +0 -41
  73. package/dist/commands/intuned-cli/helpers/api.d.ts +0 -3
  74. package/dist/commands/intuned-cli/helpers/api.js +0 -16
  75. package/dist/commands/intuned-cli/helpers/auth.d.ts +0 -46
  76. package/dist/commands/intuned-cli/helpers/auth.js +0 -147
  77. package/dist/commands/intuned-cli/helpers/backend.d.ts +0 -8
  78. package/dist/commands/intuned-cli/helpers/backend.js +0 -35
  79. package/dist/commands/intuned-cli/helpers/browser.d.ts +0 -14
  80. package/dist/commands/intuned-cli/helpers/browser.js +0 -93
  81. package/dist/commands/intuned-cli/helpers/context.d.ts +0 -3
  82. package/dist/commands/intuned-cli/helpers/context.js +0 -33
  83. package/dist/commands/intuned-cli/helpers/errors.d.ts +0 -16
  84. package/dist/commands/intuned-cli/helpers/errors.js +0 -44
  85. package/dist/commands/intuned-cli/helpers/index.d.ts +0 -12
  86. package/dist/commands/intuned-cli/helpers/index.js +0 -137
  87. package/dist/commands/intuned-cli/helpers/intunedJson.d.ts +0 -40
  88. package/dist/commands/intuned-cli/helpers/intunedJson.js +0 -20
  89. package/dist/commands/intuned-cli/helpers/prompts.d.ts +0 -3
  90. package/dist/commands/intuned-cli/helpers/prompts.js +0 -71
  91. package/dist/commands/intuned-cli/helpers/proxy.d.ts +0 -5
  92. package/dist/commands/intuned-cli/helpers/proxy.js +0 -23
  93. package/dist/commands/intuned-cli/helpers/terminal.d.ts +0 -5
  94. package/dist/commands/intuned-cli/helpers/terminal.js +0 -13
  95. package/dist/commands/intuned-cli/helpers/timeout.d.ts +0 -1
  96. package/dist/commands/intuned-cli/helpers/timeout.js +0 -23
  97. package/dist/commands/intuned-cli/helpers/traces.d.ts +0 -2
  98. package/dist/commands/intuned-cli/helpers/traces.js +0 -32
  99. package/dist/commands/intuned-cli/helpers/validation.d.ts +0 -2
  100. package/dist/commands/intuned-cli/helpers/validation.js +0 -14
  101. package/dist/commands/intuned-cli/helpers/wrapper.d.ts +0 -2
  102. package/dist/commands/intuned-cli/helpers/wrapper.js +0 -76
  103. package/dist/commands/intuned-cli/index.d.ts +0 -1
  104. package/dist/commands/intuned-cli/index.js +0 -16
  105. package/dist/commands/intuned-cli/main.d.ts +0 -1
  106. package/dist/commands/intuned-cli/main.js +0 -35
  107. package/dist/commands/intuned-cli/types.d.ts +0 -70
  108. package/dist/commands/intuned-cli/types.js +0 -22
@@ -1,399 +0,0 @@
1
- "use strict";
2
-
3
- var _vitest = require("vitest");
4
- var _api = require("../api");
5
- var _authSession = require("../authSession");
6
- var _helpers = require("../../helpers");
7
- var _neverthrow = require("neverthrow");
8
- var _runApi = require("../../../../common/runApi");
9
- var _runtimeInterface = require("../../../../vendor/runtime-interface");
10
- var _fsExtra = require("fs-extra");
11
- var _browser = require("../../helpers/browser");
12
- function getTerminal() {
13
- return new Proxy(() => ({}), {
14
- get: () => getTerminal(),
15
- apply: () => ({})
16
- });
17
- }
18
- _vitest.vi.mock("fs-extra", () => ({
19
- ensureDir: _vitest.vi.fn(),
20
- writeJSON: _vitest.vi.fn(),
21
- exists: _vitest.vi.fn().mockResolvedValue(true)
22
- }));
23
- _vitest.vi.mock("../authSession", async importOriginal => {
24
- const original = await importOriginal();
25
- return {
26
- ...original,
27
- executeRunValidateAuthSessionCLI: _vitest.vi.fn()
28
- };
29
- });
30
- _vitest.vi.mock("../../../../common/runApi", async importOriginal => {
31
- const original = await importOriginal();
32
- return {
33
- ...original,
34
- runApi: _vitest.vi.fn().mockImplementation(() => (0, _neverthrow.ok)({}))
35
- };
36
- });
37
- _vitest.vi.mock("../../helpers/terminal", () => ({
38
- terminal: getTerminal()
39
- }));
40
- _vitest.vi.mock("../../helpers/proxy", async () => {
41
- return {
42
- parseUrlProxy: _vitest.vi.fn()
43
- };
44
- });
45
- _vitest.vi.mock("../../helpers/browser", async importOriginal => {
46
- const original = await importOriginal();
47
- return {
48
- getCLIRunOptions: _vitest.vi.fn(({
49
- keepBrowserOpen: _,
50
- ...rest
51
- }) => original.getCLIRunOptions({
52
- keepBrowserOpen: false,
53
- ...rest
54
- }))
55
- };
56
- });
57
- _vitest.vi.mock("../../helpers", async importOriginal => {
58
- const original = await importOriginal();
59
- return {
60
- ...original,
61
- terminal: getTerminal(),
62
- assertApiFileExists: _vitest.vi.fn(),
63
- withCLIContext: _vitest.vi.fn(fn => fn()),
64
- withTimeout: _vitest.vi.fn(fn => fn()),
65
- withCLITrace: _vitest.vi.fn(original.withCLITrace),
66
- registerGetAuthSessionParameters: _vitest.vi.fn()
67
- };
68
- });
69
- (0, _vitest.describe)("API controller", () => {
70
- (0, _vitest.beforeEach)(() => {
71
- _vitest.vi.clearAllMocks();
72
- });
73
- (0, _vitest.describe)("attemptApi", () => {
74
- (0, _vitest.it)("calls timeout middleware with timeout", async () => {
75
- await (0, _api._attemptApi)({
76
- apiName: "testApi",
77
- inputData: {},
78
- headless: false,
79
- timeout: 6000,
80
- keepBrowserOpen: false
81
- });
82
- (0, _vitest.expect)(_helpers.withTimeout).toHaveBeenCalledWith(_vitest.expect.any(Function), 6000);
83
- });
84
- (0, _vitest.it)("uses tracing wrapper with trace id", async () => {
85
- await (0, _api._attemptApi)({
86
- apiName: "testApi",
87
- inputData: {},
88
- headless: false,
89
- timeout: 6000,
90
- keepBrowserOpen: false
91
- });
92
- (0, _vitest.expect)(_helpers.withCLITrace).toHaveBeenCalledWith(_vitest.expect.any(Function), undefined);
93
- _vitest.vi.mocked(_helpers.withCLITrace).mockClear();
94
- _vitest.vi.mocked(_runApi.runApi).mockClear();
95
- await (0, _api._attemptApi)({
96
- apiName: "testApi",
97
- inputData: {},
98
- headless: false,
99
- timeout: 6000,
100
- keepBrowserOpen: false,
101
- traceId: "trace-id"
102
- });
103
- (0, _vitest.expect)(_helpers.withCLITrace).toHaveBeenCalledWith(_vitest.expect.any(Function), "trace-id");
104
- });
105
- (0, _vitest.it)("uses cli browser helper", async () => {
106
- await (0, _api._attemptApi)({
107
- apiName: "testApi",
108
- inputData: {},
109
- headless: false,
110
- timeout: 6000,
111
- keepBrowserOpen: false
112
- });
113
- (0, _vitest.expect)(_browser.getCLIRunOptions).toHaveBeenCalledWith(_vitest.expect.objectContaining({
114
- headless: false,
115
- keepBrowserOpen: false
116
- }));
117
- _vitest.vi.mocked(_helpers.withCLITrace).mockClear();
118
- _vitest.vi.mocked(_runApi.runApi).mockClear();
119
- await (0, _api._attemptApi)({
120
- apiName: "testApi",
121
- inputData: {},
122
- headless: true,
123
- timeout: 6000,
124
- keepBrowserOpen: true
125
- });
126
- (0, _vitest.expect)(_browser.getCLIRunOptions).toHaveBeenCalledWith(_vitest.expect.objectContaining({
127
- headless: true,
128
- keepBrowserOpen: true
129
- }));
130
- });
131
- (0, _vitest.it)("calls runApi with correct parameters and parses proxy", async () => {
132
- _vitest.vi.mocked(_helpers.parseUrlProxy).mockReturnValueOnce("parsed-proxy");
133
- await (0, _api._attemptApi)({
134
- apiName: "testApi",
135
- inputData: "inputData",
136
- headless: "headless",
137
- auth: "auth",
138
- proxy: "proxy",
139
- timeout: 999999999,
140
- keepBrowserOpen: false
141
- });
142
- (0, _vitest.expect)(_helpers.parseUrlProxy).toHaveBeenCalledWith("proxy");
143
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
144
- automationFunction: {
145
- name: "api/testApi",
146
- params: "inputData"
147
- },
148
- runOptions: {
149
- headless: "headless",
150
- environment: "standalone",
151
- proxy: "parsed-proxy"
152
- },
153
- auth: {
154
- session: {
155
- type: "state",
156
- state: "auth"
157
- }
158
- },
159
- importFunction: _vitest.expect.anything()
160
- }));
161
- });
162
- (0, _vitest.it)("returns the result and extended payloads if runApi succeeds", async () => {
163
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.ok)({
164
- result: "result",
165
- extendedPayloads: "extendedPayloads"
166
- }));
167
- const result = await (0, _api._attemptApi)({
168
- apiName: "testApi",
169
- inputData: "inputData",
170
- headless: "headless",
171
- auth: "auth",
172
- timeout: 999999999,
173
- keepBrowserOpen: false
174
- });
175
- (0, _vitest.expect)(result).toEqual({
176
- result: "result",
177
- payloadToAppend: "extendedPayloads"
178
- });
179
- });
180
- (0, _vitest.it)("throws the error runApi fails with an error", async () => {
181
- const error = new Error("runApi failed");
182
- _vitest.vi.mocked(_runApi.runApi).mockRejectedValueOnce(error);
183
- await (0, _vitest.expect)((0, _api._attemptApi)({
184
- apiName: "testApi",
185
- inputData: "inputData",
186
- headless: "headless",
187
- auth: "auth",
188
- timeout: 999999999,
189
- keepBrowserOpen: false
190
- })).rejects.toThrow(error);
191
- });
192
- });
193
- (0, _vitest.describe)("executeRunApiCLI", () => {
194
- (0, _vitest.it)("enables tracing correctly", async () => {
195
- await (0, _api.executeRunApiCLI)({
196
- apiName: "testApi",
197
- inputData: {},
198
- retries: 1,
199
- trace: false
200
- });
201
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
202
- tracing: {
203
- enabled: false
204
- }
205
- }));
206
- _vitest.vi.mocked(_runApi.runApi).mockClear();
207
- await (0, _api.executeRunApiCLI)({
208
- apiName: "testApi",
209
- inputData: {},
210
- retries: 1,
211
- trace: true
212
- });
213
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
214
- tracing: _vitest.expect.objectContaining({
215
- enabled: true
216
- })
217
- }));
218
- });
219
- (0, _vitest.it)("calls attemptApi once if success", async () => {
220
- await (0, _api.executeRunApiCLI)({
221
- apiName: "testApi",
222
- inputData: {},
223
- retries: 3
224
- });
225
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
226
- });
227
- (0, _vitest.it)("stops retrying after max retries", async () => {
228
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.err)(new _runtimeInterface.AutomationError("runApi failed")));
229
- await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
230
- apiName: "testApi",
231
- inputData: {},
232
- retries: 10
233
- })).rejects.toThrow(_helpers.CLIError);
234
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(10);
235
- });
236
- (0, _vitest.it)("stops retrying on non-automation errors", async () => {
237
- _vitest.vi.mocked(_runApi.runApi).mockRejectedValue(new Error("runApi failed"));
238
- await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
239
- apiName: "testApi",
240
- inputData: {},
241
- retries: 3
242
- })).rejects.toThrow("runApi failed");
243
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
244
- });
245
- (0, _vitest.it)("stops retrying on success", async () => {
246
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.err)(new _runtimeInterface.AutomationError("runApi failed"))).mockResolvedValue((0, _neverthrow.ok)({
247
- result: "success"
248
- }));
249
- await (0, _api.executeRunApiCLI)({
250
- apiName: "testApi",
251
- inputData: {},
252
- retries: 10
253
- });
254
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(2);
255
- });
256
- (0, _vitest.it)("validates AuthSession before each attempt if provided", async () => {
257
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValueOnce((0, _neverthrow.err)(new _runtimeInterface.AutomationError("runApi failed"))).mockResolvedValue((0, _neverthrow.ok)({
258
- result: "success"
259
- }));
260
- await (0, _api.executeRunApiCLI)({
261
- apiName: "testApi",
262
- inputData: {},
263
- authSession: {
264
- id: "authSessionId",
265
- autoRecreate: false,
266
- checkRetries: 1,
267
- createRetries: 2
268
- },
269
- retries: 10
270
- });
271
- (0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toBeCalledTimes(2);
272
- (0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toHaveBeenCalledWith(_vitest.expect.objectContaining({
273
- id: "authSessionId",
274
- autoRecreate: false,
275
- checkRetries: 1,
276
- createRetries: 2
277
- }));
278
- });
279
- (0, _vitest.it)("doesn't validate AuthSession if not provided", async () => {
280
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
281
- result: "success"
282
- }));
283
- await (0, _api.executeRunApiCLI)({
284
- apiName: "testApi",
285
- inputData: {},
286
- retries: 1
287
- });
288
- (0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).not.toHaveBeenCalled();
289
- });
290
- (0, _vitest.it)("fails if AuthSession is provided but not valid", async () => {
291
- _vitest.vi.mocked(_authSession.executeRunValidateAuthSessionCLI).mockRejectedValue(new _helpers.CLIError("AuthSession validation failed"));
292
- await (0, _vitest.expect)((0, _api.executeRunApiCLI)({
293
- apiName: "testApi",
294
- inputData: {},
295
- authSession: {
296
- id: "authSessionId",
297
- autoRecreate: false,
298
- checkRetries: 1,
299
- createRetries: 2
300
- },
301
- retries: 10
302
- })).rejects.toThrow("AuthSession validation failed");
303
- (0, _vitest.expect)(_authSession.executeRunValidateAuthSessionCLI).toHaveBeenCalledWith(_vitest.expect.objectContaining({
304
- id: "authSessionId",
305
- autoRecreate: false,
306
- checkRetries: 1,
307
- createRetries: 2
308
- }));
309
- (0, _vitest.expect)(_runApi.runApi).not.toHaveBeenCalled();
310
- });
311
- (0, _vitest.it)("writes result to file if outputFile is provided", async () => {
312
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
313
- result: "result",
314
- extendedPayloads: "extendedPayloads"
315
- }));
316
- await (0, _api.executeRunApiCLI)({
317
- apiName: "testApi",
318
- inputData: {},
319
- outputFile: "output.json",
320
- retries: 1
321
- });
322
- (0, _vitest.expect)(_fsExtra.writeJSON).toHaveBeenCalledWith("output.json", {
323
- result: "result",
324
- extendedPayloads: "extendedPayloads"
325
- }, _vitest.expect.anything());
326
- });
327
- (0, _vitest.it)("asserts API file exists", async () => {
328
- await (0, _api.executeRunApiCLI)({
329
- apiName: "testApi",
330
- inputData: {},
331
- retries: 1
332
- });
333
- (0, _vitest.expect)(_helpers.assertApiFileExists).toHaveBeenCalledWith("api", "testApi");
334
- });
335
- });
336
- (0, _vitest.describe)("executeAttemptApiCLI", () => {
337
- (0, _vitest.it)("enables tracing correctly", async () => {
338
- await (0, _api.executeAttemptApiCLI)({
339
- apiName: "testApi",
340
- inputData: {},
341
- trace: false
342
- });
343
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
344
- tracing: {
345
- enabled: false
346
- }
347
- }));
348
- _vitest.vi.mocked(_runApi.runApi).mockClear();
349
- await (0, _api.executeAttemptApiCLI)({
350
- apiName: "testApi",
351
- inputData: {},
352
- trace: true
353
- });
354
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledWith(_vitest.expect.objectContaining({
355
- tracing: _vitest.expect.objectContaining({
356
- enabled: true
357
- })
358
- }));
359
- });
360
- (0, _vitest.it)("calls attemptApi once", async () => {
361
- await (0, _api.executeAttemptApiCLI)({
362
- apiName: "testApi",
363
- inputData: {},
364
- retries: 3
365
- });
366
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
367
- _vitest.vi.mocked(_runApi.runApi).mockReset();
368
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.err)(new _runtimeInterface.AutomationError("runApi failed")));
369
- await (0, _vitest.expect)((0, _api.executeAttemptApiCLI)({
370
- apiName: "testApi",
371
- inputData: {}
372
- })).rejects.toThrow(_runtimeInterface.AutomationError);
373
- (0, _vitest.expect)(_runApi.runApi).toHaveBeenCalledTimes(1);
374
- });
375
- (0, _vitest.it)("writes result to file if outputFile is provided", async () => {
376
- _vitest.vi.mocked(_runApi.runApi).mockResolvedValue((0, _neverthrow.ok)({
377
- result: "result",
378
- extendedPayloads: "extendedPayloads"
379
- }));
380
- await (0, _api.executeAttemptApiCLI)({
381
- apiName: "testApi",
382
- inputData: {},
383
- outputFile: "output.json"
384
- });
385
- (0, _vitest.expect)(_fsExtra.writeJSON).toHaveBeenCalledWith("output.json", {
386
- result: "result",
387
- extendedPayloads: "extendedPayloads"
388
- }, _vitest.expect.anything());
389
- });
390
- (0, _vitest.it)("asserts API file exists", async () => {
391
- await (0, _api.executeRunApiCLI)({
392
- apiName: "testApi",
393
- inputData: {},
394
- retries: 1
395
- });
396
- (0, _vitest.expect)(_helpers.assertApiFileExists).toHaveBeenCalledWith("api", "testApi");
397
- });
398
- });
399
- });