apify-test-tools 0.1.0 → 0.2.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 (44) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/CONTRIBUTING.md +53 -0
  3. package/README.md +247 -17
  4. package/bin/git.ts +24 -5
  5. package/bin/main.ts +11 -1
  6. package/bin/types.ts +1 -0
  7. package/bin/utils.ts +15 -8
  8. package/dist/bin/git.d.ts +2 -0
  9. package/dist/bin/git.d.ts.map +1 -1
  10. package/dist/bin/git.js +22 -5
  11. package/dist/bin/git.js.map +1 -1
  12. package/dist/bin/main.js +9 -1
  13. package/dist/bin/main.js.map +1 -1
  14. package/dist/bin/types.d.ts +1 -0
  15. package/dist/bin/types.d.ts.map +1 -1
  16. package/dist/bin/utils.d.ts +3 -0
  17. package/dist/bin/utils.d.ts.map +1 -1
  18. package/dist/bin/utils.js +13 -8
  19. package/dist/bin/utils.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/lib/lib.d.ts +23 -1
  25. package/dist/lib/lib.d.ts.map +1 -1
  26. package/dist/lib/lib.js +110 -4
  27. package/dist/lib/lib.js.map +1 -1
  28. package/dist/lib/utils.d.ts +1 -0
  29. package/dist/lib/utils.d.ts.map +1 -1
  30. package/dist/lib/utils.js +3 -0
  31. package/dist/lib/utils.js.map +1 -1
  32. package/dist/test/unit/custom-matchers.test.js +23 -1
  33. package/dist/test/unit/custom-matchers.test.js.map +1 -1
  34. package/dist/test/unit/parse-commit.test.d.ts +2 -0
  35. package/dist/test/unit/parse-commit.test.d.ts.map +1 -0
  36. package/dist/test/unit/parse-commit.test.js +57 -0
  37. package/dist/test/unit/parse-commit.test.js.map +1 -0
  38. package/dist/tsconfig.tsbuildinfo +1 -1
  39. package/index.ts +1 -1
  40. package/lib/lib.ts +137 -5
  41. package/lib/utils.ts +6 -1
  42. package/package.json +1 -1
  43. package/test/unit/custom-matchers.test.ts +25 -1
  44. package/test/unit/parse-commit.test.ts +73 -0
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../bin/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,WAAW,EACX,WAAW,EACd,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,yBAAyB,YAAa,MAAM,SAAQ,MAAM,EAAE,WAkBxE,CAAC;AAEF,eAAO,MAAM,WAAW,gBAAiB,WAAW,WAGnD,CAAC;AAEF,eAAO,MAAM,SAAS,YAAa,MAAM,iBAAiB,MAAM,KAAG,MAMlE,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,MAAM,WAEjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,WAAW,EAAE,CAgC3D,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBAAiB,WAAW,WAIxD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACnC,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,yBAAyB;IAC/B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AA2BD;;GAEG;AACH,eAAO,MAAM,gBAAgB,iDAC6B,yBAAyB,KAChF,sBAyEF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../bin/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACR,WAAW,EAEX,WAAW,EACd,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,yBAAyB,YAAa,MAAM,SAAQ,MAAM,EAAE,WAgBxE,CAAC;AAEF,eAAO,MAAM,WAAW,gBAAiB,WAAW,WAGnD,CAAC;AAEF,eAAO,MAAM,SAAS,YAAa,MAAM,iBAAiB,MAAM,KAAG,MAMlE,CAAC;AAEF,eAAO,MAAM,eAAe,eAAgB,MAAM,WAEjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAa,OAAO,CAAC,WAAW,EAAE,CA+B3D,CAAC;AAEF,eAAO,MAAM,MAAM,kBAAmB;IAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,SAOtE,CAAA;AAED,eAAO,MAAM,gBAAgB,gBAAiB,WAAW,WAIxD,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACnC,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,yBAAyB;IAC/B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAC;IAE5B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AA2BD;;GAEG;AACH,eAAO,MAAM,gBAAgB,iDAC6B,yBAAyB,KAChF,sBAyEF,CAAC"}
package/dist/bin/utils.js CHANGED
@@ -2,16 +2,14 @@ import fs from 'node:fs/promises';
2
2
  import { spawnSync } from 'node:child_process';
