apify-test-tools 0.10.2-beta.6 → 0.10.2-beta.8
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/.github/cli/apify-test-tools.mjs +62 -62
- package/CHANGELOG.md +1 -0
- package/bin/git.ts +5 -1
- package/dist/bin/git.d.ts.map +1 -1
- package/dist/bin/git.js +4 -1
- package/dist/bin/git.js.map +1 -1
- package/dist/lib/extend-expect.d.ts.map +1 -1
- package/dist/lib/extend-expect.js +37 -218
- package/dist/lib/extend-expect.js.map +1 -1
- package/dist/lib/lib.d.ts +1 -2
- package/dist/lib/lib.d.ts.map +1 -1
- package/dist/lib/lib.js +15 -22
- package/dist/lib/lib.js.map +1 -1
- package/dist/lib/run-checks.d.ts +14 -0
- package/dist/lib/run-checks.d.ts.map +1 -0
- package/dist/lib/run-checks.js +82 -0
- package/dist/lib/run-checks.js.map +1 -0
- package/dist/lib/run-test-result.d.ts +3 -6
- package/dist/lib/run-test-result.d.ts.map +1 -1
- package/dist/lib/run-test-result.js +41 -54
- package/dist/lib/run-test-result.js.map +1 -1
- package/dist/test/unit/bin/affected-actors-cli.test.js +6 -0
- package/dist/test/unit/bin/affected-actors-cli.test.js.map +1 -1
- package/dist/test/unit/bin/git.test.js +3 -3
- package/dist/test/unit/bin/git.test.js.map +1 -1
- package/dist/test/unit/run-checks.test.d.ts +2 -0
- package/dist/test/unit/run-checks.test.d.ts.map +1 -0
- package/dist/test/unit/run-checks.test.js +62 -0
- package/dist/test/unit/run-checks.test.js.map +1 -0
- package/dist/test/unit/run-test-result.test.d.ts +2 -0
- package/dist/test/unit/run-test-result.test.d.ts.map +1 -0
- package/dist/test/unit/run-test-result.test.js +34 -0
- package/dist/test/unit/run-test-result.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/lib/extend-expect.ts +48 -258
- package/lib/lib.ts +24 -28
- package/lib/run-checks.ts +101 -0
- package/lib/run-test-result.ts +45 -55
- package/package.json +1 -1
- package/test/unit/bin/affected-actors-cli.test.ts +8 -0
- package/test/unit/bin/git.test.ts +8 -5
- package/test/unit/run-checks.test.ts +76 -0
- package/test/unit/run-test-result.test.ts +44 -0
package/CHANGELOG.md
CHANGED
|
@@ -18,6 +18,7 @@ All notable changes to this project will be documented in this file.
|
|
|
18
18
|
|
|
19
19
|
- **toBeObject:** Reject null ([#191](https://github.com/apify/apify-test-tools/pull/191)) ([6bdae49](https://github.com/apify/apify-test-tools/commit/6bdae4905756e0ae8dd6146942e6fc04dbead48e)) by [@JuanGalilea](https://github.com/JuanGalilea), closes [#88](https://github.com/apify/apify-test-tools/issues/88)
|
|
20
20
|
- Build and test on test-only changes even when .dockerignore lists the tests ([#177](https://github.com/apify/apify-test-tools/pull/177)) ([5cb1b5a](https://github.com/apify/apify-test-tools/commit/5cb1b5ab5f6f43ec279f9624b402e73d55a5974a)) by [@artogahr](https://github.com/artogahr), closes [#145](https://github.com/apify/apify-test-tools/issues/145)
|
|
21
|
+
- **git:** List both paths of moved files when detecting changes ([#215](https://github.com/apify/apify-test-tools/pull/215)) ([44ba565](https://github.com/apify/apify-test-tools/commit/44ba565242c1ac3daea281a648acb28712bb4363)) by [@metalwarrior665](https://github.com/metalwarrior665)
|
|
21
22
|
|
|
22
23
|
### 🚜 Refactor
|
|
23
24
|
|
package/bin/git.ts
CHANGED
|
@@ -5,6 +5,10 @@ import { GitCommandError, runGitCommand } from './utils.js';
|
|
|
5
5
|
export const GIT_FORMAT_SEPARATOR = '»¦«';
|
|
6
6
|
const GIT_LOG_FORMAT = ['%H', '%aN<%aE>', '%aD', '%s'].join(GIT_FORMAT_SEPARATOR);
|
|
7
7
|
|
|
8
|
+
// Lists the changed paths. With rename detection (on by default) a moved file is listed only under its new path,
|
|
9
|
+
// so the Actor whose context it left wouldn't count as changed. --no-renames lists it as deleted and added instead.
|
|
10
|
+
const LIST_CHANGED_PATHS = ['--name-only', '--no-renames'];
|
|
11
|
+
|
|
8
12
|
/**
|
|
9
13
|
* Gets the list of changed files between the given commits (inclusive), so it diffs from the parent of the oldest.
|
|
10
14
|
*/
|
|
@@ -25,7 +29,7 @@ export const getChangedFiles = async (commits: Commit[]) => {
|
|
|
25
29
|
* merged branch can predate fromRef, and its changes are already in fromRef.
|
|
26
30
|
*/
|
|
27
31
|
export const getChangedFilesBetween = async (fromRef: string, toRef: string) => {
|
|
28
|
-
const changedFilesString = await runGitCommand(['diff',
|
|
32
|
+
const changedFilesString = await runGitCommand(['diff', ...LIST_CHANGED_PATHS, `${fromRef}..${toRef}`], {
|
|
29
33
|
operation: 'get the list of changed files between commits',
|
|
30
34
|
});
|
|
31
35
|
|
package/dist/bin/git.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../bin/git.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGjD,eAAO,MAAM,oBAAoB,uBAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../bin/git.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGjD,eAAO,MAAM,oBAAoB,uBAAQ,CAAC;AAO1C;;GAEG;AACH,eAAO,MAAM,eAAe,GAAU,SAAS,MAAM,EAAE,sBAQtD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,GAAU,SAAS,MAAM,EAAE,OAAO,MAAM,sBAQ1E,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAU,MAAM,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,MAAM,CACwB,CAAC;AAEvG,mHAAmH;AACnH,eAAO,MAAM,aAAa,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAOtE,CAAC;AAIP;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAc1E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAU,SAAS,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAQxF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAU,6CAI9B,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,GAAG,YAAY,CAAC,KAAG,OAAO,CAAC,MAAM,EAAE,CAiCjF,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,cAAc,MAAM,KAAG,MAYlD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,MAAM,CAUvD,CAAC;AAEF,yGAAyG;AACzG,eAAO,MAAM,gBAAgB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,MAAM,CACyC,CAAC;AAa7G;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAU,iBAAiB,MAAM,GAAG,SAAS;;;EAGtE,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,MAUlD,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,KAAG,MAE7C,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAU,YAAY,MAAM,EAAE,aAAa,KAAG,OAAO,CAAC,MAAM,CAuChG,CAAC;AAIF,+GAA+G;AAC/G,eAAO,MAAM,qBAAqB,GAC9B,SAAS,MAAM,EACf,OAAO,MAAM,EACb,cAAc,MAAM,EAAE,KACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CA0BvB,CAAC"}
|
package/dist/bin/git.js
CHANGED
|
@@ -2,6 +2,9 @@ import { logger } from './logger.js';
|
|
|
2
2
|
import { GitCommandError, runGitCommand } from './utils.js';
|
|
3
3
|
export const GIT_FORMAT_SEPARATOR = '»¦«';
|
|
4
4
|
const GIT_LOG_FORMAT = ['%H', '%aN<%aE>', '%aD', '%s'].join(GIT_FORMAT_SEPARATOR);
|
|
5
|
+
// Lists the changed paths. With rename detection (on by default) a moved file is listed only under its new path,
|
|
6
|
+
// so the Actor whose context it left wouldn't count as changed. --no-renames lists it as deleted and added instead.
|
|
7
|
+
const LIST_CHANGED_PATHS = ['--name-only', '--no-renames'];
|
|
5
8
|
/**
|
|
6
9
|
* Gets the list of changed files between the given commits (inclusive), so it diffs from the parent of the oldest.
|
|
7
10
|
*/
|
|
@@ -20,7 +23,7 @@ export const getChangedFiles = async (commits) => {
|
|
|
20
23
|
* merged branch can predate fromRef, and its changes are already in fromRef.
|
|
21
24
|
*/
|
|
22
25
|
export const getChangedFilesBetween = async (fromRef, toRef) => {
|
|
23
|
-
const changedFilesString = await runGitCommand(['diff',
|
|
26
|
+
const changedFilesString = await runGitCommand(['diff', ...LIST_CHANGED_PATHS, `${fromRef}..${toRef}`], {
|
|
24
27
|
operation: 'get the list of changed files between commits',
|
|
25
28
|
});
|
|
26
29
|
const changedFiles = changedFilesString.split('\n').filter(Boolean);
|
package/dist/bin/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../bin/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,OAAiB,EAAE,EAAE;IACvD,uGAAuG;IACvG,uFAAuF;IACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IACrG,CAAC;IAED,OAAO,sBAAsB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACzF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,OAAe,EAAE,KAAa,EAAE,EAAE;IAC3E,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../bin/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend-expect.d.ts","sourceRoot":"","sources":["../../lib/extend-expect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extend-expect.d.ts","sourceRoot":"","sources":["../../lib/extend-expect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,QAAQ,CAAC;AAqCtD,eAAO,MAAM,YAAY,GAAI,QAAQ,YAAY,KAAG,YAyDnD,CAAC"}
|
|
@@ -1,101 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { inspect } from 'node:util';
|
|
2
|
+
import { checkRun } from './run-checks.js';
|
|
3
|
+
/** Matchers that only check the type or shape of a value. */
|
|
4
|
+
const SHAPE_MATCHERS = {
|
|
5
|
+
toBeArray: ['an array', (actual) => Array.isArray(actual)],
|
|
6
|
+
toBeBoolean: ['a boolean', (actual) => typeof actual === 'boolean'],
|
|
7
|
+
toBeEmptyArray: ['an empty array', (actual) => Array.isArray(actual) && actual.length === 0],
|
|
8
|
+
toBeNonEmptyArray: ['a non-empty array', (actual) => Array.isArray(actual) && actual.length > 0],
|
|
9
|
+
toBeNonEmptyString: ['a non-empty string', (actual) => typeof actual === 'string' && actual.length > 0],
|
|
10
|
+
toBeNumber: ['a number', (actual) => typeof actual === 'number'],
|
|
11
|
+
toBeFalse: ['false', (actual) => actual === false],
|
|
12
|
+
toBeTrue: ['true', (actual) => actual === true],
|
|
13
|
+
toBeNonEmptyObject: ['a non-empty object', (actual) => isObject(actual) && Object.keys(actual).length > 0],
|
|
14
|
+
toBeObject: ['an object', isObject],
|
|
15
|
+
toBeString: ['a string', (actual) => typeof actual === 'string'],
|
|
16
|
+
toBeWholeNumber: ['a whole number', (actual) => Number.isInteger(actual)],
|
|
17
|
+
};
|
|
18
|
+
function isObject(actual) {
|
|
19
|
+
return typeof actual === 'object' && !Array.isArray(actual) && actual !== null;
|
|
20
|
+
}
|
|
21
|
+
const shapeMatchers = Object.fromEntries(Object.entries(SHAPE_MATCHERS).map(([name, [description, predicate]]) => [
|
|
22
|
+
name,
|
|
23
|
+
(actual) => ({
|
|
24
|
+
pass: predicate(actual),
|
|
25
|
+
message: () => `Expected ${inspect(actual)} to be ${description}`,
|
|
26
|
+
actual,
|
|
27
|
+
}),
|
|
28
|
+
]));
|
|
2
29
|
export const extendExpect = (expect) => {
|
|
3
30
|
expect.extend({
|
|
4
|
-
|
|
5
|
-
const pass = Array.isArray(actual);
|
|
6
|
-
return {
|
|
7
|
-
pass,
|
|
8
|
-
message: () => `Expected "${actual}" to be a array`,
|
|
9
|
-
};
|
|
10
|
-
},
|
|
11
|
-
toBeBoolean: (received) => {
|
|
12
|
-
const actual = typeof received;
|
|
13
|
-
const expected = 'boolean';
|
|
14
|
-
return {
|
|
15
|
-
pass: actual === expected,
|
|
16
|
-
message: () => `Expected "${actual}" to be a boolean`,
|
|
17
|
-
expected: 'boolean',
|
|
18
|
-
};
|
|
19
|
-
},
|
|
20
|
-
toBeEmptyArray: (actual) => {
|
|
21
|
-
const pass = Array.isArray(actual) && actual.length === 0;
|
|
22
|
-
return {
|
|
23
|
-
pass,
|
|
24
|
-
message: () => `Expected ${actual} to be an empty array`,
|
|
25
|
-
actual,
|
|
26
|
-
expected: [],
|
|
27
|
-
};
|
|
28
|
-
},
|
|
29
|
-
toBeNonEmptyArray: (actual) => {
|
|
30
|
-
const pass = Array.isArray(actual) && actual.length > 0;
|
|
31
|
-
return {
|
|
32
|
-
pass,
|
|
33
|
-
message: () => `Expected ${actual} to be a non-empty array`,
|
|
34
|
-
};
|
|
35
|
-
},
|
|
36
|
-
toBeNonEmptyString: (actual) => {
|
|
37
|
-
const pass = typeof actual === 'string' && actual.length > 0;
|
|
38
|
-
return {
|
|
39
|
-
pass,
|
|
40
|
-
message: () => `Expected "${actual}" to be a non-empty string`,
|
|
41
|
-
};
|
|
42
|
-
},
|
|
43
|
-
toBeNumber: (actual) => {
|
|
44
|
-
const pass = typeof actual === 'number';
|
|
45
|
-
return {
|
|
46
|
-
pass,
|
|
47
|
-
message: () => `Expected "${actual}" to be a number`,
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
toBeNonEmptyObject: (actual) => {
|
|
51
|
-
const isObject = typeof actual === 'object' && !Array.isArray(actual) && actual !== null;
|
|
52
|
-
const isNonEmpty = Object.entries(actual).length > 0;
|
|
53
|
-
const pass = isObject && isNonEmpty;
|
|
54
|
-
return {
|
|
55
|
-
pass,
|
|
56
|
-
message: () => `Expected "${actual}" to be a non-emtpy object`,
|
|
57
|
-
};
|
|
58
|
-
},
|
|
59
|
-
toBeObject: (actual) => {
|
|
60
|
-
const pass = typeof actual === 'object' && !Array.isArray(actual) && actual !== null;
|
|
61
|
-
return {
|
|
62
|
-
pass,
|
|
63
|
-
message: () => `Expected "${actual}" to be an object`,
|
|
64
|
-
};
|
|
65
|
-
},
|
|
66
|
-
toBeString: (received) => {
|
|
67
|
-
const actual = typeof received;
|
|
68
|
-
const expected = 'string';
|
|
69
|
-
return {
|
|
70
|
-
pass: actual === expected,
|
|
71
|
-
message: () => `Expected "${actual}" to be a string`,
|
|
72
|
-
actual,
|
|
73
|
-
expected,
|
|
74
|
-
};
|
|
75
|
-
},
|
|
76
|
-
toBeTrue: (actual) => {
|
|
77
|
-
const pass = actual === true;
|
|
78
|
-
return {
|
|
79
|
-
pass,
|
|
80
|
-
message: () => `Expected "${actual}" to be true`,
|
|
81
|
-
expected: true,
|
|
82
|
-
actual,
|
|
83
|
-
};
|
|
84
|
-
},
|
|
85
|
-
toBeFalse: (actual) => {
|
|
86
|
-
const pass = actual === false;
|
|
87
|
-
return {
|
|
88
|
-
pass,
|
|
89
|
-
message: () => `Expected "${actual}" to be false`,
|
|
90
|
-
};
|
|
91
|
-
},
|
|
92
|
-
toBeWholeNumber: (received) => {
|
|
93
|
-
const pass = Number.isInteger(received);
|
|
94
|
-
return {
|
|
95
|
-
pass,
|
|
96
|
-
message: () => `Expected "${received}" to be a whole number`,
|
|
97
|
-
};
|
|
98
|
-
},
|
|
31
|
+
...shapeMatchers,
|
|
99
32
|
toBeWithinRange: (received, lower, upper) => {
|
|
100
33
|
const pass = received >= lower && received <= upper;
|
|
101
34
|
return {
|
|
@@ -104,102 +37,15 @@ export const extendExpect = (expect) => {
|
|
|
104
37
|
};
|
|
105
38
|
},
|
|
106
39
|
toFinishWith: async (received, userOptions) => {
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
...userOptions,
|
|
110
|
-
};
|
|
111
|
-
const failedAssertions = [];
|
|
112
|
-
const diffs = {
|
|
113
|
-
pass: true,
|
|
114
|
-
actual: ['Run:'],
|
|
115
|
-
expected: ['Run:'],
|
|
116
|
-
};
|
|
117
|
-
{
|
|
118
|
-
const expected = options?.status;
|
|
119
|
-
const actual = received.status;
|
|
120
|
-
const statusTest = expected === actual;
|
|
121
|
-
if (statusTest === false) {
|
|
122
|
-
diffs.pass = false;
|
|
123
|
-
diffs.actual.push(`status=${actual}`);
|
|
124
|
-
diffs.expected.push(`status=${expected}`);
|
|
125
|
-
failedAssertions.push(`Failed status check, expected "${expected}", got "${actual}".`);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
const { chargedEventCounts, stats: { durationMillis }, } = await received.getRunInfo();
|
|
129
|
-
const datasetItemCount = (await received.getDataset()).items.length;
|
|
130
|
-
const stats = await received.getStatistics();
|
|
131
|
-
const checkInterval = (value, key, label) => {
|
|
132
|
-
const result = isWithinInterval(diffs, value, options, key);
|
|
133
|
-
if (result === false) {
|
|
134
|
-
failedAssertions.push(`Failed ${label} check, expected ${JSON.stringify(options[key])}, got ${value}.`);
|
|
135
|
-
}
|
|
136
|
-
};
|
|
137
|
-
checkInterval(datasetItemCount, 'datasetItemCount', 'dataset item count');
|
|
138
|
-
checkInterval(durationMillis, 'duration', 'duration');
|
|
139
|
-
checkInterval(stats?.requestsFailed, 'failedRequests', 'failed requests');
|
|
140
|
-
checkInterval(stats?.requestsRetries, 'requestsRetries', 'requests retries');
|
|
141
|
-
if (options.maxRetriesPerRequest !== null) {
|
|
142
|
-
const maxRetriesPerRequestObserved = (stats?.requestRetryHistogram ?? [0]).length - 1;
|
|
143
|
-
if (maxRetriesPerRequestObserved > options.maxRetriesPerRequest) {
|
|
144
|
-
diffs.pass = false;
|
|
145
|
-
diffs.actual.push(`maxRetriesPerRequest=${maxRetriesPerRequestObserved}`);
|
|
146
|
-
diffs.expected.push(`maxRetriesPerRequest<=${options.maxRetriesPerRequest}`);
|
|
147
|
-
failedAssertions.push(`Failed max retries observed check, expected <=${options.maxRetriesPerRequest}, got ${maxRetriesPerRequestObserved}.`);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
const ppeDiffs = {
|
|
151
|
-
pass: true,
|
|
152
|
-
actual: ['PPE Events:'],
|
|
153
|
-
expected: ['PPE Events:'],
|
|
154
|
-
};
|
|
155
|
-
if (options.chargedEventCounts) {
|
|
156
|
-
const expected = options.chargedEventCounts;
|
|
157
|
-
const actual = chargedEventCounts ?? {};
|
|
158
|
-
const uniquePpeEvents = new Set([
|
|
159
|
-
...Array.from(Object.keys(expected)),
|
|
160
|
-
...Array.from(Object.keys(actual)),
|
|
161
|
-
]);
|
|
162
|
-
for (const ppeEvent of uniquePpeEvents) {
|
|
163
|
-
if (!(ppeEvent in expected)) {
|
|
164
|
-
isWithinInterval(ppeDiffs, actual[ppeEvent], { [ppeEvent]: 0 }, ppeEvent);
|
|
165
|
-
continue;
|
|
166
|
-
}
|
|
167
|
-
if (!(ppeEvent in actual)) {
|
|
168
|
-
ppeDiffs.pass = false;
|
|
169
|
-
ppeDiffs.actual.push(`${ppeEvent}=X`);
|
|
170
|
-
ppeDiffs.expected.push(`${ppeEvent}=${expected[ppeEvent]}`);
|
|
171
|
-
continue;
|
|
172
|
-
}
|
|
173
|
-
isWithinInterval(ppeDiffs, actual[ppeEvent], expected, ppeEvent);
|
|
174
|
-
}
|
|
175
|
-
if (ppeDiffs.pass === false) {
|
|
176
|
-
diffs.pass = ppeDiffs.pass;
|
|
177
|
-
diffs.actual.push(ppeDiffs.actual.join('\n '));
|
|
178
|
-
diffs.expected.push(ppeDiffs.expected.join('\n '));
|
|
179
|
-
failedAssertions.push(`Failed PPE event counts check, expected ${JSON.stringify(options.chargedEventCounts)}, got ${JSON.stringify(chargedEventCounts)}.`);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
{
|
|
183
|
-
const { forbiddenLogs } = options;
|
|
184
|
-
const log = await received.getLog();
|
|
185
|
-
const occuredLogs = [];
|
|
186
|
-
for (const forbiddenLog of forbiddenLogs) {
|
|
187
|
-
if (log.includes(forbiddenLog)) {
|
|
188
|
-
occuredLogs.push(forbiddenLog);
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
if (occuredLogs.length > 0) {
|
|
192
|
-
diffs.pass = false;
|
|
193
|
-
diffs.actual.push(` logs=[${occuredLogs.join(', ')}]`);
|
|
194
|
-
diffs.expected.push(` logs=[]`);
|
|
195
|
-
failedAssertions.push(`Failed forbidden logs check, expected [] but got [${occuredLogs.join(', ')}].`);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
40
|
+
const checks = await checkRun(received, userOptions);
|
|
41
|
+
const failed = checks.filter(({ pass }) => !pass);
|
|
198
42
|
return {
|
|
199
|
-
pass:
|
|
200
|
-
message: () => `Run did not finish as expected. Failed assertions: ${
|
|
201
|
-
|
|
202
|
-
|
|
43
|
+
pass: failed.length === 0,
|
|
44
|
+
message: () => `Run did not finish as expected. Failed assertions: ${failed
|
|
45
|
+
.map(({ name, expected, actual }) => `Failed ${name} check, expected ${expected}, got ${actual}.`)
|
|
46
|
+
.join(' ')}`,
|
|
47
|
+
actual: ['Run:', ...failed.map(({ name, actual }) => `${name}=${actual}`)].join('\n '),
|
|
48
|
+
expected: ['Run:', ...failed.map(({ name, expected }) => `${name}=${expected}`)].join('\n '),
|
|
203
49
|
};
|
|
204
50
|
},
|
|
205
51
|
toStartWith: (received, prefix) => {
|
|
@@ -227,31 +73,4 @@ export const extendExpect = (expect) => {
|
|
|
227
73
|
};
|
|
228
74
|
return softExpect;
|
|
229
75
|
};
|
|
230
|
-
const isWithinInterval = (diffs, actual, options, intervalOption) => {
|
|
231
|
-
const expected = options[intervalOption];
|
|
232
|
-
if (expected === null) {
|
|
233
|
-
// check is disabled if expected value is null
|
|
234
|
-
return undefined;
|
|
235
|
-
}
|
|
236
|
-
if (typeof expected === 'number') {
|
|
237
|
-
if (actual !== expected) {
|
|
238
|
-
// eslint-disable-next-line no-param-reassign --- Don't want to touch this code :)
|
|
239
|
-
diffs.pass = false;
|
|
240
|
-
diffs.actual.push(`${intervalOption}=${actual}`);
|
|
241
|
-
diffs.expected.push(`${intervalOption}=${expected}`);
|
|
242
|
-
return false;
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
else if (typeof expected === 'object') {
|
|
246
|
-
const { min, max } = expected;
|
|
247
|
-
if (actual === undefined || (min !== undefined && actual < min) || (max !== undefined && actual > max)) {
|
|
248
|
-
// eslint-disable-next-line no-param-reassign
|
|
249
|
-
diffs.pass = false;
|
|
250
|
-
diffs.actual.push(`${intervalOption}=${actual}`);
|
|
251
|
-
diffs.expected.push(`${intervalOption}=<${min ?? ''},${max ?? ''}>`);
|
|
252
|
-
return false;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
return undefined;
|
|
256
|
-
};
|
|
257
76
|
//# sourceMappingURL=extend-expect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend-expect.js","sourceRoot":"","sources":["../../lib/extend-expect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extend-expect.js","sourceRoot":"","sources":["../../lib/extend-expect.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/lib.d.ts
CHANGED
|
@@ -21,8 +21,7 @@ export declare const testActor: <T>(actorId: string, testName: string, fn: TestF
|
|
|
21
21
|
* `callStandby` function, which calls the task's `standbyUrl`.
|
|
22
22
|
*
|
|
23
23
|
* Using task is just current shortcoming of standby feature but ideally we would use Actor directly
|
|
24
|
-
|
|
25
|
-
/**
|
|
24
|
+
*
|
|
26
25
|
* @param actorId - The actor's raw platform ID or its full name (`owner/name`, e.g. `"apify/web-scraper"`).
|
|
27
26
|
*/
|
|
28
27
|
export declare const testStandbyActor: <I = any, O = any>(actorId: string, testName: string, fn: TestFunction<{
|
package/dist/lib/lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtE,OAAO,EAA8B,YAAY,EAAsB,MAAM,QAAQ,CAAC;AAItF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAc,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuB3E,OAAO,EAAE,YAAY,EAAE,CAAC;AAaxB;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,KAAK,YAAY,CAAC,MAAM,CAAC,EAAE,UAAS,gBAAuC,SAEjH,CAAC;
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtE,OAAO,EAA8B,YAAY,EAAsB,MAAM,QAAQ,CAAC;AAItF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAc,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAuB3E,OAAO,EAAE,YAAY,EAAE,CAAC;AAaxB;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,EAAE,KAAK,YAAY,CAAC,MAAM,CAAC,EAAE,UAAS,gBAAuC,SAEjH,CAAC;AAsBF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EACvB,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,IAAI,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,EACjE,cAAc,gBAAgB,SAKjC,CAAC;AAEF;;;;;;;GAOG;AAEH,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAC7C,SAAS,MAAM,EACf,UAAU,MAAM,EAChB,IAAI,YAAY,CAAC;IAAE,WAAW,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,EAChF,cAAc,gBAAgB,SAmBjC,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,EAC3B,UAAU,MAAM,EAChB,IAAI,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,SAYpE,CAAC;AAEF,eAAO,MAAM,EAAE,GA7DW,CAAC,WACd,MAAM,YACL,MAAM,MACZ,YAAY,CAAC;IAAE,GAAG,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC,gBACnD,gBAAgB,SAyDP,CAAC;AAE5B;;;GAGG;AACH,QAAA,MAAM,oBAAoB,GAAI,CAAC,EAAE,CAAC,EAAE,aAAa,WAAW,EAAE,cAAc,WAAW,EAAE,UAAU,MAAM,MAmBvF,2BAIX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE;;;;EAmBxF,CAAC;AAEF,UAAU,WAAW;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AA6DD,QAAA,MAAM,gBAAgB,GAAI,CAAC,EAAE,SAAS,MAAM,EAAE,aAAa,WAAW,MAKpD,YAAY,UAAU,CAAC,CAAC,CAAC,2BAwC1C,CAAC;AAMF,4BAA4B;AAE5B,eAAO,MAAM,QAAQ;gCArDK,CAAC,WAAW,MAAM,eAAe,WAAW,MAKpD,YAAY,UAAU,CAAC,CAAC,CAAC;CAgDU,CAAC"}
|
package/dist/lib/lib.js
CHANGED
|
@@ -42,21 +42,25 @@ export const describe = (name, fn, options = DEFAULT_TEST_OPTIONS) => {
|
|
|
42
42
|
vitestDescribe.runIf(!!TESTER_APIFY_TOKEN || !!RUN_ALL_PLATFORM_TESTS)(name, options, fn);
|
|
43
43
|
};
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* Registers a vitest test for an Actor, which only runs when that Actor was built (or for the scheduled runs).
|
|
46
|
+
* `body` gets the test context with the soft `expect` and the full test name.
|
|
46
47
|
*/
|
|
47
|
-
|
|
48
|
+
const defineActorTest = (actorId, testName, testOptions, body) => {
|
|
48
49
|
const options = { ...DEFAULT_TEST_OPTIONS, ...testOptions };
|
|
49
50
|
const name = `${actorId}: ${testName}`;
|
|
50
51
|
// `RUN_ALL_PLATFORM_TESTS` is needed for the scheduled tests, which have no `ACTOR_BUILDS` to match the
|
|
51
52
|
// tests against - without it, every test would be filtered out as an actor we didn't build.
|
|
52
53
|
const shouldRun = !!RUN_ALL_PLATFORM_TESTS || config.has(actorId);
|
|
53
54
|
vitestTest.runIf(shouldRun)(name, options, async (context) => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
await body({ ...context, expect: extendExpect(context.expect) }, name);
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* @param actorId - The actor's raw platform ID or its full name (`owner/name`, e.g. `"apify/web-scraper"`).
|
|
60
|
+
*/
|
|
61
|
+
export const testActor = (actorId, testName, fn, testOptions) => {
|
|
62
|
+
defineActorTest(actorId, testName, testOptions, async (context) => {
|
|
63
|
+
await fn({ ...context, run: createStartRunFn(actorId, context) });
|
|
60
64
|
});
|
|
61
65
|
};
|
|
62
66
|
/**
|
|
@@ -64,27 +68,16 @@ export const testActor = (actorId, testName, fn, testOptions) => {
|
|
|
64
68
|
* `callStandby` function, which calls the task's `standbyUrl`.
|
|
65
69
|
*
|
|
66
70
|
* Using task is just current shortcoming of standby feature but ideally we would use Actor directly
|
|
67
|
-
|
|
68
|
-
/**
|
|
71
|
+
*
|
|
69
72
|
* @param actorId - The actor's raw platform ID or its full name (`owner/name`, e.g. `"apify/web-scraper"`).
|
|
70
73
|
*/
|
|
71
74
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
72
75
|
export const testStandbyActor = (actorId, testName, fn, testOptions) => {
|
|
73
|
-
|
|
74
|
-
const name = `${actorId}: ${testName}`;
|
|
75
|
-
// `RUN_ALL_PLATFORM_TESTS` is needed for the scheduled tests, which have no `ACTOR_BUILDS` to match the
|
|
76
|
-
// tests against - without it, every test would be filtered out as an actor we didn't build.
|
|
77
|
-
const shouldRun = !!RUN_ALL_PLATFORM_TESTS || config.has(actorId);
|
|
78
|
-
vitestTest.runIf(shouldRun)(name, options, async (context) => {
|
|
76
|
+
defineActorTest(actorId, testName, testOptions, async (context, name) => {
|
|
79
77
|
const standbyTask = await createStandbyTask(actorId, config.get(actorId)?.buildNumber);
|
|
80
|
-
const { expect, ...rest } = context;
|
|
81
78
|
// NOTE: we wrap `fn` in try/finally so cleanup (deleting the task) always runs afterwards
|
|
82
79
|
try {
|
|
83
|
-
await fn({
|
|
84
|
-
expect: extendExpect(expect),
|
|
85
|
-
callStandby: createStartStandbyFn(standbyTask, context, name),
|
|
86
|
-
...rest,
|
|
87
|
-
});
|
|
80
|
+
await fn({ ...context, callStandby: createStartStandbyFn(standbyTask, context, name) });
|
|
88
81
|
}
|
|
89
82
|
finally {
|
|
90
83
|
const { taskId } = standbyTask;
|
package/dist/lib/lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAgB,IAAI,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEtF,OAAO,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AACnH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE3D,MAAM,YAAY,GAAG,cAAc,CAAC;AACpC,IAAI,WAAW,GAAiB,EAAE,CAAC;AACnC,IAAI,CAAC;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,cAAc,EAAE,CAAC;QACjB,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,kDAAkD,OAAO,WAAW,EAAE,CAAC,CAAC;QAC3G,CAAC;IACL,CAAC;AACL,CAAC;AAAC,OAAO,GAAG,EAAE,CAAC;IACX,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAA0B,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACpE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAChC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7B,OAAO,GAAG,CAAC;AACf,CAAC,EAAE,IAAI,GAAG,EAAsB,CAAC,CAAC;AAIlC,MAAM,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AACnE,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAEnE,MAAM,oBAAoB,GAAqB;IAC3C,oCAAoC;IACpC,UAAU,EAAE,IAAI;IAChB,mCAAmC;IACnC,OAAO,EAAE,4BAA4B;IACrC,KAAK,EAAE,CAAC;CACX,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAyB,EAAE,UAA4B,oBAAoB,EAAE,EAAE;IAClH,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AAC9F,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../lib/lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RunTestResult } from './run-test-result.js';
|
|
2
|
+
import type { ToFinishWithOptions } from './types.js';
|
|
3
|
+
type Check = {
|
|
4
|
+
name: string;
|
|
5
|
+
pass: boolean;
|
|
6
|
+
actual: string;
|
|
7
|
+
expected: string;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Evaluates every `toFinishWith` expectation against the run, so a failing assertion reports all of them at once.
|
|
11
|
+
*/
|
|
12
|
+
export declare const checkRun: <PpeEvent extends string>(run: RunTestResult, userOptions: ToFinishWithOptions<PpeEvent>) => Promise<Check[]>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=run-checks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-checks.d.ts","sourceRoot":"","sources":["../../lib/run-checks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAY,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,KAAK,KAAK,GAAG;IACT,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AA6CF;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAU,QAAQ,SAAS,MAAM,EAClD,KAAK,aAAa,EAClB,aAAa,mBAAmB,CAAC,QAAQ,CAAC,KAC3C,OAAO,CAAC,KAAK,EAAE,CAwCjB,CAAC"}
|