apify-test-tools 0.5.1 → 0.5.3
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/CHANGELOG.md +5 -0
- package/bin/git.ts +19 -34
- package/lib/lib.ts +5 -2
- package/package.json +1 -1
- package/test/unit/bin/git.test.ts +109 -0
- package/dist/bin/build.d.ts +0 -18
- package/dist/bin/build.d.ts.map +0 -1
- package/dist/bin/build.js +0 -229
- package/dist/bin/build.js.map +0 -1
- package/dist/bin/consts.d.ts +0 -4
- package/dist/bin/consts.d.ts.map +0 -1
- package/dist/bin/consts.js +0 -6
- package/dist/bin/consts.js.map +0 -1
- package/dist/bin/git.d.ts +0 -9
- package/dist/bin/git.d.ts.map +0 -1
- package/dist/bin/git.js +0 -61
- package/dist/bin/git.js.map +0 -1
- package/dist/bin/github.d.ts +0 -13
- package/dist/bin/github.d.ts.map +0 -1
- package/dist/bin/github.js +0 -59
- package/dist/bin/github.js.map +0 -1
- package/dist/bin/main.d.ts +0 -3
- package/dist/bin/main.d.ts.map +0 -1
- package/dist/bin/main.js +0 -124
- package/dist/bin/main.js.map +0 -1
- package/dist/bin/slack.d.ts +0 -13
- package/dist/bin/slack.d.ts.map +0 -1
- package/dist/bin/slack.js +0 -51
- package/dist/bin/slack.js.map +0 -1
- package/dist/bin/test-report.d.ts +0 -10
- package/dist/bin/test-report.d.ts.map +0 -1
- package/dist/bin/test-report.js +0 -74
- package/dist/bin/test-report.js.map +0 -1
- package/dist/bin/types.d.ts +0 -89
- package/dist/bin/types.d.ts.map +0 -1
- package/dist/bin/types.js +0 -2
- package/dist/bin/types.js.map +0 -1
- package/dist/bin/utils.d.ts +0 -29
- package/dist/bin/utils.d.ts.map +0 -1
- package/dist/bin/utils.js +0 -169
- package/dist/bin/utils.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +0 -1
- package/dist/lib/consts.d.ts +0 -3
- package/dist/lib/consts.d.ts.map +0 -1
- package/dist/lib/consts.js +0 -12
- package/dist/lib/consts.js.map +0 -1
- package/dist/lib/extend-expect.d.ts +0 -3
- package/dist/lib/extend-expect.d.ts.map +0 -1
- package/dist/lib/extend-expect.js +0 -257
- package/dist/lib/extend-expect.js.map +0 -1
- package/dist/lib/lib.d.ts +0 -38
- package/dist/lib/lib.d.ts.map +0 -1
- package/dist/lib/lib.js +0 -215
- package/dist/lib/lib.js.map +0 -1
- package/dist/lib/run-test-result.d.ts +0 -22
- package/dist/lib/run-test-result.d.ts.map +0 -1
- package/dist/lib/run-test-result.js +0 -73
- package/dist/lib/run-test-result.js.map +0 -1
- package/dist/lib/types.d.ts +0 -127
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/types.js +0 -2
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/utils.d.ts +0 -8
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/utils.js +0 -33
- package/dist/lib/utils.js.map +0 -1
- package/dist/test/unit/custom-matchers.test.d.ts +0 -2
- package/dist/test/unit/custom-matchers.test.d.ts.map +0 -1
- package/dist/test/unit/custom-matchers.test.js +0 -75
- package/dist/test/unit/custom-matchers.test.js.map +0 -1
- package/dist/test/unit/parse-commit.test.d.ts +0 -2
- package/dist/test/unit/parse-commit.test.d.ts.map +0 -1
- package/dist/test/unit/parse-commit.test.js +0 -57
- package/dist/test/unit/parse-commit.test.js.map +0 -1
- package/dist/test/unit/should-built-and-test.test.d.ts +0 -2
- package/dist/test/unit/should-built-and-test.test.d.ts.map +0 -1
- package/dist/test/unit/should-built-and-test.test.js +0 -136
- package/dist/test/unit/should-built-and-test.test.js.map +0 -1
- package/dist/test/unit/test-actor.test.d.ts +0 -2
- package/dist/test/unit/test-actor.test.d.ts.map +0 -1
- package/dist/test/unit/test-actor.test.js +0 -17
- package/dist/test/unit/test-actor.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/lib/lib.js
DELETED
|
@@ -1,215 +0,0 @@
|
|
|
1
|
-
import { ApifyClient } from 'apify-client';
|
|
2
|
-
import { describe as vitestDescribe, test as vitestTest, } from 'vitest';
|
|
3
|
-
import { RunTestResult } from './run-test-result.js';
|
|
4
|
-
import { extendExpect } from './extend-expect.js';
|
|
5
|
-
import { getActorPrefilledInput, sleep } from './utils.js';
|
|
6
|
-
const ACTOR_BUILDS = 'ACTOR_BUILDS';
|
|
7
|
-
let actorBuilds = [];
|
|
8
|
-
try {
|
|
9
|
-
const actorBuildsEnv = process.env[ACTOR_BUILDS];
|
|
10
|
-
if (actorBuildsEnv) {
|
|
11
|
-
actorBuilds = JSON.parse(actorBuildsEnv);
|
|
12
|
-
if (!Array.isArray(actorBuilds)) {
|
|
13
|
-
throw new Error(`${ACTOR_BUILDS} env variable should contain a JSON array, got ${typeof actorBuilds}`);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
catch (err) {
|
|
18
|
-
throw new Error(`Failed to parse actor builds: ${err}`);
|
|
19
|
-
}
|
|
20
|
-
const config = actorBuilds.reduce((map, cfg) => {
|
|
21
|
-
map.set(cfg.actorName, cfg);
|
|
22
|
-
map.set(cfg.actorId, cfg);
|
|
23
|
-
return map;
|
|
24
|
-
}, new Map());
|
|
25
|
-
const { TESTER_APIFY_TOKEN, RUN_PLATFORM_TESTS, RUN_ALL_PLATFORM_TESTS } = process.env;
|
|
26
|
-
const apifyClient = new ApifyClient({ token: TESTER_APIFY_TOKEN });
|
|
27
|
-
const DEFAULT_TEST_OPTIONS = {
|
|
28
|
-
// we want to run tests concurrently
|
|
29
|
-
concurrent: true,
|
|
30
|
-
// test should finish within 1 hour
|
|
31
|
-
timeout: 60_000 * 60,
|
|
32
|
-
};
|
|
33
|
-
export const describe = (name, fn, options = DEFAULT_TEST_OPTIONS) => {
|
|
34
|
-
vitestDescribe.runIf(!!RUN_PLATFORM_TESTS || !!RUN_ALL_PLATFORM_TESTS)(name, options, fn);
|
|
35
|
-
};
|
|
36
|
-
const DEFAULT_TEST_ACTOR_OPTIONS = {
|
|
37
|
-
retry: 1,
|
|
38
|
-
};
|
|
39
|
-
export const testActor = (actorName, testName, fn, testOptions) => {
|
|
40
|
-
const options = {
|
|
41
|
-
...DEFAULT_TEST_ACTOR_OPTIONS,
|
|
42
|
-
...testOptions,
|
|
43
|
-
};
|
|
44
|
-
const name = `${actorName}: ${testName}`;
|
|
45
|
-
const shouldRun = !!RUN_ALL_PLATFORM_TESTS || config.has(actorName);
|
|
46
|
-
vitestTest.runIf(shouldRun)(name, options, async (context) => {
|
|
47
|
-
const { expect, ...rest } = context;
|
|
48
|
-
await fn({
|
|
49
|
-
expect: extendExpect(expect),
|
|
50
|
-
run: createStartRunFn(actorName, context),
|
|
51
|
-
...rest,
|
|
52
|
-
});
|
|
53
|
-
});
|
|
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
|
-
};
|
|
92
|
-
export const testTestActor = (testName, fn) => {
|
|
93
|
-
vitestTest(testName, async (context) => {
|
|
94
|
-
const { expect, ...rest } = context;
|
|
95
|
-
await fn({
|
|
96
|
-
expect: extendExpect(expect),
|
|
97
|
-
// @ts-expect-error: this just to test custom matchers
|
|
98
|
-
run: () => { },
|
|
99
|
-
...rest,
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
};
|
|
103
|
-
export const it = testActor;
|
|
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
|
-
const randomInt = (min, max) => {
|
|
127
|
-
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
128
|
-
};
|
|
129
|
-
/**
|
|
130
|
-
* Creates a task with specific `build` - either `buildNumber` or default.
|
|
131
|
-
*
|
|
132
|
-
* @throws if actor doesn't exist or it doesn't support standby mode.
|
|
133
|
-
*/
|
|
134
|
-
const createStandbyTask = async (actorNameOrId, buildNumber) => {
|
|
135
|
-
const actor = apifyClient.actor(actorNameOrId);
|
|
136
|
-
const actorInfo = (await actor.get());
|
|
137
|
-
if (!actorInfo) {
|
|
138
|
-
throw new Error(`Actor "${actorNameOrId}" not found`);
|
|
139
|
-
}
|
|
140
|
-
if (!actorInfo.standbyUrl) {
|
|
141
|
-
throw new Error(`Actor "${actorNameOrId}" doesn't support standby mode`);
|
|
142
|
-
}
|
|
143
|
-
if (!actorInfo.actorStandby) {
|
|
144
|
-
throw new Error(`Actor "${actorNameOrId} doesn't contain actorStandby options`);
|
|
145
|
-
}
|
|
146
|
-
const { isEnabled, ...defaultActorStandby } = actorInfo.actorStandby;
|
|
147
|
-
const build = buildNumber ?? defaultActorStandby.build;
|
|
148
|
-
const actorStandbyOptions = {
|
|
149
|
-
...defaultActorStandby,
|
|
150
|
-
build,
|
|
151
|
-
};
|
|
152
|
-
try {
|
|
153
|
-
const title = `Test task - ${build}:${actorNameOrId}`.slice(0, 62);
|
|
154
|
-
// we try to create unique task name containing only `a-z0-9-` characters and at most 63 characters long
|
|
155
|
-
const name = `${randomInt(1, 1_000_000)}${title
|
|
156
|
-
.toLowerCase()
|
|
157
|
-
.replaceAll(/\s+/g, '')
|
|
158
|
-
.replaceAll(/[^a-z0-9-]+/g, '-')}`.slice(0, 62);
|
|
159
|
-
const newTask = (await apifyClient.tasks().create({
|
|
160
|
-
actId: actorNameOrId,
|
|
161
|
-
actorStandby: actorStandbyOptions,
|
|
162
|
-
description: `Task for testing standby version ${build}`,
|
|
163
|
-
title,
|
|
164
|
-
name,
|
|
165
|
-
}));
|
|
166
|
-
const { id, standbyUrl } = newTask;
|
|
167
|
-
if (!standbyUrl) {
|
|
168
|
-
throw new Error(`Task "${id} doesn't contain standbyUrl property`);
|
|
169
|
-
}
|
|
170
|
-
return {
|
|
171
|
-
standbyUrl,
|
|
172
|
-
taskId: id,
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
throw new Error(`Failed to create task: ${error}`);
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
const createStartRunFn = (actorNameOrId, testContext) => {
|
|
180
|
-
const { annotate, task } = testContext;
|
|
181
|
-
const actorConfig = config.get(actorNameOrId);
|
|
182
|
-
const build = actorConfig?.buildNumber;
|
|
183
|
-
const buildId = actorConfig?.buildId;
|
|
184
|
-
return async (runOptions) => {
|
|
185
|
-
const { input, options, prefilledInput, runId } = runOptions;
|
|
186
|
-
if (runId) {
|
|
187
|
-
const run = await apifyClient.run(runId).get();
|
|
188
|
-
if (!run) {
|
|
189
|
-
throw new Error(`Run with id "${runId}" doesn't exist`);
|
|
190
|
-
}
|
|
191
|
-
return new RunTestResult(apifyClient, run);
|
|
192
|
-
}
|
|
193
|
-
const actor = apifyClient.actor(actorNameOrId);
|
|
194
|
-
const actorInput = {
|
|
195
|
-
...(prefilledInput && (await getActorPrefilledInput(apifyClient, actorNameOrId, buildId))),
|
|
196
|
-
...input,
|
|
197
|
-
};
|
|
198
|
-
const run = await actor.call(actorInput, { build, ...options });
|
|
199
|
-
const runLink = generateRunLink(run);
|
|
200
|
-
await annotate(runLink, 'run_link');
|
|
201
|
-
// @ts-expect-error: `TaskMeta` cannot be retyped
|
|
202
|
-
task.meta = {
|
|
203
|
-
runId: run.id,
|
|
204
|
-
runLink,
|
|
205
|
-
actorName: actorNameOrId,
|
|
206
|
-
};
|
|
207
|
-
// waiting for datasetItemCount and chargedEventCounts to sync
|
|
208
|
-
await sleep(10_000);
|
|
209
|
-
return new RunTestResult(apifyClient, run);
|
|
210
|
-
};
|
|
211
|
-
};
|
|
212
|
-
const generateRunLink = (run) => {
|
|
213
|
-
return `https://console.apify.com/view/runs/${run.id}`;
|
|
214
|
-
};
|
|
215
|
-
//# sourceMappingURL=lib.js.map
|
package/dist/lib/lib.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ActorRun, ApifyClient, KeyValueStoreClient } from 'apify-client';
|
|
2
|
-
import type { Dataset, SdkCrawlerStatistics } from './types.js';
|
|
3
|
-
export declare class RunTestResult {
|
|
4
|
-
private readonly apifyClient;
|
|
5
|
-
private readonly run;
|
|
6
|
-
private log;
|
|
7
|
-
private dataset;
|
|
8
|
-
private keyValueStoreClient;
|
|
9
|
-
private statistics;
|
|
10
|
-
private runInfo;
|
|
11
|
-
private input;
|
|
12
|
-
constructor(apifyClient: ApifyClient, run: ActorRun);
|
|
13
|
-
getStatistics: () => Promise<SdkCrawlerStatistics | undefined>;
|
|
14
|
-
getLog: () => Promise<string>;
|
|
15
|
-
getDataset: <T>() => Promise<Dataset<T>>;
|
|
16
|
-
getKeyValueStoreClient: () => KeyValueStoreClient;
|
|
17
|
-
getInput: <T>() => Promise<T>;
|
|
18
|
-
getRunInfo: () => Promise<ActorRun>;
|
|
19
|
-
get id(): string;
|
|
20
|
-
get status(): string;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=run-test-result.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-test-result.d.ts","sourceRoot":"","sources":["../../lib/run-test-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEhE,qBAAa,aAAa;IAQV,OAAO,CAAC,QAAQ,CAAC,WAAW;IAAe,OAAO,CAAC,QAAQ,CAAC,GAAG;IAP3E,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,KAAK,CAAsB;gBAEN,WAAW,EAAE,WAAW,EAAmB,GAAG,EAAE,QAAQ;IAIrF,aAAa,QAAa,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAQjE;IAEF,MAAM,QAAa,OAAO,CAAC,MAAM,CAAC,CAOhC;IAEF,UAAU,GAAU,CAAC,OAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAQ3C;IAEF,sBAAsB,QAAO,mBAAmB,CAO9C;IAEF,QAAQ,GAAU,CAAC,OAAK,OAAO,CAAC,CAAC,CAAC,CAQhC;IAEF,UAAU,QAAa,OAAO,CAAC,QAAQ,CAAC,CAOtC;IAEF,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;CACJ"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
export class RunTestResult {
|
|
2
|
-
apifyClient;
|
|
3
|
-
run;
|
|
4
|
-
log;
|
|
5
|
-
dataset;
|
|
6
|
-
keyValueStoreClient;
|
|
7
|
-
statistics;
|
|
8
|
-
runInfo;
|
|
9
|
-
input;
|
|
10
|
-
constructor(apifyClient, run) {
|
|
11
|
-
this.apifyClient = apifyClient;
|
|
12
|
-
this.run = run;
|
|
13
|
-
/**/
|
|
14
|
-
}
|
|
15
|
-
getStatistics = async () => {
|
|
16
|
-
if (this.statistics) {
|
|
17
|
-
return this.statistics;
|
|
18
|
-
}
|
|
19
|
-
const kvs = this.apifyClient.keyValueStore(this.run.defaultKeyValueStoreId);
|
|
20
|
-
const stats = await kvs.getRecord('SDK_CRAWLER_STATISTICS_0');
|
|
21
|
-
this.statistics = stats?.value;
|
|
22
|
-
return this.statistics;
|
|
23
|
-
};
|
|
24
|
-
getLog = async () => {
|
|
25
|
-
if (this.log) {
|
|
26
|
-
return this.log;
|
|
27
|
-
}
|
|
28
|
-
const runLog = await this.apifyClient.run(this.id).log().get();
|
|
29
|
-
this.log = runLog;
|
|
30
|
-
return runLog;
|
|
31
|
-
};
|
|
32
|
-
getDataset = async () => {
|
|
33
|
-
if (this.dataset) {
|
|
34
|
-
return this.dataset;
|
|
35
|
-
}
|
|
36
|
-
const dataset = this.apifyClient.dataset(this.run.defaultDatasetId);
|
|
37
|
-
const items = (await dataset.listItems()).items;
|
|
38
|
-
this.dataset = { items };
|
|
39
|
-
return this.dataset;
|
|
40
|
-
};
|
|
41
|
-
getKeyValueStoreClient = () => {
|
|
42
|
-
if (this.keyValueStoreClient) {
|
|
43
|
-
return this.keyValueStoreClient;
|
|
44
|
-
}
|
|
45
|
-
const keyValueStoreClient = this.apifyClient.keyValueStore(this.run.defaultKeyValueStoreId);
|
|
46
|
-
this.keyValueStoreClient = keyValueStoreClient;
|
|
47
|
-
return keyValueStoreClient;
|
|
48
|
-
};
|
|
49
|
-
getInput = async () => {
|
|
50
|
-
if (this.input) {
|
|
51
|
-
return this.input;
|
|
52
|
-
}
|
|
53
|
-
const kvs = this.apifyClient.keyValueStore(this.run.defaultKeyValueStoreId);
|
|
54
|
-
const input = await kvs.getRecord('INPUT');
|
|
55
|
-
this.input = input?.value;
|
|
56
|
-
return this.input;
|
|
57
|
-
};
|
|
58
|
-
getRunInfo = async () => {
|
|
59
|
-
if (this.runInfo) {
|
|
60
|
-
return this.runInfo;
|
|
61
|
-
}
|
|
62
|
-
const run = this.apifyClient.run(this.run.id);
|
|
63
|
-
this.runInfo = await run.get();
|
|
64
|
-
return this.runInfo;
|
|
65
|
-
};
|
|
66
|
-
get id() {
|
|
67
|
-
return this.run.id;
|
|
68
|
-
}
|
|
69
|
-
get status() {
|
|
70
|
-
return this.run.status;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=run-test-result.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-test-result.js","sourceRoot":"","sources":["../../lib/run-test-result.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import { ActorCallOptions } from 'apify-client';
|
|
2
|
-
import { Assertion, TestOptions } from 'vitest';
|
|
3
|
-
export type ActorBuild = {
|
|
4
|
-
buildId: string;
|
|
5
|
-
actorId: string;
|
|
6
|
-
buildNumber: string;
|
|
7
|
-
actorName: string;
|
|
8
|
-
};
|
|
9
|
-
export type RunOptions<T> = {
|
|
10
|
-
input: Omit<T, 'actorName'>;
|
|
11
|
-
options?: ActorCallOptions;
|
|
12
|
-
prefilledInput?: boolean;
|
|
13
|
-
/**
|
|
14
|
-
* If you specify `runId`, all the other options will be ignored and this run's data will
|
|
15
|
-
* be downloaded instead.
|
|
16
|
-
*
|
|
17
|
-
* This is usefull for testing your tests on existing runs
|
|
18
|
-
*/
|
|
19
|
-
runId?: string;
|
|
20
|
-
};
|
|
21
|
-
export type Dataset<T> = {
|
|
22
|
-
items: T[];
|
|
23
|
-
};
|
|
24
|
-
export type OpenInterval = {
|
|
25
|
-
min: number;
|
|
26
|
-
max?: undefined;
|
|
27
|
-
} | {
|
|
28
|
-
min?: undefined;
|
|
29
|
-
max: number;
|
|
30
|
-
};
|
|
31
|
-
export type ClosedInterval = {
|
|
32
|
-
min: number;
|
|
33
|
-
max: number;
|
|
34
|
-
};
|
|
35
|
-
export type Interval = number | OpenInterval | ClosedInterval;
|
|
36
|
-
export type ToFinishWithOptionsWithDefaults = {
|
|
37
|
-
status: RunStatus;
|
|
38
|
-
duration: Interval | null;
|
|
39
|
-
failedRequests: Interval | null;
|
|
40
|
-
requestsRetries: Interval | null;
|
|
41
|
-
forbiddenLogs: string[];
|
|
42
|
-
maxRetriesPerRequest: number | null;
|
|
43
|
-
};
|
|
44
|
-
export type IntervalOption<PpeEvent extends string> = keyof Pick<ToFinishWithOptions<PpeEvent>, 'datasetItemCount' | 'requestsRetries' | 'failedRequests' | 'duration'>;
|
|
45
|
-
export type ToFinishWithOptions<PpeEvent extends string> = Partial<ToFinishWithOptionsWithDefaults> & {
|
|
46
|
-
datasetItemCount: Interval;
|
|
47
|
-
/**
|
|
48
|
-
* Define expected charged (PPE) event counts. You can also define count as `Interval`.
|
|
49
|
-
*
|
|
50
|
-
* Example
|
|
51
|
-
* ```ts
|
|
52
|
-
* chargedEventCounts: {
|
|
53
|
-
* 'actor-start': 4,
|
|
54
|
-
* 'item-pushed': { min: 10, max: 20 },
|
|
55
|
-
* }
|
|
56
|
-
* ```
|
|
57
|
-
*
|
|
58
|
-
* If you omit any PPE event, it's expected count will be 0.
|
|
59
|
-
* Assertion will fail if `chargedEventCounts` doesn't contain some of the expected events.
|
|
60
|
-
*/
|
|
61
|
-
chargedEventCounts?: Record<PpeEvent, Interval>;
|
|
62
|
-
};
|
|
63
|
-
export type SdkCrawlerStatistics = {
|
|
64
|
-
requestsFinished: number;
|
|
65
|
-
requestsFailed: number;
|
|
66
|
-
requestsRetries: number;
|
|
67
|
-
requestsFailedPerMinute: number;
|
|
68
|
-
requestsFinishedPerMinute: number;
|
|
69
|
-
requestMinDurationMillis: number;
|
|
70
|
-
requestMaxDurationMillis: number;
|
|
71
|
-
requestRetryHistogram: number[];
|
|
72
|
-
requestTotalFailedDurationMillis: number;
|
|
73
|
-
requestTotalFinishedDurationMillis: number;
|
|
74
|
-
crawlerStartedAt: string;
|
|
75
|
-
crawlerFinishedAt: string;
|
|
76
|
-
statsPersistedAt: string;
|
|
77
|
-
crawlerRuntimeMillis: number;
|
|
78
|
-
crawlerLastStartTimestamp: number;
|
|
79
|
-
};
|
|
80
|
-
export type RunStatus = 'SUCCEEDED' | 'READY' | 'RUNNING' | 'FAILED' | 'ABORTING' | 'ABORTED' | 'TIMING-OUT' | 'TIMED-OUT';
|
|
81
|
-
export interface ActorMatchers<R = unknown> {
|
|
82
|
-
toBeArray: () => R;
|
|
83
|
-
toBeBoolean: () => R;
|
|
84
|
-
toBeEmptyArray: () => R;
|
|
85
|
-
toBeNonEmptyArray: () => R;
|
|
86
|
-
toBeNonEmptyString: () => R;
|
|
87
|
-
toBeNumber: () => R;
|
|
88
|
-
toBeFalse: () => R;
|
|
89
|
-
toBeTrue: () => R;
|
|
90
|
-
toBeNonEmptyObject: () => R;
|
|
91
|
-
toBeObject: () => R;
|
|
92
|
-
toBeString: () => R;
|
|
93
|
-
toBeWholeNumber: () => R;
|
|
94
|
-
toBeWithinRange: (lower: number, upper: number) => R;
|
|
95
|
-
/**
|
|
96
|
-
* Validates the following properties of a run:
|
|
97
|
-
* - `status` (default: `SUCCEEDED`)
|
|
98
|
-
* - `duration` in milliseconds (default: `{ min: 600, max: 600_000}` - <0.6s, 10min>)
|
|
99
|
-
* - `failedRequests` (default: `0`)
|
|
100
|
-
* - `requestsRetries` (default: `{ max: 3 }`)
|
|
101
|
-
* - `forbiddenLogs` (default: `['ReferenceError', 'TypeError']`)
|
|
102
|
-
* - `maxRetriesPerRequest` (not checked by default)
|
|
103
|
-
* - `datasetItemCount` (required)
|
|
104
|
-
* - `chargedEventCounts`
|
|
105
|
-
*/
|
|
106
|
-
toFinishWith: <PpeEvent extends string>(options: ToFinishWithOptions<PpeEvent>) => Promise<R>;
|
|
107
|
-
toStartWith: (prefix: string) => R;
|
|
108
|
-
hard: <T>(actual: T, message?: string) => Assertion;
|
|
109
|
-
}
|
|
110
|
-
export type ActorTestOptions = Omit<TestOptions, 'retry'> & {
|
|
111
|
-
/**
|
|
112
|
-
* Times to retry the test if fails. Useful for making flaky tests more stable.
|
|
113
|
-
* When retries is up, the last test error will be thrown.
|
|
114
|
-
*
|
|
115
|
-
* @default 1
|
|
116
|
-
*/
|
|
117
|
-
retry?: TestOptions['retry'];
|
|
118
|
-
};
|
|
119
|
-
declare module 'vitest' {
|
|
120
|
-
interface Assertion<T = any> extends ActorMatchers<T> {
|
|
121
|
-
}
|
|
122
|
-
interface Matchers<T = any> extends ActorMatchers<T> {
|
|
123
|
-
}
|
|
124
|
-
interface AsymmetricMatchersContaining extends ActorMatchers {
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IACxB,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACrB,KAAK,EAAE,CAAC,EAAE,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,GAClB;IACI,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,SAAS,CAAC;CACnB,GACD;IACI,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAER,MAAM,MAAM,cAAc,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,YAAY,GAAG,cAAc,CAAC;AAE9D,MAAM,MAAM,+BAA+B,GAAG;IAC1C,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,QAAQ,GAAG,IAAI,CAAC;IAChC,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC,CAAC;AACF,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,MAAM,IAAI,MAAM,IAAI,CAC5D,mBAAmB,CAAC,QAAQ,CAAC,EAC7B,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,CACzE,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,MAAM,IAAI,OAAO,CAAC,+BAA+B,CAAC,GAAG;IAClG,gBAAgB,EAAE,QAAQ,CAAC;IAC3B;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,uBAAuB,EAAE,MAAM,CAAC;IAChC,yBAAyB,EAAE,MAAM,CAAC;IAClC,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,MAAM,CAAC;IACjC,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,gCAAgC,EAAE,MAAM,CAAC;IACzC,kCAAkC,EAAE,MAAM,CAAC;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,SAAS,GACf,WAAW,GACX,OAAO,GACP,SAAS,GACT,QAAQ,GACR,UAAU,GACV,SAAS,GACT,YAAY,GACZ,WAAW,CAAC;AAElB,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACtC,SAAS,EAAE,MAAM,CAAC,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC,CAAC;IACzB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,CAAC;IACrD;;;;;;;;;;OAUG;IACH,YAAY,EAAE,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9F,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC;CACvD;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG;IACxD;;;;;OAKG;IAEH,KAAK,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,OAAO,QAAQ,QAAQ,CAAC;IAEpB,UAAU,SAAS,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;KAAG;IAExD,UAAU,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;KAAG;IACvD,UAAU,4BAA6B,SAAQ,aAAa;KAAG;CAClE"}
|
package/dist/lib/types.js
DELETED
package/dist/lib/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":""}
|
package/dist/lib/utils.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ApifyClient } from 'apify-client';
|
|
2
|
-
/**
|
|
3
|
-
* Gets prefilled values for a provided build or, if not provided, uses actor's
|
|
4
|
-
* default build (this is usually `latest`).
|
|
5
|
-
*/
|
|
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>;
|
|
8
|
-
//# sourceMappingURL=utils.d.ts.map
|
package/dist/lib/utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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,GAC/B,aAAa,WAAW,EACxB,eAAe,MAAM,EACrB,SAAS,MAAM,GAAG,SAAS,qCAuC9B,CAAC;AAEF,eAAO,MAAM,KAAK,GAAU,IAAI,MAAM,kBAErC,CAAA"}
|
package/dist/lib/utils.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gets prefilled values for a provided build or, if not provided, uses actor's
|
|
3
|
-
* default build (this is usually `latest`).
|
|
4
|
-
*/
|
|
5
|
-
export const getActorPrefilledInput = async (apifyClient, actorNameOrId, buildId) => {
|
|
6
|
-
if (!buildId) {
|
|
7
|
-
const actorInfo = await apifyClient.actor(actorNameOrId).get();
|
|
8
|
-
const defaultBuildTag = actorInfo?.defaultRunOptions.build;
|
|
9
|
-
const taggedBuild = actorInfo?.taggedBuilds?.[defaultBuildTag || ''];
|
|
10
|
-
buildId = taggedBuild?.buildId;
|
|
11
|
-
if (!buildId) {
|
|
12
|
-
console.error(`Coudn't find default build for actor ${actorNameOrId}. Prefilled values will not be used.`);
|
|
13
|
-
return {};
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
const buildInfo = await apifyClient.build(buildId).get();
|
|
17
|
-
const inputSchema = buildInfo?.actorDefinition?.input;
|
|
18
|
-
if (!inputSchema) {
|
|
19
|
-
console.error(`Coudn't find input schema definition for actor ${actorNameOrId}, build ${buildId}.`, 'Prefilled values will not be used');
|
|
20
|
-
return {};
|
|
21
|
-
}
|
|
22
|
-
const prefill = {};
|
|
23
|
-
for (const [propertyName, propertyValue] of Object.entries(inputSchema.properties)) {
|
|
24
|
-
if (propertyValue.prefill !== undefined) {
|
|
25
|
-
prefill[propertyName] = propertyValue.prefill;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return prefill;
|
|
29
|
-
};
|
|
30
|
-
export const sleep = async (ms) => {
|
|
31
|
-
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=utils.js.map
|
package/dist/lib/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"custom-matchers.test.d.ts","sourceRoot":"","sources":["../../../test/unit/custom-matchers.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import process from 'process';
|
|
2
|
-
import { describe } from 'vitest';
|
|
3
|
-
import { ApifyClient } from 'apify-client';
|
|
4
|
-
import { testStandbyActor, testTestActor } from '../../lib/lib.js';
|
|
5
|
-
import { RunTestResult } from '../../lib/run-test-result.js';
|
|
6
|
-
var PpeEventEnum;
|
|
7
|
-
(function (PpeEventEnum) {
|
|
8
|
-
PpeEventEnum["ACTOR_START"] = "actor-start";
|
|
9
|
-
PpeEventEnum["SEARCH_PAGE_SCRAPED"] = "search-page-scraped";
|
|
10
|
-
PpeEventEnum["ADS_SCRAPED"] = "ads-scraped";
|
|
11
|
-
})(PpeEventEnum || (PpeEventEnum = {}));
|
|
12
|
-
const PPE_EVENT_CONST = {
|
|
13
|
-
ACTOR_START: 'actor-start',
|
|
14
|
-
ITEM_PUSHED: 'search-page-scraped',
|
|
15
|
-
ADS_SCRAPED: 'ads-scraped',
|
|
16
|
-
};
|
|
17
|
-
describe('custom-matchers', { timeout: 100_000 }, () => {
|
|
18
|
-
testTestActor('basic', async ({ expect }) => {
|
|
19
|
-
const apifyClient = new ApifyClient({ token: process.env.TESTER_APIFY_TOKEN });
|
|
20
|
-
const run = await apifyClient.run('k5MNKmaDGHlABDn2I').get();
|
|
21
|
-
const runResult = new RunTestResult(apifyClient, run);
|
|
22
|
-
await expect(runResult).toFinishWith({
|
|
23
|
-
datasetItemCount: { min: 10, max: 20 },
|
|
24
|
-
duration: 10,
|
|
25
|
-
status: 'TIMING-OUT',
|
|
26
|
-
chargedEventCounts: {
|
|
27
|
-
'actor-start': 1,
|
|
28
|
-
'search-page-scraped': { min: 1 },
|
|
29
|
-
'ads-scraped': 3,
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
await expect(runResult).toFinishWith({
|
|
33
|
-
datasetItemCount: { min: 10, max: 20 },
|
|
34
|
-
chargedEventCounts: {
|
|
35
|
-
'actor-start': 1,
|
|
36
|
-
'search-page-scraped': { min: 1 },
|
|
37
|
-
'ads-scraped': 0,
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
await expect(runResult).toFinishWith({
|
|
41
|
-
datasetItemCount: { min: 1, max: 20 },
|
|
42
|
-
chargedEventCounts: {
|
|
43
|
-
'actor-start': 1,
|
|
44
|
-
'search-page-scraped': { min: 1 },
|
|
45
|
-
'ads-scraped': 0,
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
expect(3).toEqual(3);
|
|
49
|
-
expect.hard(5).toEqual(5);
|
|
50
|
-
expect(10).toEqual(10);
|
|
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
|
-
});
|
|
74
|
-
});
|
|
75
|
-
//# sourceMappingURL=custom-matchers.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"custom-matchers.test.js","sourceRoot":"","sources":["../../../test/unit/custom-matchers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-commit.test.d.ts","sourceRoot":"","sources":["../../../test/unit/parse-commit.test.ts"],"names":[],"mappings":""}
|