3
3
  export const spawnCommandInGhWorkspace = (command, args = []) => {
4
4
  console.error(command, args.join(' '));
5
- const ghWorkspace = getEnvVar('GITHUB_WORKSPACE');
6
- const commandInGhWorkspace = `cd ${ghWorkspace}; ${command}`;
7
- const commandResult = spawnSync(commandInGhWorkspace, args, { shell: true, maxBuffer: 100 * 1024 * 1024 });
5
+ const commandResult = spawnSync(command, args, { shell: true, maxBuffer: 100 * 1024 * 1024 });
8
6
  if (commandResult.error) {
9
- throw new Error(`[Command failed]: ${commandInGhWorkspace}\n${commandResult.error}`);
7
+ throw new Error(`[Command failed]: ${command}\n${commandResult.error}`);
10
8
  }
11
9
  if (commandResult.stderr.toString().length > 0) {
12
10
  // For some reason 'git' command prints stderr when checking out to detached HEAD state (we only use detached HEAD for testing though)
13
11
  if (!commandResult.stderr.toString().includes(`You are in 'detached HEAD' state`)) {
14
- throw new Error(`[Command printed stderr]: ${commandInGhWorkspace}\n${commandResult.stderr.toString()}`);
12
+ throw new Error(`[Command printed stderr]: ${command}\n${commandResult.stderr.toString()}`);
15
13
  }
16
14
  }
17
15
  return commandResult.stdout.toString().trim();
@@ -35,10 +33,9 @@ export const getRunUrlKvsKey = (runnerName) => {
35
33
  * This works locally if checkoutRepoLocally is called first
36
34
  */
37
35
  export const getRepoActors = async () => {
38
- const ghWorkspace = getEnvVar('GITHUB_WORKSPACE');
39
36
  let actorDirs;
40
37
  try {
41
- actorDirs = (await fs.readdir(`${ghWorkspace}/actors`)).map((dir) => `actors/${dir}`);
38
+ actorDirs = (await fs.readdir(`./actors`)).map((dir) => `actors/${dir}`);
42
39
  }
43
40
  catch (err) {
44
41
  console.warn(`No /actors directory found in repo`);
@@ -46,7 +43,7 @@ export const getRepoActors = async () => {
46
43
  }
47
44
  let standaloneActorDirs;
48
45
  try {
49
- standaloneActorDirs = (await fs.readdir(`${ghWorkspace}/standalone-actors`)).map((dir) => `standalone-actors/${dir}`);
46
+ standaloneActorDirs = (await fs.readdir(`./standalone-actors`)).map((dir) => `standalone-actors/${dir}`);
50
47
  }
51
48
  catch (err) {
52
49
  console.warn(`No /standalone-actors directory found in repo`);
@@ -69,6 +66,14 @@ export const getRepoActors = async () => {
69
66
  console.error(`Standalone actors in repo: ${actorConfigs.filter(({ isStandalone }) => !!isStandalone).map(({ actorName }) => actorName).join(', ')}`);
70
67
  return actorConfigs;
71
68
  };
69
+ export const setCwd = ({ workspace }) => {
70
+ if (workspace) {
71
+ process.chdir(workspace);
72
+ return;
73
+ }
74
+ const ghWorkspace = getEnvVar('GITHUB_WORKSPACE', process.cwd());
75
+ process.chdir(ghWorkspace);
76
+ };
72
77
  export const getHeadCommitSha = (githubEvent) => {
73
78
  return githubEvent.type === 'pull_request'
74
79
  ? githubEvent.pull_request.head.sha
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../bin/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../bin/utils.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { describe, testActor, ExpectStatic } from './lib/lib.js';
1
+ export { describe, testActor, testStandbyActor, ExpectStatic } from './lib/lib.js';
2
2
  export { RunTestResult } from './lib/run-test-result.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { describe, testActor } from './lib/lib.js';
1
+ export { describe, testActor, testStandbyActor } from './lib/lib.js';
2
2
  export { RunTestResult } from './lib/run-test-result.js';
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAgB,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAgB,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/lib/lib.d.ts CHANGED
@@ -6,11 +6,33 @@ export declare const describe: (name: string, fn?: SuiteFactory<object>, options
6
6
  export declare const testActor: <T>(actorName: string, testName: string, fn: TestFunction<{
7
7
  run: ReturnType<typeof createStartRunFn<T>>;
8
8
  }>, testOptions?: TestOptions) => void;
9
+ /**
10
+ * This wrapper creates a new task with specific `build` of the standby actor and provides
11
+ * `callStandby` function, which calls the task's `standbyUrl`.
12
+ *
13
+ * Using task is just current shortcoming of standby feature but ideally we would use Actor directly
14
+ */
15
+ export declare const testStandbyActor: <I = any, O = any>(actorName: string, testName: string, fn: TestFunction<{
16
+ callStandby: ReturnType<typeof createStartStandbyFn<I, O>>;
17
+ }>, testOptions?: TestOptions) => void;
9
18
  export declare const testTestActor: <T>(testName: string, fn: TestFunction<{
10
19
  run: ReturnType<typeof createStartRunFn<T>>;
11
20
  }>) => void;
12
21
  export declare const it: <T>(actorName: string, testName: string, fn: TestFunction<{
13
22
  run: ReturnType<typeof createStartRunFn<T>>;
14
23
  }>, testOptions?: TestOptions) => void;
15
- declare const createStartRunFn: <T>(actorNameOrId: string, { annotate, task }: TestContext) => (runOptions: RunOptions<T>) => Promise<RunTestResult>;
24
+ /**
25
+ * Creates a function the accepts input for a standby actor and sends request containing input
26
+ * to the task's standby url.
27
+ */
28
+ declare const createStartStandbyFn: <I, O>(standbyTask: StandbyTask) => ({ input }: Pick<RunOptions<I>, "input">) => Promise<{
29
+ data: O;
30
+ status: number;
31
+ headers: Headers;
32
+ }>;
33
+ interface StandbyTask {
34
+ standbyUrl: string;
35
+ taskId: string;
36
+ }
37
+ declare const createStartRunFn: <T>(actorNameOrId: string, testContext: TestContext) => (runOptions: RunOptions<T>) => Promise<RunTestResult>;
16
38
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,YAAY,EACZ,YAAY,EAEZ,YAAY,EACZ,WAAW,EACX,WAAW,EACd,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAwBrD,OAAO,EAAE,YAAY,EAAE,CAAC;AAYxB,eAAO,MAAM,QAAQ,SACX,MAAM,OACP,YAAY,CAAC,MAAM,CAAC,YAChB,WAAW,SAGvB,CAAC;AAMF,eAAO,MAAM,SAAS,GAAI,CAAC,aACZ,MAAM,YACP,MAAM,MACZ,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,gBACnD,WAAW,SAiB5B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,YACjB,MAAM,MACZ,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,SAWpE,CAAC;AAEF,eAAO,MAAM,EAAE,GAtCW,CAAC,aACZ,MAAM,YACP,MAAM,MACZ,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,gBACnD,WAAW,SAkCF,CAAC;AAE5B,QAAA,MAAM,gBAAgB,GAAI,CAAC,iBAAiB,MAAM,sBAAsB,WAAW,kBAIrD,UAAU,CAAC,CAAC,CAAC,2BA8B1C,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,YAAY,EACZ,YAAY,EAEZ,YAAY,EACZ,WAAW,EACX,WAAW,EACd,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAwBrD,OAAO,EAAE,YAAY,EAAE,CAAC;AAYxB,eAAO,MAAM,QAAQ,SACX,MAAM,OACP,YAAY,CAAC,MAAM,CAAC,YAChB,WAAW,SAGvB,CAAC;AAMF,eAAO,MAAM,SAAS,GAAI,CAAC,aACZ,MAAM,YACP,MAAM,MACZ,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,gBACnD,WAAW,SAiB5B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,CAAC,QAAQ,CAAC,mBAC5B,MAAM,YACP,MAAM,MACZ,YAAY,CAAC;IAAE,WAAW,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,gBAClE,WAAW,SAmC5B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,YACjB,MAAM,MACZ,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,SAWpE,CAAC;AAEF,eAAO,MAAM,EAAE,GArFW,CAAC,aACZ,MAAM,YACP,MAAM,MACZ,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,gBACnD,WAAW,SAiFF,CAAC;AAE5B;;;GAGG;AACH,QAAA,MAAM,oBAAoB,GAAI,CAAC,EAAE,CAAC,eAAe,WAAW,iBAE/B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;;;;EAgBxD,CAAA;AAED,UAAU,WAAW;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAqDD,QAAA,MAAM,gBAAgB,GAAI,CAAC,iBAAiB,MAAM,eAAe,WAAW,kBAK9C,UAAU,CAAC,CAAC,CAAC,2BA8B1C,CAAC"}
package/dist/lib/lib.js CHANGED
@@ -2,7 +2,7 @@ import { ApifyClient } from 'apify-client';
2
2
  import { describe as vitestDescribe, test as vitestTest, } from 'vitest';
3
3
  import { RunTestResult } from './run-test-result.js';
4
4
  import { extendExpect } from './extend-expect.js';
5
- import { getActorPrefilledInput } from './utils.js';
5
+ import { getActorPrefilledInput, sleep } from './utils.js';
6
6
  const ACTOR_BUILDS = 'ACTOR_BUILDS';
7
7
  let actorBuilds = [];
8
8
  try {
@@ -52,6 +52,43 @@ export const testActor = (actorName, testName, fn, testOptions) => {
52
52
  });
53
53
  });
54
54
  };
55
+ /**
56
+ * This wrapper creates a new task with specific `build` of the standby actor and provides
57
+ * `callStandby` function, which calls the task's `standbyUrl`.
58
+ *
59
+ * Using task is just current shortcoming of standby feature but ideally we would use Actor directly
60
+ */
61
+ export const testStandbyActor = (actorName, testName, fn, testOptions) => {
62
+ const options = {
63
+ ...DEFAULT_TEST_ACTOR_OPTIONS,
64
+ ...testOptions,
65
+ };
66
+ const name = `${actorName}: ${testName}`;
67
+ const shouldRun = !!RUN_ALL_PLATFORM_TESTS || config.has(actorName);
68
+ vitestTest.runIf(shouldRun)(name, options, async (context) => {
69
+ const standbyTask = await createStandbyTask(actorName, config.get(actorName)?.buildNumber);
70
+ const { annotate } = context;
71
+ const { expect, ...rest } = context;
72
+ // NOTE: we need to wrap `fn` in try-catch so that we can always clean up (delete the task) afterwards
73
+ try {
74
+ await fn({
75
+ expect: extendExpect(expect),
76
+ callStandby: createStartStandbyFn(standbyTask),
77
+ ...rest,
78
+ });
79
+ }
80
+ catch { }
81
+ const { taskId } = standbyTask;
82
+ const runs = (await apifyClient.task(taskId).runs().list()).items;
83
+ for (const run of runs) {
84
+ const runLink = generateRunLink(run);
85
+ await annotate(runLink, 'run_link');
86
+ }
87
+ if (taskId) {
88
+ await apifyClient.task(taskId).delete();
89
+ }
90
+ });
91
+ };
55
92
  export const testTestActor = (testName, fn) => {
56
93
  vitestTest(testName, async (context) => {
57
94
  const { expect, ...rest } = context;
@@ -64,7 +101,73 @@ export const testTestActor = (testName, fn) => {
64
101
  });
65
102
  };
66
103
  export const it = testActor;
67
- const createStartRunFn = (actorNameOrId, { annotate, task }) => {
104
+ /**
105
+ * Creates a function the accepts input for a standby actor and sends request containing input
106
+ * to the task's standby url.
107
+ */
108
+ const createStartStandbyFn = (standbyTask) => {
109
+ const { standbyUrl } = standbyTask;
110
+ return async ({ input }) => {
111
+ const response = await fetch(standbyUrl, {
112
+ headers: {
113
+ Authorization: `Bearer ${apifyClient.token}`,
114
+ },
115
+ method: 'POST',
116
+ body: JSON.stringify(input),
117
+ });
118
+ const data = await response.json();
119
+ return {
120
+ data,
121
+ status: response.status,
122
+ headers: response.headers,
123
+ };
124
+ };
125
+ };
126
+ /**
127
+ * Creates a task with specific `build` - either `buildNumber` or default.
128
+ *
129
+ * @throws if actor doesn't exist or it doesn't support standby mode.
130
+ */
131
+ const createStandbyTask = async (actorNameOrId, buildNumber) => {
132
+ const actor = apifyClient.actor(actorNameOrId);
133
+ const actorInfo = (await actor.get());
134
+ if (!actorInfo) {
135
+ throw new Error(`Actor "${actorNameOrId}" not found`);
136
+ }
137
+ if (!actorInfo.standbyUrl) {
138
+ throw new Error(`Actor "${actorNameOrId}" doesn't support standby mode`);
139
+ }
140
+ if (!actorInfo.actorStandby) {
141
+ throw new Error(`Actor "${actorNameOrId} doesn't contain actorStandby options`);
142
+ }
143
+ const { isEnabled, ...defaultActorStandby } = actorInfo.actorStandby;
144
+ const build = buildNumber ?? defaultActorStandby.build;
145
+ const actorStandbyOptions = {
146
+ ...defaultActorStandby,
147
+ build,
148
+ };
149
+ try {
150
+ const newTask = await apifyClient.tasks().create({
151
+ actId: actorNameOrId,
152
+ actorStandby: actorStandbyOptions,
153
+ description: `Task for testing standby version ${build}`,
154
+ title: `Test task - ${build}`,
155
+ });
156
+ const { id, standbyUrl } = newTask;
157
+ if (!standbyUrl) {
158
+ throw new Error(`Task "${id} doesn't contain standbyUrl property`);
159
+ }
160
+ return {
161
+ standbyUrl,
162
+ taskId: id,
163
+ };
164
+ }
165
+ catch (error) {
166
+ throw new Error(`Failed to create task: ${error}`);
167
+ }
168
+ };
169
+ const createStartRunFn = (actorNameOrId, testContext) => {
170
+ const { annotate, task } = testContext;
68
171
  const actorConfig = config.get(actorNameOrId);
69
172
  const build = actorConfig?.buildNumber;
70
173
  const buildId = actorConfig?.buildId;
@@ -76,7 +179,7 @@ const createStartRunFn = (actorNameOrId, { annotate, task }) => {
76
179
  ...input,
77
180
  };
78
181
  const run = await actor.call(actorInput, { build, ...options, });
79
- const runLink = `https://console.apify.com/view/runs/${run.id}`;
182
+ const runLink = generateRunLink(run);
80
183
  await annotate(runLink, 'run_link');
81
184
  // @ts-expect-error: `TaskMeta` cannot be retyped
82
185
  task.meta = {
@@ -84,8 +187,11 @@ const createStartRunFn = (actorNameOrId, { annotate, task }) => {
84
187
  runLink,
85
188
  };
86
189
  // waiting for datasetItemCount and chargedEventCounts to sync
87
- await new Promise((resolve) => setTimeout(resolve, 10_000));
190
+ await sleep(10_000);
88
191
  return new RunTestResult(apifyClient, run);
89
192
  };
90
193
  };
194
+ const generateRunLink = (run) => {
195
+ return `https://console.apify.com/view/runs/${run.id}`;
196
+ };
91
197
  //# sourceMappingURL=lib.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ import { ApifyClient } from 'apify-client';
4
4
  * default build (this is usually `latest`).
5
5
  */
6
6
  export declare const getActorPrefilledInput: (apifyClient: ApifyClient, actorNameOrId: string, buildId: string | undefined) => Promise<Record<string, unknown>>;
7
+ export declare const sleep: (ms: number) => Promise<void>;
7
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,gBAClB,WAAW,iBACT,MAAM,WACZ,MAAM,GAAG,SAAS,qCAuC9B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,gBAClB,WAAW,iBACT,MAAM,WACZ,MAAM,GAAG,SAAS,qCAuC9B,CAAC;AAEF,eAAO,MAAM,KAAK,OAAc,MAAM,kBAErC,CAAA"}
package/dist/lib/utils.js CHANGED
@@ -27,4 +27,7 @@ export const getActorPrefilledInput = async (apifyClient, actorNameOrId, buildId
27
27
  }
28
28
  return prefill;
29
29
  };
30
+ export const sleep = async (ms) => {
31
+ await new Promise((resolve) => setTimeout(resolve, ms));
32
+ };
30
33
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACvC,WAAwB,EACxB,aAAqB,EACrB,OAA2B,EAC7B,EAAE;IACA,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;QAE/D,MAAM,eAAe,GAAG,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC;QAE3D,MAAM,WAAW,GAAG,SAAS,EAAE,YAAY,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,GAAG,WAAW,EAAE,OAAO,CAAC;QAE/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,aAAa,sCAAsC,CAAC,CAAC;YAC3G,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAEzD,MAAM,WAAW,GAAG,SAAS,EAAE,eAAe,EAAE,KAEnC,CAAA;IAEb,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACT,kDAAkD,aAAa,WAAW,OAAO,GAAG,EACpF,mCAAmC,CACtC,CAAC;QACF,OAAO,EAAE,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACjF,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAClD,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACvC,WAAwB,EACxB,aAAqB,EACrB,OAA2B,EAC7B,EAAE;IACA,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;QAE/D,MAAM,eAAe,GAAG,SAAS,EAAE,iBAAiB,CAAC,KAAK,CAAC;QAE3D,MAAM,WAAW,GAAG,SAAS,EAAE,YAAY,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,GAAG,WAAW,EAAE,OAAO,CAAC;QAE/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,aAAa,sCAAsC,CAAC,CAAC;YAC3G,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAEzD,MAAM,WAAW,GAAG,SAAS,EAAE,eAAe,EAAE,KAEnC,CAAA;IAEb,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACT,kDAAkD,aAAa,WAAW,OAAO,GAAG,EACpF,mCAAmC,CACtC,CAAC;QACF,OAAO,EAAE,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAA4B,EAAE,CAAC;IAE5C,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QACjF,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC;QAClD,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;IACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import process from 'process';
2
2
  import { describe } from 'vitest';
3
3
  import { ApifyClient } from 'apify-client';
4
- import { testTestActor } from '../../lib/lib';
4
+ import { testStandbyActor, testTestActor } from '../../lib/lib';
5
5
  import { RunTestResult } from '../../lib/run-test-result';
6
6
  var PpeEventEnum;
7
7
  (function (PpeEventEnum) {
@@ -49,5 +49,27 @@ describe('custom-matchers', { timeout: 100_000 }, () => {
49
49
  expect.hard(5).toEqual(5);
50
50
  expect(10).toEqual(10);
51
51
  });
52
+ testStandbyActor('ondrejklinovsky/contact-info', 'CDS standby', async ({ expect, callStandby }) => {
53
+ {
54
+ const { data, status } = await callStandby({
55
+ input: {
56
+ startUrls: [{ url: 'https://apify.com' }],
57
+ maxRequests: 3,
58
+ aggregateContacts: true,
59
+ },
60
+ });
61
+ expect(status).toBe(200);
62
+ expect(data[0].domain).toEqual('apify.com');
63
+ }
64
+ const { data, status } = await callStandby({
65
+ input: {
66
+ startUrls: [{ url: 'https://apify.com' }],
67
+ maxRequests: 3,
68
+ aggregateContacts: true,
69
+ },
70
+ });
71
+ expect(status).toBe(200);
72
+ expect(data[0].domain).toEqual('apify.com');
73
+ });
52
74
  });
53
75
  //# sourceMappingURL=custom-matchers.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-matchers.test.js","sourceRoot":"","sources":["../../../test/unit/custom-matchers.test.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM1D,IAAK,YAIJ;AAJD,WAAK,YAAY;IACb,2CAA2B,CAAA;IAC3B,2DAA2C,CAAA;IAC3C,2CAA2B,CAAA;AAC/B,CAAC,EAJI,YAAY,KAAZ,YAAY,QAIhB;AACD,MAAM,eAAe,GAAG;IACpB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,aAAa;CACpB,CAAC;AAEX,QAAQ,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE;IACnD,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAC/E,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,GAAI,CAAC,CAAC;QACvD,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAe;YAC/C,gBAAgB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,YAAY;YACpB,kBAAkB,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBACjC,aAAa,EAAE,CAAC;aACnB;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAe;YAC/C,gBAAgB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,kBAAkB,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBACjC,aAAa,EAAE,CAAC;aACnB;SACJ,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAuD;YACvF,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;YACrC,kBAAkB,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBACjC,aAAa,EAAE,CAAC;aACnB;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"custom-matchers.test.js","sourceRoot":"","sources":["../../../test/unit/custom-matchers.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parse-commit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-commit.test.d.ts","sourceRoot":"","sources":["../../../test/unit/parse-commit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { GIT_FORMAT_SEPARATOR, parseCommit } from '../../bin/git';
3
+ describe('parseCommit', () => {
4
+ describe('valid commit strings', () => {
5
+ it('should parse a basic commit string correctly', () => {
6
+ const commitString = `abc123${GIT_FORMAT_SEPARATOR}John Doe<john@example.com>${GIT_FORMAT_SEPARATOR}Mon, 25 Dec 2023 10:30:00 +0100${GIT_FORMAT_SEPARATOR}Add new feature`;
7
+ const result = parseCommit(commitString);
8
+ expect(result).toEqual({
9
+ sha: 'abc123',
10
+ author: 'John Doe<john@example.com>',
11
+ date: 'Mon, 25 Dec 2023 10:30:00 +0100',
12
+ message: 'Add new feature'
13
+ });
14
+ });
15
+ it('should parse commit with double quotes in message', () => {
16
+ const commitString = `def456${GIT_FORMAT_SEPARATOR}Jane Smith<jane@example.com>${GIT_FORMAT_SEPARATOR}Tue, 26 Dec 2023 14:15:00 +0100${GIT_FORMAT_SEPARATOR}test: commit with double quotes: "`;
17
+ const result = parseCommit(commitString);
18
+ expect(result).toEqual({
19
+ sha: 'def456',
20
+ author: 'Jane Smith<jane@example.com>',
21
+ date: 'Tue, 26 Dec 2023 14:15:00 +0100',
22
+ message: 'test: commit with double quotes: \"'
23
+ });
24
+ });
25
+ it('should parse commit with special characters and Unicode', () => {
26
+ const commitString = `jkl012${GIT_FORMAT_SEPARATOR}María García<maria@example.com>${GIT_FORMAT_SEPARATOR}Thu, 28 Dec 2023 16:20:00 +0100${GIT_FORMAT_SEPARATOR}Add émojis 🚀 and "special" chars`;
27
+ const result = parseCommit(commitString);
28
+ expect(result).toEqual({
29
+ sha: 'jkl012',
30
+ author: 'María García<maria@example.com>',
31
+ date: 'Thu, 28 Dec 2023 16:20:00 +0100',
32
+ message: 'Add émojis 🚀 and "special" chars'
33
+ });
34
+ });
35
+ it('should parse commit with empty message', () => {
36
+ const commitString = `mno345${GIT_FORMAT_SEPARATOR}Test User<test@example.com>${GIT_FORMAT_SEPARATOR}Fri, 29 Dec 2023 11:00:00 +0100${GIT_FORMAT_SEPARATOR}`;
37
+ const result = parseCommit(commitString);
38
+ expect(result).toEqual({
39
+ sha: 'mno345',
40
+ author: 'Test User<test@example.com>',
41
+ date: 'Fri, 29 Dec 2023 11:00:00 +0100',
42
+ message: ''
43
+ });
44
+ });
45
+ });
46
+ describe('invalid commit strings', () => {
47
+ it('should throw error for commit string with too few parts', () => {
48
+ const commitString = `abc123${GIT_FORMAT_SEPARATOR}John Doe<john@example.com>${GIT_FORMAT_SEPARATOR}Mon, 25 Dec 2023 10:30:00 +0100`;
49
+ expect(() => parseCommit(commitString)).toThrow(`Failed to parse commit string: ${commitString}`);
50
+ });
51
+ it('should throw error for commit string with too many parts', () => {
52
+ const commitString = `abc123${GIT_FORMAT_SEPARATOR}John Doe<john@example.com>${GIT_FORMAT_SEPARATOR}Mon, 25 Dec 2023 10:30:00 +0100${GIT_FORMAT_SEPARATOR}Add feature${GIT_FORMAT_SEPARATOR}extra part`;
53
+ expect(() => parseCommit(commitString)).toThrow(`Failed to parse commit string: ${commitString}`);
54
+ });
55
+ });
56
+ });
57
+ //# sourceMappingURL=parse-commit.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-commit.test.js","sourceRoot":"","sources":["../../../test/unit/parse-commit.test.ts"],"names":[],"mappings":"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"}