apify-test-tools 0.10.2-beta.16 → 0.10.2-beta.18

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.
@@ -1,129 +1,3 @@
1
1
  #!/usr/bin/env node
2
- // Runs apify-test-tools and passes it only secrets needed for the Actors, no other secrets are leaked.
3
- //
4
- // jq ... | node .github/scripts/run-with-apify-tokens.mjs apify-test-tools build --version-number 0.99
5
- //
6
- // The step passes the reusable workflow's whole secrets map as WORKFLOW_SECRETS. The token names
7
- // come from `tokenEnvVar` in the repo's apify-test-tools.config.json, which is the same file
8
- // apify-test-tools itself reads, so the two can't drift. Everything else in the secrets map (npm,
9
- // Slack, GitHub, anything else the repo holds) is left out, and WORKFLOW_SECRETS itself is dropped,
10
- // so the blob never reaches the CLI or anything under node_modules.
11
- //
12
- // Each token is looked up in the CONFIG_SECRETS secret first, a JSON object of secret name -> value,
13
- // and then among the top-level secrets, which is where `secrets: inherit` puts them. The secrets the
14
- // workflows read by name (NPM_TOKEN, TESTER_APIFY_TOKEN, ...) never come from CONFIG_SECRETS.
15
- //
16
- // The command runs without a shell, so branch names and other interpolated arguments are passed
17
- // through as literal argv entries.
18
-
19
- import { spawnSync } from 'node:child_process';
20
- import fs from 'node:fs';
21
- import path from 'node:path';
22
-
23
- // Resolved against the working directory, matching how apify-test-tools' own readConfigFile
24
- // locates it.
25
- const CONFIG_FILE_NAME = 'apify-test-tools.config.json';
26
-
27
- const fail = (message) => {
28
- console.error(message);
29
- process.exit(1);
30
- };
31
-
32
- const [command, ...args] = process.argv.slice(2);
33
- if (!command) fail('Usage: run-with-apify-tokens.mjs <command> [args...]');
34
-
35
- const { WORKFLOW_SECRETS, ...baseEnv } = process.env;
36
- if (!WORKFLOW_SECRETS) {
37
- fail('WORKFLOW_SECRETS is not set. Add `WORKFLOW_SECRETS: ${{ toJSON(secrets) }}` to the step env.');
38
- }
39
-
40
- let workflowSecrets;
41
- try {
42
- workflowSecrets = JSON.parse(WORKFLOW_SECRETS);
43
- } catch (error) {
44
- fail(`WORKFLOW_SECRETS is not valid JSON: ${error.message}`);
45
- }
46
-
47
- // Never includes the parse error: Node quotes the input in it, and the input is a secret.
48
- const unpackConfigSecrets = () => {
49
- const packed = workflowSecrets.CONFIG_SECRETS;
50
- if (!packed) return {};
51
- let value;
52
- try {
53
- value = JSON.parse(packed);
54
- } catch {
55
- fail('The CONFIG_SECRETS secret is not valid JSON.');
56
- }
57
- if (typeof value !== 'object' || value === null || Array.isArray(value)) {
58
- fail('The CONFIG_SECRETS secret must be a JSON object.');
59
- }
60
- return value;
61
- };
62
-
63
- const secrets = { ...workflowSecrets, ...unpackConfigSecrets() };
64
-
65
- const configPath = path.resolve(process.cwd(), CONFIG_FILE_NAME);
66
- let config;
67
- try {
68
- config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
69
- } catch (error) {
70
- fail(`Cannot read "${configPath}": ${error.message}`);
71
- }
72
-
73
- if (!Array.isArray(config.actors)) {
74
- fail(`"${configPath}" must have an "actors" array at the top level.`);
75
- }
76
-
77
- const tokenNames = [];
78
- const entriesWithoutToken = [];
79
-
80
- for (const [index, actor] of config.actors.entries()) {
81
- const tokenEnvVar = actor?.tokenEnvVar;
82
- if (typeof tokenEnvVar !== 'string' || tokenEnvVar === '') {
83
- entriesWithoutToken.push(actor?.actorFullName ?? `entry at index ${index}`);
84
- continue;
85
- }
86
- if (!tokenNames.includes(tokenEnvVar)) tokenNames.push(tokenEnvVar);
87
- }
88
-
89
- tokenNames.sort();
90
-
91
- if (entriesWithoutToken.length > 0) {
92
- console.error(
93
- `Warning: no "tokenEnvVar" in ${CONFIG_FILE_NAME} for: ${entriesWithoutToken.join(', ')}. ` +
94
- `Building those Actors will fail.`,
95
- );
96
- }
97
-
98
- // Declared but absent is a warning, not an error. A repo can carry an Actor whose token isn't
99
- // configured and still build fine as long as that Actor never changes, and apify-test-tools raises
100
- // a precise error naming the Actor at the point it actually needs the token.
101
- const missing = tokenNames.filter((name) => !(name in secrets));
102
- if (missing.length > 0) {
103
- console.error(
104
- `Warning: ${CONFIG_FILE_NAME} declares ${missing.join(', ')}, but no such secret was passed ` +
105
- `to this workflow, neither inside CONFIG_SECRETS nor inherited. Check the repository secrets ` +
106
- `and the workflow's \`secrets:\` if a build fails on a missing token.`,
107
- );
108
- }
109
-
110
- const present = tokenNames.filter((name) => name in secrets);
111
-
112
- // Names only. The values are secrets and must never be printed, even though the runner masks
113
- // registered secrets in logs.
114
- console.error(`Passing ${present.length} Actor token(s) to \`${command}\`: ${present.join(', ') || '(none)'}`);
115
-
116
- const env = { ...baseEnv };
117
- for (const name of present) {
118
- env[name] = secrets[name];
119
- }
120
-
121
- const result = spawnSync(command, args, { stdio: 'inherit', env });
122
-
123
- if (result.error) {
124
- fail(`Failed to run \`${command}\`: ${result.error.message}`);
125
- }
126
-
127
- // Preserve the child's exit code so the step fails exactly when the command does. A child killed
128
- // by a signal reports a null status, which would otherwise be read as success.
129
- process.exit(result.status ?? 1);
2
+ import{createRequire as __createRequire}from'node:module';const require=__createRequire(import.meta.url);
3
+ import{spawnSync as m}from"node:child_process";import k from"node:fs";import w from"node:path";var S="apify-test-tools.config.json";function t(e){console.error(e),process.exit(1)}function o(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var[c,...C]=process.argv.slice(2);c||t("Usage: run-with-apify-tokens.mjs <command> [args...]");var{WORKFLOW_SECRETS:E,...v}=process.env;E||t("WORKFLOW_SECRETS is not set. Add `WORKFLOW_SECRETS: ${{ toJSON(secrets) }}` to the step env.");var h;try{h=JSON.parse(E)}catch(e){t(`WORKFLOW_SECRETS is not valid JSON: ${e instanceof Error?e.message:String(e)}`)}var d=h;o(d)||t("WORKFLOW_SECRETS must be a JSON object of secret names and values.");var y=()=>{let e=d.CONFIG_SECRETS;if(!e)return{};typeof e!="string"&&t("The CONFIG_SECRETS secret is not valid JSON.");let n;try{n=JSON.parse(e)}catch{t("The CONFIG_SECRETS secret is not valid JSON.")}return o(n)||t("The CONFIG_SECRETS secret must be a JSON object."),n},g={...d,...y()},a=w.resolve(process.cwd(),S),i;try{i=JSON.parse(k.readFileSync(a,"utf8"))}catch(e){t(`Cannot read "${a}": ${e instanceof Error?e.message:String(e)}`)}(!o(i)||!Array.isArray(i.actors))&&t(`"${a}" must have an "actors" array at the top level.`);var r=[],f=[],N=i.actors;for(let[e,n]of N.entries()){let s=o(n)?n.tokenEnvVar:void 0;if(typeof s!="string"||s===""){f.push((o(n)?n.actorFullName:void 0)??`entry at index ${e}`);continue}r.includes(s)||r.push(s)}r.sort();f.length>0&&console.error(`Warning: no "tokenEnvVar" in ${S} for: ${f.join(", ")}. Building those Actors will fail.`);var p=r.filter(e=>!(e in g));p.length>0&&console.error(`Warning: ${S} declares ${p.join(", ")}, but no such secret was passed to this workflow, neither inside CONFIG_SECRETS nor inherited. Check the repository secrets and the workflow's \`secrets:\` if a build fails on a missing token.`);var l=r.filter(e=>e in g);console.error(`Passing ${l.length} Actor token(s) to \`${c}\`: ${l.join(", ")||"(none)"}`);var O={...v};for(let e of l){let n=g[e];typeof n!="string"&&t(`Secret "${e}" must be a string.`),O[e]=n}var u=m(c,C,{stdio:"inherit",env:O});u.error&&t(`Failed to run \`${c}\`: ${u.error.message}`);process.exit(u.status??1);
@@ -77,10 +77,10 @@ jobs:
77
77
  - name: Build
78
78
  run: npm run build
79
79
 
80
- # The composite action runs the CLI from .github/cli/apify-test-tools.mjs, which the pre-commit
81
- # hook rebuilds. This catches commits that skipped the hook, so a stale bundle never ships.
80
+ # The composite action runs the CLI and workflow helper bundles, which the pre-commit hook rebuilds.
81
+ # This catches commits that skipped the hook, so stale bundles never ship.
82
82
  cli_bundle:
83
- name: CLI bundle
83
+ name: CLI and workflow bundles
84
84
  runs-on: ubuntu-latest
85
85
  steps:
86
86
  - name: Checkout repository
@@ -96,8 +96,8 @@ jobs:
96
96
  - name: Check the bundle is up to date
97
97
  run: |
98
98
  npm run bundle
99
- if ! git diff --quiet -- .github/cli/; then
100
- echo "::error::.github/cli/apify-test-tools.mjs is out of date. Run \`npm run bundle\` and commit the result."
99
+ if ! git diff --quiet -- .github/cli/ .github/scripts/run-with-apify-tokens.mjs; then
100
+ echo "::error::A CLI or workflow script bundle is out of date. Run \`npm run bundle\` and commit the result."
101
101
  exit 1
102
102
  fi
103
103
  node .github/cli/apify-test-tools.mjs --help > /dev/null
package/.husky/pre-commit CHANGED
@@ -1,10 +1,10 @@
1
1
  echo "pre-commit: typechecking, linting, testing, checking code formatting, checking for unused exports & validating schemas"
2
2
 
3
3
 
4
- # The workflows run the CLI from this bundle, so it ships with every commit that changes bin/ or its
5
- # dependencies. Rebuilding takes well under a second.
4
+ # The workflows run the CLI and token wrapper from these bundles, so they ship with every commit
5
+ # that changes their sources or dependencies.
6
6
  npm run -s bundle
7
- git add .github/cli/apify-test-tools.mjs
7
+ git add .github/cli/apify-test-tools.mjs .github/scripts/run-with-apify-tokens.mjs
8
8
 
9
9
  npm test
10
10
  npm run format:check
@@ -15,4 +15,4 @@ npx lint-staged
15
15
  # Activate once we resolv unused delete old builds
16
16
  # npm run check-unused
17
17
 
18
- echo "pre-commit: passed"
18
+ echo "pre-commit: passed"
package/.prettierignore CHANGED
@@ -11,3 +11,4 @@ test/fixtures
11
11
 
12
12
  # Generated by `npm run bundle`
13
13
  .github/cli/
14
+ .github/scripts/run-with-apify-tokens.mjs
package/CHANGELOG.md CHANGED
@@ -27,6 +27,7 @@ All notable changes to this project will be documented in this file.
27
27
  - **workflows:** Load setup action and review prompt from the called commit ([#226](https://github.com/apify/apify-test-tools/pull/226)) ([7524711](https://github.com/apify/apify-test-tools/commit/752471135d4d147f6f6492a26c08af388d7ccf72)) by [@metalwarrior665](https://github.com/metalwarrior665)
28
28
  - **test:** Clean up compiled CLI dir when build fails ([#224](https://github.com/apify/apify-test-tools/pull/224)) ([f9f2f5c](https://github.com/apify/apify-test-tools/commit/f9f2f5c64cfe936ee0b72a0fbe7408282c68fbac)) by [@JuanGalilea](https://github.com/JuanGalilea)
29
29
  - **cli-test:** Look up actor raw IDs for tests that reference them ([#234](https://github.com/apify/apify-test-tools/pull/234)) ([315baf4](https://github.com/apify/apify-test-tools/commit/315baf495dae984cbcd7056a101935536d7b0011)) by [@metalwarrior665](https://github.com/metalwarrior665)
30
+ - **cli-test:** Warn instead of failing on Actors the tester token can&#x27;t see ([#237](https://github.com/apify/apify-test-tools/pull/237)) ([1d339ab](https://github.com/apify/apify-test-tools/commit/1d339ab04d3190191cffa3766e86a7c74c309985)) by [@metalwarrior665](https://github.com/metalwarrior665)
30
31
 
31
32
  ### 🚜 Refactor
32
33
 
package/bin/actor-ids.ts CHANGED
@@ -1,33 +1,36 @@
1
1
  import { ApifyClient } from 'apify-client';
2
2
 
3
+ import { logger } from './logger.js';
3
4
  import type { TestTarget } from './stdin-input.js';
4
5
 
5
6
  type ActorGetter = Pick<ApifyClient, 'actor'>;
6
7
 
7
- /** A test target with both IDs of its Actor */
8
- export type ResolvedTestTarget = TestTarget & { actorFullName: string; actorRawId: string };
9
-
10
8
  /**
11
9
  * Adds the ID each target is missing: the raw ID to those listed by full name, e.g. by `get-actor-configs`, and the
12
10
  * full name to those listed by raw ID. The lib matches a test to its Actor by the ID the test names, so a target
13
11
  * without either ID would skip the tests that name its Actor by the other one.
12
+ *
13
+ * An Actor the token can't see keeps only the ID it was listed with, with a warning, rather than failing the run:
14
+ * `get-actor-configs` lists every Actor in the repository, also ones no platform test uses, such as Actors the tester
15
+ * account was never given access to. A test that names it by the listed ID still runs and fails on its own.
14
16
  */
15
17
  export const withActorIds = async (
16
18
  targets: TestTarget[],
17
19
  client: ActorGetter = new ApifyClient({ token: process.env.TESTER_APIFY_TOKEN }),
18
- ): Promise<ResolvedTestTarget[]> =>
20
+ ): Promise<TestTarget[]> =>
19
21
  Promise.all(
20
22
  targets.map(async (target) => {
21
23
  const { actorFullName, actorRawId } = target;
22
- if (actorFullName && actorRawId) return { ...target, actorFullName, actorRawId };
24
+ if (actorFullName && actorRawId) return target;
23
25
  // The parser lets no target through without either ID
24
26
  const actorId = (actorFullName ?? actorRawId)!;
25
27
  const actor = await client.actor(actorId).get();
26
28
  if (!actor) {
27
- throw new Error(
28
- `Actor ${actorId} not found, or TESTER_APIFY_TOKEN can't access it. ` +
29
- 'Both its full name and its raw ID are needed to run the tests that name it by either.',
29
+ logger.warn(
30
+ `Actor ${actorId} not found, or TESTER_APIFY_TOKEN can't access it. Tests that name it by ` +
31
+ `${actorFullName ? 'its raw ID' : 'its full name'} will be skipped.`,
30
32
  );
33
+ return target;
31
34
  }
32
35
  return {
33
36
  ...target,
package/bin/run-tests.ts CHANGED
@@ -73,7 +73,8 @@ export const runTests = async ({
73
73
  // The lib runs the tests of the Actors listed here, each on the build given, or on its default build without one
74
74
  env.ACTOR_BUILDS = JSON.stringify(actorBuilds);
75
75
  const described = actorBuilds.map(
76
- ({ actorFullName, buildNumber }) => `${actorFullName} (${buildNumber ?? 'default build'})`,
76
+ ({ actorFullName, actorRawId, buildNumber }) =>
77
+ `${actorFullName ?? actorRawId} (${buildNumber ?? 'default build'})`,
77
78
  );
78
79
  logger.info(`Testing ${targets.length} Actor(s): ${described.join(', ') || 'none'}`);
79
80
 
@@ -1,16 +1,15 @@
1
1
  import { ApifyClient } from 'apify-client';
2
2
  import type { TestTarget } from './stdin-input.js';
3
3
  type ActorGetter = Pick<ApifyClient, 'actor'>;
4
- /** A test target with both IDs of its Actor */
5
- export type ResolvedTestTarget = TestTarget & {
6
- actorFullName: string;
7
- actorRawId: string;
8
- };
9
4
  /**
10
5
  * Adds the ID each target is missing: the raw ID to those listed by full name, e.g. by `get-actor-configs`, and the
11
6
  * full name to those listed by raw ID. The lib matches a test to its Actor by the ID the test names, so a target
12
7
  * without either ID would skip the tests that name its Actor by the other one.
8
+ *
9
+ * An Actor the token can't see keeps only the ID it was listed with, with a warning, rather than failing the run:
10
+ * `get-actor-configs` lists every Actor in the repository, also ones no platform test uses, such as Actors the tester
11
+ * account was never given access to. A test that names it by the listed ID still runs and fails on its own.
13
12
  */
14
- export declare const withActorIds: (targets: TestTarget[], client?: ActorGetter) => Promise<ResolvedTestTarget[]>;
13
+ export declare const withActorIds: (targets: TestTarget[], client?: ActorGetter) => Promise<TestTarget[]>;
15
14
  export {};
16
15
  //# sourceMappingURL=actor-ids.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"actor-ids.d.ts","sourceRoot":"","sources":["../../bin/actor-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,KAAK,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAE9C,+CAA+C;AAC/C,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5F;;;;GAIG;AACH,eAAO,MAAM,YAAY,GACrB,SAAS,UAAU,EAAE,EACrB,SAAQ,WAAwE,KACjF,OAAO,CAAC,kBAAkB,EAAE,CAoB1B,CAAC"}
1
+ {"version":3,"file":"actor-ids.d.ts","sourceRoot":"","sources":["../../bin/actor-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,KAAK,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAE9C;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACrB,SAAS,UAAU,EAAE,EACrB,SAAQ,WAAwE,KACjF,OAAO,CAAC,UAAU,EAAE,CAqBlB,CAAC"}
@@ -1,19 +1,25 @@
1
1
  import { ApifyClient } from 'apify-client';
2
+ import { logger } from './logger.js';
2
3
  /**
3
4
  * Adds the ID each target is missing: the raw ID to those listed by full name, e.g. by `get-actor-configs`, and the
4
5
  * full name to those listed by raw ID. The lib matches a test to its Actor by the ID the test names, so a target
5
6
  * without either ID would skip the tests that name its Actor by the other one.
7
+ *
8
+ * An Actor the token can't see keeps only the ID it was listed with, with a warning, rather than failing the run:
9
+ * `get-actor-configs` lists every Actor in the repository, also ones no platform test uses, such as Actors the tester
10
+ * account was never given access to. A test that names it by the listed ID still runs and fails on its own.
6
11
  */
7
12
  export const withActorIds = async (targets, client = new ApifyClient({ token: process.env.TESTER_APIFY_TOKEN })) => Promise.all(targets.map(async (target) => {
8
13
  const { actorFullName, actorRawId } = target;
9
14
  if (actorFullName && actorRawId)
10
- return { ...target, actorFullName, actorRawId };
15
+ return target;
11
16
  // The parser lets no target through without either ID
12
17
  const actorId = (actorFullName ?? actorRawId);
13
18
  const actor = await client.actor(actorId).get();
14
19
  if (!actor) {
15
- throw new Error(`Actor ${actorId} not found, or TESTER_APIFY_TOKEN can't access it. ` +
16
- 'Both its full name and its raw ID are needed to run the tests that name it by either.');
20
+ logger.warn(`Actor ${actorId} not found, or TESTER_APIFY_TOKEN can't access it. Tests that name it by ` +
21
+ `${actorFullName ? 'its raw ID' : 'its full name'} will be skipped.`);
22
+ return target;
17
23
  }
18
24
  return {
19
25
  ...target,
@@ -1 +1 @@
1
- {"version":3,"file":"actor-ids.js","sourceRoot":"","sources":["../../bin/actor-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAS3C;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC7B,OAAqB,EACrB,SAAsB,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,EACnD,EAAE,CAC/B,OAAO,CAAC,GAAG,CACP,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IACzB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC7C,IAAI,aAAa,IAAI,UAAU;QAAE,OAAO,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;IACjF,sDAAsD;IACtD,MAAM,OAAO,GAAG,CAAC,aAAa,IAAI,UAAU,CAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACX,SAAS,OAAO,qDAAqD;YACjE,uFAAuF,CAC9F,CAAC;IACN,CAAC;IACD,OAAO;QACH,GAAG,MAAM;QACT,aAAa,EAAE,aAAa,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;QACjE,UAAU,EAAE,UAAU,IAAI,KAAK,CAAC,EAAE;KACrC,CAAC;AACN,CAAC,CAAC,CACL,CAAC"}
1
+ {"version":3,"file":"actor-ids.js","sourceRoot":"","sources":["../../bin/actor-ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKrC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC7B,OAAqB,EACrB,SAAsB,IAAI,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,EAC3D,EAAE,CACvB,OAAO,CAAC,GAAG,CACP,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;IACzB,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAC7C,IAAI,aAAa,IAAI,UAAU;QAAE,OAAO,MAAM,CAAC;IAC/C,sDAAsD;IACtD,MAAM,OAAO,GAAG,CAAC,aAAa,IAAI,UAAU,CAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CACP,SAAS,OAAO,2EAA2E;YACvF,GAAG,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,mBAAmB,CAC3E,CAAC;QACF,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,OAAO;QACH,GAAG,MAAM;QACT,aAAa,EAAE,aAAa,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;QACjE,UAAU,EAAE,UAAU,IAAI,KAAK,CAAC,EAAE;KACrC,CAAC;AACN,CAAC,CAAC,CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-tests.d.ts","sourceRoot":"","sources":["../../bin/run-tests.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAkC,KAAK,UAAU,EAAuC,MAAM,kBAAkB,CAAC;AAoBxH,UAAU,eAAe;IACrB,qDAAqD;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iHAAiH;IACjH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAU,yDAM5B,eAAe,KAAG,OAAO,CAAC,UAAU,CA2DtC,CAAC"}
1
+ {"version":3,"file":"run-tests.d.ts","sourceRoot":"","sources":["../../bin/run-tests.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAkC,KAAK,UAAU,EAAuC,MAAM,kBAAkB,CAAC;AAoBxH,UAAU,eAAe;IACrB,qDAAqD;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iHAAiH;IACjH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAU,yDAM5B,eAAe,KAAG,OAAO,CAAC,UAAU,CA4DtC,CAAC"}
@@ -49,7 +49,7 @@ export const runTests = async ({ filters, targets, vitestOutputFile, reporters =
49
49
  env.FORCE_COLOR = '1';
50
50
  // The lib runs the tests of the Actors listed here, each on the build given, or on its default build without one
51
51
  env.ACTOR_BUILDS = JSON.stringify(actorBuilds);
52
- const described = actorBuilds.map(({ actorFullName, buildNumber }) => `${actorFullName} (${buildNumber ?? 'default build'})`);
52
+ const described = actorBuilds.map(({ actorFullName, actorRawId, buildNumber }) => `${actorFullName ?? actorRawId} (${buildNumber ?? 'default build'})`);
53
53
  logger.info(`Testing ${targets.length} Actor(s): ${described.join(', ') || 'none'}`);
54
54
  const args = [
55
55
  vitestBin,
@@ -1 +1 @@
1
- {"version":3,"file":"run-tests.js","sourceRoot":"","sources":["../../bin/run-tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-tests.js","sourceRoot":"","sources":["../../bin/run-tests.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,17 @@ describe('withActorIds', () => {
24
24
  expect(await withActorIds([build], client)).toEqual([build]);
25
25
  expect(client.actor).not.toHaveBeenCalled();
26
26
  });
27
- it('fails for an Actor the token cannot see, instead of skipping its tests', async () => {
28
- await expect(withActorIds([{ actorFullName: 'owner/missing' }], fakeClient())).rejects.toThrow('Actor owner/missing not found');
29
- await expect(withActorIds([{ actorRawId: 'rawMissing' }], fakeClient())).rejects.toThrow('Actor rawMissing not found');
27
+ it('keeps an Actor the token cannot see as listed, instead of failing the run', async () => {
28
+ const targets = [
29
+ { actorFullName: 'owner/missing' },
30
+ { actorRawId: 'rawMissing' },
31
+ { actorFullName: 'owner/a' },
32
+ ];
33
+ expect(await withActorIds(targets, fakeClient())).toEqual([
34
+ { actorFullName: 'owner/missing' },
35
+ { actorRawId: 'rawMissing' },
36
+ { actorFullName: 'owner/a', actorRawId: 'rawA' },
37
+ ]);
30
38
  });
31
39
  });
32
40
  //# sourceMappingURL=actor-ids.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actor-ids.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/actor-ids.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,yFAAyF;AACzF,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;QACtC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;KACrF,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,KAAK,EAAiD,CAAC;AACpE,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7E,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;SACnD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAC3E,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACrG,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC1F,+BAA+B,CAClC,CAAC;QACF,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACpF,4BAA4B,CAC/B,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"actor-ids.test.js","sourceRoot":"","sources":["../../../../test/unit/bin/actor-ids.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,yFAAyF;AACzF,MAAM,UAAU,GAAG,GAAG,EAAE;IACpB,MAAM,KAAK,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC;QACtC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;KACrF,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,KAAK,EAAiD,CAAC;AACpE,CAAC,CAAC;AAEF,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,kFAAkF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7E,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;SACnD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QAC3E,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACrG,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,OAAO,GAAG;YACZ,EAAE,aAAa,EAAE,eAAe,EAAE;YAClC,EAAE,UAAU,EAAE,YAAY,EAAE;YAC5B,EAAE,aAAa,EAAE,SAAS,EAAE;SAC/B,CAAC;QACF,MAAM,CAAC,MAAM,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACtD,EAAE,aAAa,EAAE,eAAe,EAAE;YAClC,EAAE,UAAU,EAAE,YAAY,EAAE;YAC5B,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;SACnD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}