primitive-admin 1.0.62 → 1.0.63
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/dist/src/commands/apps.js +5 -2
- package/dist/src/commands/apps.js.map +1 -1
- package/dist/src/commands/email-templates.js +3 -3
- package/dist/src/commands/email-templates.js.map +1 -1
- package/dist/src/commands/env.js +17 -1
- package/dist/src/commands/env.js.map +1 -1
- package/dist/src/commands/init.d.ts +15 -0
- package/dist/src/commands/init.js +158 -22
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/integrations.js +30 -14
- package/dist/src/commands/integrations.js.map +1 -1
- package/dist/src/commands/scripts.d.ts +10 -0
- package/dist/src/commands/scripts.js +137 -8
- package/dist/src/commands/scripts.js.map +1 -1
- package/dist/src/commands/sync.d.ts +1 -31
- package/dist/src/commands/sync.js +5 -79
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/lib/env-resolver-core.d.ts +40 -0
- package/dist/src/lib/env-resolver-core.js +60 -0
- package/dist/src/lib/env-resolver-core.js.map +1 -1
- package/dist/src/lib/init-client-platforms.d.ts +14 -0
- package/dist/src/lib/init-client-platforms.js +71 -0
- package/dist/src/lib/init-client-platforms.js.map +1 -0
- package/dist/src/lib/init-email-redirect-uris.d.ts +37 -0
- package/dist/src/lib/init-email-redirect-uris.js +46 -0
- package/dist/src/lib/init-email-redirect-uris.js.map +1 -0
- package/dist/src/lib/init-ios-links.d.ts +40 -0
- package/dist/src/lib/init-ios-links.js +66 -1
- package/dist/src/lib/init-ios-links.js.map +1 -1
- package/dist/src/lib/integration-selector.d.ts +42 -0
- package/dist/src/lib/integration-selector.js +46 -0
- package/dist/src/lib/integration-selector.js.map +1 -0
- package/dist/src/lib/local-test-cases.d.ts +63 -0
- package/dist/src/lib/local-test-cases.js +135 -0
- package/dist/src/lib/local-test-cases.js.map +1 -0
- package/dist/src/lib/project-config.d.ts +8 -0
- package/dist/src/lib/project-config.js +17 -0
- package/dist/src/lib/project-config.js.map +1 -1
- package/dist/src/lib/test-case-file-names.d.ts +40 -0
- package/dist/src/lib/test-case-file-names.js +91 -0
- package/dist/src/lib/test-case-file-names.js.map +1 -0
- package/dist/src/lib/web-url.d.ts +40 -0
- package/dist/src/lib/web-url.js +76 -0
- package/dist/src/lib/web-url.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { join } from "path";
|
|
1
2
|
import { ApiClient } from "../lib/api-client.js";
|
|
2
3
|
import { resolveAppId } from "../lib/config.js";
|
|
3
4
|
import chalk from "chalk";
|
|
4
|
-
import { success, error, info, keyValue, result as printResult, formatTable, formatId, formatDate, formatDuration, json, divider, } from "../lib/output.js";
|
|
5
|
+
import { success, error, info, warn, dim, keyValue, result as printResult, formatTable, formatId, formatDate, formatDuration, json, divider, } from "../lib/output.js";
|
|
6
|
+
import { resolveSyncDir } from "../lib/sync-paths.js";
|
|
7
|
+
import { listLocalTestCaseFiles, readManagedTestCases, scanLocalTestCases, } from "../lib/local-test-cases.js";
|
|
5
8
|
/**
|
|
6
9
|
* Resolve a user-supplied script reference (either a `scriptId` or the
|
|
7
10
|
* script's `name`) to its `scriptId`. Scripts are named handles, so the CLI
|
|
@@ -19,16 +22,26 @@ import { success, error, info, keyValue, result as printResult, formatTable, for
|
|
|
19
22
|
* convenience behavior every command already relies on.
|
|
20
23
|
*/
|
|
21
24
|
export async function resolveScriptId(client, appId, ref) {
|
|
25
|
+
return (await resolveScript(client, appId, ref)).scriptId;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The same resolution, keeping the script's NAME as well as its id. The name is
|
|
29
|
+
* what the local tree is keyed by (`transforms/<name>.rhai` and its
|
|
30
|
+
* `transforms/<name>.tests/` sidecar), so a verb that has to look at the
|
|
31
|
+
* authored files cannot work from the block id alone (#3061).
|
|
32
|
+
*/
|
|
33
|
+
export async function resolveScript(client, appId, ref) {
|
|
22
34
|
const { items } = await client.listScripts(appId);
|
|
35
|
+
const found = (s) => ({ scriptId: s.scriptId, name: String(s.name) });
|
|
23
36
|
const byId = items.find((s) => s.scriptId === ref);
|
|
24
37
|
if (byId)
|
|
25
|
-
return byId
|
|
38
|
+
return found(byId);
|
|
26
39
|
const byName = items.find((s) => s.name === ref);
|
|
27
40
|
if (byName)
|
|
28
|
-
return byName
|
|
41
|
+
return found(byName);
|
|
29
42
|
const byNameCi = items.filter((s) => String(s.name).toLowerCase() === ref.toLowerCase());
|
|
30
43
|
if (byNameCi.length === 1)
|
|
31
|
-
return byNameCi[0]
|
|
44
|
+
return found(byNameCi[0]);
|
|
32
45
|
if (byNameCi.length > 1) {
|
|
33
46
|
const candidates = byNameCi
|
|
34
47
|
.map((s) => String(s.name))
|
|
@@ -39,6 +52,96 @@ export async function resolveScriptId(client, appId, ref) {
|
|
|
39
52
|
}
|
|
40
53
|
throw new Error(`Script not found: ${ref}`);
|
|
41
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Every registered test case of a script, draining the cursor (#3061).
|
|
57
|
+
*
|
|
58
|
+
* The listing endpoint returns 50 per page. Classifying local files against
|
|
59
|
+
* page one alone would call every case that happens to live on page two
|
|
60
|
+
* unregistered — a push the user does not need, and a count that contradicts
|
|
61
|
+
* the tree. `firstPage` is the page a caller already fetched for its own
|
|
62
|
+
* output, so accounting for the rest costs a call only when there IS a rest.
|
|
63
|
+
*/
|
|
64
|
+
async function drainTestCases(params) {
|
|
65
|
+
const items = [];
|
|
66
|
+
let cursor;
|
|
67
|
+
let page = params.firstPage;
|
|
68
|
+
const seenCursors = new Set();
|
|
69
|
+
for (;;) {
|
|
70
|
+
if (!page) {
|
|
71
|
+
page = await params.client.listTestCases(params.appId, "script", params.scriptId, cursor ? { cursor } : {});
|
|
72
|
+
}
|
|
73
|
+
items.push(...(page.items || []));
|
|
74
|
+
const next = page.nextCursor;
|
|
75
|
+
// A server that keeps handing back the same cursor must not spin forever.
|
|
76
|
+
if (!next || seenCursors.has(next))
|
|
77
|
+
break;
|
|
78
|
+
seenCursors.add(next);
|
|
79
|
+
cursor = next;
|
|
80
|
+
page = undefined;
|
|
81
|
+
}
|
|
82
|
+
return items;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Name the case files under `transforms/<name>.tests/` that the server has
|
|
86
|
+
* never been told about (#3061).
|
|
87
|
+
*
|
|
88
|
+
* The test verbs run the REGISTERED set, so an authored-but-unpushed case
|
|
89
|
+
* contributes nothing to `Total Tests` — and, before this, nothing to the
|
|
90
|
+
* output either: `Total Tests: 3 / Failed: 0` beside four case files reads as
|
|
91
|
+
* a pass for a case that never executed. Printing the file count next to the
|
|
92
|
+
* registered total is what makes the two numbers disagree out loud, and the
|
|
93
|
+
* files are named individually so the remedy is one `config push` away rather
|
|
94
|
+
* than a bisect.
|
|
95
|
+
*
|
|
96
|
+
* Everything it prints goes to stderr, including under `--json`: stderr cannot
|
|
97
|
+
* corrupt a payload, and a scripted caller is exactly who cannot see a case
|
|
98
|
+
* silently not running. The payload carries the same list.
|
|
99
|
+
*
|
|
100
|
+
* The tree it scans is the one `config push` would push from, `--dir` included
|
|
101
|
+
* — scanning a different directory would report the silence this exists to end.
|
|
102
|
+
*
|
|
103
|
+
* Returns the paths named, for that payload. A local tree it cannot read is
|
|
104
|
+
* reported as such rather than swallowed — this whole issue is about silence.
|
|
105
|
+
*/
|
|
106
|
+
async function reportUnregisteredLocalTestCases(params) {
|
|
107
|
+
const relativeDir = `transforms/${params.scriptName}.tests`;
|
|
108
|
+
try {
|
|
109
|
+
const configDir = resolveSyncDir({
|
|
110
|
+
appId: params.appId,
|
|
111
|
+
userDir: params.configDir,
|
|
112
|
+
});
|
|
113
|
+
const testsDir = join(configDir, "transforms", `${params.scriptName}.tests`);
|
|
114
|
+
// No sidecar directory, no question to answer — and no listing call for a
|
|
115
|
+
// suite whose cases are only ever server-side.
|
|
116
|
+
if (listLocalTestCaseFiles(testsDir).length === 0)
|
|
117
|
+
return [];
|
|
118
|
+
const registered = await drainTestCases({
|
|
119
|
+
client: params.client,
|
|
120
|
+
appId: params.appId,
|
|
121
|
+
scriptId: params.scriptId,
|
|
122
|
+
firstPage: params.registered,
|
|
123
|
+
});
|
|
124
|
+
const scan = scanLocalTestCases({
|
|
125
|
+
testsDir,
|
|
126
|
+
registered,
|
|
127
|
+
managed: readManagedTestCases(configDir),
|
|
128
|
+
managedPrefix: `script/${params.scriptName}`,
|
|
129
|
+
});
|
|
130
|
+
if (scan.unregistered.length === 0)
|
|
131
|
+
return [];
|
|
132
|
+
keyValue("Local Case Files", `${scan.localFiles.length} (${scan.unregistered.length} not registered)`);
|
|
133
|
+
warn(`${scan.unregistered.length} local case file(s) in ${relativeDir}/ did not run — not registered:`);
|
|
134
|
+
for (const file of scan.unregistered) {
|
|
135
|
+
dim(` ${relativeDir}/${file}`);
|
|
136
|
+
}
|
|
137
|
+
warn("'primitive config push' registers local case files; run it, then run the tests again.");
|
|
138
|
+
return scan.unregistered.map((file) => `${relativeDir}/${file}`);
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
warn(`Could not check ${relativeDir}/ for unregistered case files: ${err.message}`);
|
|
142
|
+
return [];
|
|
143
|
+
}
|
|
144
|
+
}
|
|
42
145
|
export function registerScriptsCommands(program) {
|
|
43
146
|
const scripts = program
|
|
44
147
|
.command("scripts")
|
|
@@ -267,13 +370,26 @@ Examples:
|
|
|
267
370
|
.description("List test cases for a script")
|
|
268
371
|
.argument("<script>", "Script ID or name")
|
|
269
372
|
.option("--app <app-id>", "App ID (uses current app if not specified)")
|
|
373
|
+
.option("--dir <path>", "Config directory (overrides the auto-resolved per-env path)")
|
|
270
374
|
.option("--json", "Output as JSON")
|
|
271
375
|
.action(async (script, options) => {
|
|
272
376
|
const resolvedAppId = resolveAppId(undefined, options);
|
|
273
377
|
const client = new ApiClient();
|
|
274
378
|
try {
|
|
275
|
-
const scriptId = await
|
|
276
|
-
const
|
|
379
|
+
const { scriptId, name } = await resolveScript(client, resolvedAppId, script);
|
|
380
|
+
const page = await client.listTestCases(resolvedAppId, "script", scriptId);
|
|
381
|
+
const items = page.items;
|
|
382
|
+
// The listing shows the REGISTERED set; the local directory can hold
|
|
383
|
+
// more (#3061). Reported before the early returns below, so "no test
|
|
384
|
+
// cases" and a `--json` array both carry the discrepancy on stderr.
|
|
385
|
+
await reportUnregisteredLocalTestCases({
|
|
386
|
+
client,
|
|
387
|
+
appId: resolvedAppId,
|
|
388
|
+
scriptId,
|
|
389
|
+
scriptName: name,
|
|
390
|
+
configDir: options.dir,
|
|
391
|
+
registered: { items: items ?? [], nextCursor: page.nextCursor },
|
|
392
|
+
});
|
|
277
393
|
if (options.json) {
|
|
278
394
|
json(items);
|
|
279
395
|
return;
|
|
@@ -439,6 +555,7 @@ Examples:
|
|
|
439
555
|
.option("--app <app-id>", "App ID (uses current app if not specified)")
|
|
440
556
|
.option("--config <config-id>", "Override config ID for all tests (pin to a version)")
|
|
441
557
|
.option("--test-cases <ids>", "Comma-separated list of test case IDs to run (runs only these)")
|
|
558
|
+
.option("--dir <path>", "Config directory (overrides the auto-resolved per-env path)")
|
|
442
559
|
.option("--json", "Output as JSON")
|
|
443
560
|
.action(async (script, options) => {
|
|
444
561
|
const resolvedAppId = resolveAppId(undefined, options);
|
|
@@ -455,7 +572,7 @@ Examples:
|
|
|
455
572
|
process.exit(1);
|
|
456
573
|
}
|
|
457
574
|
}
|
|
458
|
-
const scriptId = await
|
|
575
|
+
const { scriptId, name } = await resolveScript(client, resolvedAppId, script);
|
|
459
576
|
if (!options.json) {
|
|
460
577
|
if (testCaseIds) {
|
|
461
578
|
info(`Running ${testCaseIds.length} selected test case(s)...`);
|
|
@@ -468,8 +585,19 @@ Examples:
|
|
|
468
585
|
overrideConfigId: options.config,
|
|
469
586
|
testCaseIds,
|
|
470
587
|
});
|
|
588
|
+
// A run that only ever sees the registered set cannot report a clean
|
|
589
|
+
// pass over a case file nobody pushed (#3061). Reported last in human
|
|
590
|
+
// output — the end of the run is where the verdict is read.
|
|
591
|
+
const reportUnrunFiles = () => reportUnregisteredLocalTestCases({
|
|
592
|
+
client,
|
|
593
|
+
appId: resolvedAppId,
|
|
594
|
+
scriptId,
|
|
595
|
+
scriptName: name,
|
|
596
|
+
configDir: options.dir,
|
|
597
|
+
});
|
|
471
598
|
if (options.json) {
|
|
472
|
-
|
|
599
|
+
const unregisteredLocalTestCaseFiles = await reportUnrunFiles();
|
|
600
|
+
json({ ...result, unregisteredLocalTestCaseFiles });
|
|
473
601
|
return;
|
|
474
602
|
}
|
|
475
603
|
const { summary, runs, comparisonGroup } = result;
|
|
@@ -490,6 +618,7 @@ Examples:
|
|
|
490
618
|
}
|
|
491
619
|
}
|
|
492
620
|
}
|
|
621
|
+
await reportUnrunFiles();
|
|
493
622
|
if (summary.failed > 0) {
|
|
494
623
|
process.exit(1);
|
|
495
624
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/commands/scripts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/commands/scripts.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { type FieldForm } from "../lib/toml-native-form.js";
|
|
|
5
5
|
import { type PushMode } from "../lib/config-payload.js";
|
|
6
6
|
import { type ConfigObjectSurface, type ConfigTable } from "../lib/generated-config-surfaces.js";
|
|
7
7
|
import { type PresenceOutcome, type TestBlockType } from "../lib/sync-resource-types.js";
|
|
8
|
+
export { resolveSlugCollisions, slugifyTestCaseName, testCaseFileBasenames, } from "../lib/test-case-file-names.js";
|
|
8
9
|
import type { SyncState } from "../types/index.js";
|
|
9
10
|
import { type SyncSelection } from "../lib/sync-selectors.js";
|
|
10
11
|
/**
|
|
@@ -1806,17 +1807,6 @@ export declare function unselectedRuleSetIds(params: {
|
|
|
1806
1807
|
/** The `ruleSet.name` a file declares — the name references use. */
|
|
1807
1808
|
nameForFile: (file: string) => string | undefined;
|
|
1808
1809
|
}): Map<string, string>;
|
|
1809
|
-
export declare function slugifyTestCaseName(name: string): string;
|
|
1810
|
-
/**
|
|
1811
|
-
* The name to use for `slug`, given the names already taken.
|
|
1812
|
-
*
|
|
1813
|
-
* `occupy` decides what "already taken" means, and `usedSlugs` holds names in
|
|
1814
|
-
* that form (#2896): a file name is occupied CASE-INSENSITIVELY on the
|
|
1815
|
-
* filesystems most of these trees live on, so `Foo` and `foo` are one file even
|
|
1816
|
-
* though they are two strings. The returned name keeps its own casing — only
|
|
1817
|
-
* the occupancy check is normalized.
|
|
1818
|
-
*/
|
|
1819
|
-
export declare function resolveSlugCollisions(slug: string, usedSlugs: Set<string>, occupy?: (name: string) => string): string;
|
|
1820
1810
|
export declare function getTestsDir(configDir: string, blockType: string, blockKey: string): string;
|
|
1821
1811
|
export interface TestCaseLookupMaps {
|
|
1822
1812
|
configIdToName: Map<string, string>;
|
|
@@ -2091,25 +2081,6 @@ export declare function pushTestCasesForBlock(params: {
|
|
|
2091
2081
|
}): Promise<{
|
|
2092
2082
|
skipped: number;
|
|
2093
2083
|
}>;
|
|
2094
|
-
/**
|
|
2095
|
-
* The file name each live test case belongs in (#2896).
|
|
2096
|
-
*
|
|
2097
|
-
* A KEYED case is named by its key: that is what the key is — the basename the
|
|
2098
|
-
* committed tree carries. An unkeyed one (created by web-admin, an older CLI or
|
|
2099
|
-
* the raw API) keeps the slug-of-name naming, with the collision suffixes
|
|
2100
|
-
* resolved only AFTER the keys have claimed theirs, so a slug can never take a
|
|
2101
|
-
* name a key owns.
|
|
2102
|
-
*
|
|
2103
|
-
* One function for pull, for pairing's adoption pass and for the diff's
|
|
2104
|
-
* remote-only rows, because three commands that name a case's file differently
|
|
2105
|
-
* is the disagreement this issue reports.
|
|
2106
|
-
*
|
|
2107
|
-
* Two names that differ only by CASE are one file on a case-insensitive
|
|
2108
|
-
* filesystem, so occupancy is tracked the way the server's key constraint
|
|
2109
|
-
* normalizes: a keyed `Foo` and an unkeyed case named "foo" get `Foo.toml` and
|
|
2110
|
-
* `foo-2.toml`, rather than one pull silently overwriting the other's sidecar.
|
|
2111
|
-
*/
|
|
2112
|
-
export declare function testCaseFileBasenames(liveCases: any[], onUnusableKey?: (live: any, reason: string) => void, isSafeName?: (name: string) => boolean): Map<any, string>;
|
|
2113
2084
|
/**
|
|
2114
2085
|
* Whether a sidecar and a live case say the same thing (#2896).
|
|
2115
2086
|
*
|
|
@@ -2320,4 +2291,3 @@ export declare function applyTestCasePrune(params: {
|
|
|
2320
2291
|
* are internal identifiers, deliberately left alone (#2759 scope).
|
|
2321
2292
|
*/
|
|
2322
2293
|
export declare function registerConfigSyncCommands(sync: Command): void;
|
|
2323
|
-
export {};
|
|
@@ -35,6 +35,11 @@ import { CONFIG_SURFACES, isEmptyForEmit, } from "../lib/generated-config-surfac
|
|
|
35
35
|
import { detectLayout, migrateLegacyToV2 } from "../lib/block-layout.js";
|
|
36
36
|
import { ABSENT_FROM_EXPORT, LOCAL_ONLY_ABSENT, LOCAL_ONLY_NEW, PUSH_PRUNE_SPECS, REMOTE_ONLY_UNMANAGED, REMOTE_ONLY_WILL_DELETE, SYNC_RESOURCE_TYPES, VALIDATION_ERROR, applyPrune, attachmentWritePath, attemptFetch, classifyLocalOnly, classifyPruneDeleteFailure, classifyRemoteOnly, collectPushPruneCandidates, decidePushPruneCandidate, formatPrunePlan, hasUncommittedChanges, isSafeAttachmentFilename, isSafeSyncFilename, planPrune, preserveUnwrittenEntries, removePrunedSidecar, ruleSetFileKey, } from "../lib/sync-resource-types.js";
|
|
37
37
|
import { normalizeTestCaseKey, testCaseKeyError, } from "../lib/test-case-keys.js";
|
|
38
|
+
import { slugifyTestCaseName, testCaseFileBasenames, } from "../lib/test-case-file-names.js";
|
|
39
|
+
// The sidecar naming rules moved to `lib/` so `scripts tests` can read them
|
|
40
|
+
// without loading the sync tree (#3061); re-exported here because pull, push,
|
|
41
|
+
// diff and their tests have always imported them from this module.
|
|
42
|
+
export { resolveSlugCollisions, slugifyTestCaseName, testCaseFileBasenames, } from "../lib/test-case-file-names.js";
|
|
38
43
|
import { success, error, printApiError, info, warn, keyValue, json, divider, } from "../lib/output.js";
|
|
39
44
|
import { filterFilesBySelection, parseSyncSelectors, SelectorError, selectionIncludesKey, selectionIncludesType, selectionIncludesApp, selectionIncludesAnyVar, unmatchedSelectors, } from "../lib/sync-selectors.js";
|
|
40
45
|
import { confirmPrompt, ConfirmPromptError } from "../lib/confirm-prompt.js";
|
|
@@ -4335,37 +4340,6 @@ export function unselectedRuleSetIds(params) {
|
|
|
4335
4340
|
}
|
|
4336
4341
|
return seeded;
|
|
4337
4342
|
}
|
|
4338
|
-
// Test case helpers (exported for unit testing)
|
|
4339
|
-
export function slugifyTestCaseName(name) {
|
|
4340
|
-
return name
|
|
4341
|
-
.toLowerCase()
|
|
4342
|
-
.replace(/[^a-z0-9]+/g, "-")
|
|
4343
|
-
.replace(/^-+|-+$/g, "")
|
|
4344
|
-
|| "test";
|
|
4345
|
-
}
|
|
4346
|
-
/**
|
|
4347
|
-
* The name to use for `slug`, given the names already taken.
|
|
4348
|
-
*
|
|
4349
|
-
* `occupy` decides what "already taken" means, and `usedSlugs` holds names in
|
|
4350
|
-
* that form (#2896): a file name is occupied CASE-INSENSITIVELY on the
|
|
4351
|
-
* filesystems most of these trees live on, so `Foo` and `foo` are one file even
|
|
4352
|
-
* though they are two strings. The returned name keeps its own casing — only
|
|
4353
|
-
* the occupancy check is normalized.
|
|
4354
|
-
*/
|
|
4355
|
-
export function resolveSlugCollisions(slug, usedSlugs, occupy = (name) => name) {
|
|
4356
|
-
const taken = (candidate) => usedSlugs.has(occupy(candidate));
|
|
4357
|
-
if (!taken(slug)) {
|
|
4358
|
-
usedSlugs.add(occupy(slug));
|
|
4359
|
-
return slug;
|
|
4360
|
-
}
|
|
4361
|
-
let counter = 2;
|
|
4362
|
-
while (taken(`${slug}-${counter}`)) {
|
|
4363
|
-
counter++;
|
|
4364
|
-
}
|
|
4365
|
-
const resolved = `${slug}-${counter}`;
|
|
4366
|
-
usedSlugs.add(occupy(resolved));
|
|
4367
|
-
return resolved;
|
|
4368
|
-
}
|
|
4369
4343
|
export function getTestsDir(configDir, blockType, blockKey) {
|
|
4370
4344
|
// Scripts (blockType "script") live under `transforms/` on disk (their
|
|
4371
4345
|
// bodies are `transforms/<name>.rhai`), so their test cases sit alongside at
|
|
@@ -5478,54 +5452,6 @@ export async function pushTestCasesForBlock(params) {
|
|
|
5478
5452
|
}
|
|
5479
5453
|
return { skipped };
|
|
5480
5454
|
}
|
|
5481
|
-
/**
|
|
5482
|
-
* The file name each live test case belongs in (#2896).
|
|
5483
|
-
*
|
|
5484
|
-
* A KEYED case is named by its key: that is what the key is — the basename the
|
|
5485
|
-
* committed tree carries. An unkeyed one (created by web-admin, an older CLI or
|
|
5486
|
-
* the raw API) keeps the slug-of-name naming, with the collision suffixes
|
|
5487
|
-
* resolved only AFTER the keys have claimed theirs, so a slug can never take a
|
|
5488
|
-
* name a key owns.
|
|
5489
|
-
*
|
|
5490
|
-
* One function for pull, for pairing's adoption pass and for the diff's
|
|
5491
|
-
* remote-only rows, because three commands that name a case's file differently
|
|
5492
|
-
* is the disagreement this issue reports.
|
|
5493
|
-
*
|
|
5494
|
-
* Two names that differ only by CASE are one file on a case-insensitive
|
|
5495
|
-
* filesystem, so occupancy is tracked the way the server's key constraint
|
|
5496
|
-
* normalizes: a keyed `Foo` and an unkeyed case named "foo" get `Foo.toml` and
|
|
5497
|
-
* `foo-2.toml`, rather than one pull silently overwriting the other's sidecar.
|
|
5498
|
-
*/
|
|
5499
|
-
export function testCaseFileBasenames(liveCases, onUnusableKey, isSafeName) {
|
|
5500
|
-
const used = new Set();
|
|
5501
|
-
const occupy = (name) => normalizeTestCaseKey(name);
|
|
5502
|
-
const names = new Map();
|
|
5503
|
-
const unkeyed = [];
|
|
5504
|
-
for (const live of liveCases) {
|
|
5505
|
-
const key = typeof live?.key === "string" ? live.key : "";
|
|
5506
|
-
if (!key) {
|
|
5507
|
-
unkeyed.push(live);
|
|
5508
|
-
continue;
|
|
5509
|
-
}
|
|
5510
|
-
// The key is SERVER data on its way to becoming a path. A server that
|
|
5511
|
-
// stored one this CLI would not have sent must not be able to name a file
|
|
5512
|
-
// outside the sidecar directory.
|
|
5513
|
-
const reason = testCaseKeyError(key) ??
|
|
5514
|
-
(isSafeName && !isSafeName(key)
|
|
5515
|
-
? `test case key "${key}" is not a safe file name here`
|
|
5516
|
-
: null);
|
|
5517
|
-
if (reason) {
|
|
5518
|
-
onUnusableKey?.(live, reason);
|
|
5519
|
-
unkeyed.push(live);
|
|
5520
|
-
continue;
|
|
5521
|
-
}
|
|
5522
|
-
names.set(live, resolveSlugCollisions(key, used, occupy));
|
|
5523
|
-
}
|
|
5524
|
-
for (const live of unkeyed) {
|
|
5525
|
-
names.set(live, resolveSlugCollisions(slugifyTestCaseName(live?.name || "unnamed"), used, occupy));
|
|
5526
|
-
}
|
|
5527
|
-
return names;
|
|
5528
|
-
}
|
|
5529
5455
|
/**
|
|
5530
5456
|
* Whether a sidecar and a live case say the same thing (#2896).
|
|
5531
5457
|
*
|