@desplega.ai/qa-use 2.15.4 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/package.json +1 -1
- package/dist/src/cli/commands/test/export.js +3 -3
- package/dist/src/cli/commands/test/export.js.map +1 -1
- package/dist/src/cli/commands/test/index.d.ts.map +1 -1
- package/dist/src/cli/commands/test/index.js +2 -0
- package/dist/src/cli/commands/test/index.js.map +1 -1
- package/dist/src/cli/commands/test/info.d.ts.map +1 -1
- package/dist/src/cli/commands/test/info.js +8 -18
- package/dist/src/cli/commands/test/info.js.map +1 -1
- package/dist/src/cli/commands/test/list.d.ts.map +1 -1
- package/dist/src/cli/commands/test/list.js +4 -2
- package/dist/src/cli/commands/test/list.js.map +1 -1
- package/dist/src/cli/commands/test/sync.d.ts +60 -0
- package/dist/src/cli/commands/test/sync.d.ts.map +1 -1
- package/dist/src/cli/commands/test/sync.js +146 -23
- package/dist/src/cli/commands/test/sync.js.map +1 -1
- package/dist/src/cli/commands/test/vars/index.d.ts +10 -0
- package/dist/src/cli/commands/test/vars/index.d.ts.map +1 -0
- package/dist/src/cli/commands/test/vars/index.js +16 -0
- package/dist/src/cli/commands/test/vars/index.js.map +1 -0
- package/dist/src/cli/commands/test/vars/list.d.ts +10 -0
- package/dist/src/cli/commands/test/vars/list.d.ts.map +1 -0
- package/dist/src/cli/commands/test/vars/list.js +96 -0
- package/dist/src/cli/commands/test/vars/list.js.map +1 -0
- package/dist/src/cli/commands/test/vars/set.d.ts +31 -0
- package/dist/src/cli/commands/test/vars/set.d.ts.map +1 -0
- package/dist/src/cli/commands/test/vars/set.js +249 -0
- package/dist/src/cli/commands/test/vars/set.js.map +1 -0
- package/dist/src/cli/commands/test/vars/unset.d.ts +12 -0
- package/dist/src/cli/commands/test/vars/unset.d.ts.map +1 -0
- package/dist/src/cli/commands/test/vars/unset.js +86 -0
- package/dist/src/cli/commands/test/vars/unset.js.map +1 -0
- package/dist/src/cli/generated/docs-content.d.ts +1 -1
- package/dist/src/cli/generated/docs-content.d.ts.map +1 -1
- package/dist/src/cli/generated/docs-content.js +75 -1
- package/dist/src/cli/generated/docs-content.js.map +1 -1
- package/dist/src/cli/lib/test-vars.d.ts +90 -0
- package/dist/src/cli/lib/test-vars.d.ts.map +1 -0
- package/dist/src/cli/lib/test-vars.js +167 -0
- package/dist/src/cli/lib/test-vars.js.map +1 -0
- package/dist/src/cli/lib/uuid.d.ts +9 -0
- package/dist/src/cli/lib/uuid.d.ts.map +1 -0
- package/dist/src/cli/lib/uuid.js +11 -0
- package/dist/src/cli/lib/uuid.js.map +1 -0
- package/dist/src/utils/strings.d.ts +21 -0
- package/dist/src/utils/strings.d.ts.map +1 -1
- package/dist/src/utils/strings.js +29 -0
- package/dist/src/utils/strings.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -70,6 +70,8 @@ qa-use test run --all # Run all tests
|
|
|
70
70
|
|
|
71
71
|
Run `qa-use test --help` for all options.
|
|
72
72
|
|
|
73
|
+
> **Filename suffix (≥ 2.17).** `pull` writes one file per cloud test as `${safe-name}-${short-id}.yaml`, where `${short-id}` is the first 8 hex chars of the test UUID. Test names can collide within an org by design, so the suffix guarantees one local file per cloud row. If you upgrade from an earlier version, the next `pull` will write new suffixed files alongside any legacy un-suffixed file you had — qa-use prints a one-line `Legacy file: …` notice per orphan and never auto-deletes. Inspect the legacy file's `id:` field; remove it manually once you've confirmed it's not load-bearing.
|
|
74
|
+
|
|
73
75
|
### Browser Commands
|
|
74
76
|
|
|
75
77
|
Interactive browser control for test development and debugging:
|
package/dist/package.json
CHANGED
|
@@ -5,7 +5,7 @@ import * as fs from 'node:fs/promises';
|
|
|
5
5
|
import * as path from 'node:path';
|
|
6
6
|
import { Command } from 'commander';
|
|
7
7
|
import * as yaml from 'yaml';
|
|
8
|
-
import {
|
|
8
|
+
import { toUniqueTestFilename } from '../../../utils/strings.js';
|
|
9
9
|
import { createApiClient, loadConfig } from '../../lib/config.js';
|
|
10
10
|
import { error, formatError, info, success, warning } from '../../lib/output.js';
|
|
11
11
|
export const exportCommand = new Command('export')
|
|
@@ -73,8 +73,8 @@ export const exportCommand = new Command('export')
|
|
|
73
73
|
const ext = options.format === 'json' ? '.json' : '.yaml';
|
|
74
74
|
const written = [];
|
|
75
75
|
for (const test of tests) {
|
|
76
|
-
const
|
|
77
|
-
const outputPath = path.join(testDir,
|
|
76
|
+
const slug = toUniqueTestFilename(test.name || test.id || '', test.id);
|
|
77
|
+
const outputPath = path.join(testDir, slug + ext);
|
|
78
78
|
// Serialize individual test (depends_on stays as UUID)
|
|
79
79
|
const testContent = options.format === 'json' ? JSON.stringify(test, null, 2) : yaml.stringify(test);
|
|
80
80
|
await fs.writeFile(outputPath, testContent, 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/cli/commands/test/export.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/cli/commands/test/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,WAAW,SAAqE,CAAC"}
|
|
@@ -13,6 +13,7 @@ import { runsCommand } from './runs/index.js';
|
|
|
13
13
|
import { schemaCommand } from './schema.js';
|
|
14
14
|
import { syncCommand } from './sync.js';
|
|
15
15
|
import { validateCommand } from './validate.js';
|
|
16
|
+
import { varsCommand } from './vars/index.js';
|
|
16
17
|
export const testCommand = new Command('test').description('Manage and run test definitions');
|
|
17
18
|
// Register subcommands
|
|
18
19
|
testCommand.addCommand(runCommand);
|
|
@@ -26,4 +27,5 @@ testCommand.addCommand(exportCommand);
|
|
|
26
27
|
testCommand.addCommand(syncCommand);
|
|
27
28
|
testCommand.addCommand(diffCommand);
|
|
28
29
|
testCommand.addCommand(schemaCommand);
|
|
30
|
+
testCommand.addCommand(varsCommand);
|
|
29
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/test/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/cli/commands/test/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;AAE9F,uBAAuB;AACvB,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACnC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACpC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACpC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACpC,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACxC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACpC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACtC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACtC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACpC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACpC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACtC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/info.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8NpC,eAAO,MAAM,WAAW,SAsIpB,CAAC"}
|
|
@@ -9,7 +9,8 @@ import { createApiClient, loadConfig } from '../../lib/config.js';
|
|
|
9
9
|
import { discoverTests, loadTestDefinition } from '../../lib/loader.js';
|
|
10
10
|
import { error, formatError, info } from '../../lib/output.js';
|
|
11
11
|
import { formatStatus, formatTimestamp } from '../../lib/table.js';
|
|
12
|
-
|
|
12
|
+
import { maskValue } from '../../lib/test-vars.js';
|
|
13
|
+
import { UUID_RE } from '../../lib/uuid.js';
|
|
13
14
|
// ANSI color codes
|
|
14
15
|
const colors = {
|
|
15
16
|
reset: '\x1b[0m',
|
|
@@ -46,7 +47,10 @@ function displayMatrixSummary(matrix) {
|
|
|
46
47
|
const idLabel = renderId(opt).padEnd(labelWidth);
|
|
47
48
|
const pairs = (opt.var_options ?? []).map((vo) => {
|
|
48
49
|
const k = vo.key ?? '?';
|
|
49
|
-
const v =
|
|
50
|
+
const v = maskValue({
|
|
51
|
+
value: vo.value,
|
|
52
|
+
is_sensitive: vo.is_sensitive,
|
|
53
|
+
});
|
|
50
54
|
return `${k}=${v}`;
|
|
51
55
|
});
|
|
52
56
|
const pairsStr = pairs.length > 0 ? pairs.join(', ') : `${colors.gray}(no overrides)${colors.reset}`;
|
|
@@ -86,14 +90,7 @@ function displayTestInfo(test, source) {
|
|
|
86
90
|
if (test.variables && Object.keys(test.variables).length > 0) {
|
|
87
91
|
console.log(' Variables:');
|
|
88
92
|
for (const [key, value] of Object.entries(test.variables)) {
|
|
89
|
-
|
|
90
|
-
if (value && typeof value === 'object') {
|
|
91
|
-
const v = value;
|
|
92
|
-
raw = v.is_sensitive ? '****' : String(v.value ?? '');
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
raw = String(value ?? '');
|
|
96
|
-
}
|
|
93
|
+
const raw = maskValue(value);
|
|
97
94
|
const displayValue = raw.length > 50 ? `${raw.substring(0, 47)}...` : raw;
|
|
98
95
|
console.log(` ${key}: ${colors.gray}${displayValue}${colors.reset}`);
|
|
99
96
|
}
|
|
@@ -162,14 +159,7 @@ function displayCloudTestInfo(data) {
|
|
|
162
159
|
if (keys.length > 0) {
|
|
163
160
|
console.log(' Variables:');
|
|
164
161
|
for (const [key, value] of Object.entries(vars)) {
|
|
165
|
-
|
|
166
|
-
if (value && typeof value === 'object') {
|
|
167
|
-
const v = value;
|
|
168
|
-
raw = v.is_sensitive ? '****' : String(v.value ?? '');
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
raw = String(value ?? '');
|
|
172
|
-
}
|
|
162
|
+
const raw = maskValue(value);
|
|
173
163
|
const displayValue = raw.length > 50 ? `${raw.substring(0, 47)}...` : raw;
|
|
174
164
|
console.log(` ${key}: ${colors.gray}${displayValue}${colors.reset}`);
|
|
175
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../../src/cli/commands/test/info.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../../../src/cli/commands/test/info.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BpC,eAAO,MAAM,WAAW,SAoGpB,CAAC"}
|
|
@@ -7,9 +7,9 @@ import { apiCall, paginationQuery, requireApiKey } from '../../lib/api-helpers.j
|
|
|
7
7
|
import { loadConfig } from '../../lib/config.js';
|
|
8
8
|
import { discoverTests, loadTestDefinition } from '../../lib/loader.js';
|
|
9
9
|
import { error, formatError } from '../../lib/output.js';
|
|
10
|
-
import { formatStatus, formatTimestamp, printTable
|
|
10
|
+
import { formatStatus, formatTimestamp, printTable } from '../../lib/table.js';
|
|
11
11
|
const cloudColumns = [
|
|
12
|
-
{ key: 'id', header: 'ID', width:
|
|
12
|
+
{ key: 'id', header: 'ID', width: 36 },
|
|
13
13
|
{ key: 'name', header: 'NAME' },
|
|
14
14
|
{ key: 'status', header: 'STATUS', format: (v) => formatStatus(String(v ?? '-')) },
|
|
15
15
|
{
|
|
@@ -20,6 +20,7 @@ const cloudColumns = [
|
|
|
20
20
|
{ key: 'updated_at', header: 'UPDATED', format: (v) => formatTimestamp(String(v ?? '')) },
|
|
21
21
|
];
|
|
22
22
|
const localColumns = [
|
|
23
|
+
{ key: 'id', header: 'ID', width: 36, format: (v) => (v ? String(v) : '-') },
|
|
23
24
|
{ key: 'name', header: 'NAME' },
|
|
24
25
|
{ key: 'steps', header: 'STEPS', width: 5 },
|
|
25
26
|
{ key: 'deps', header: 'DEPS' },
|
|
@@ -98,6 +99,7 @@ export const listCommand = new Command('list')
|
|
|
98
99
|
.relative(resolvedTestDir, file)
|
|
99
100
|
.replace(/\.(yaml|yml|json)$/, '');
|
|
100
101
|
rows.push({
|
|
102
|
+
id: def.id,
|
|
101
103
|
name: relativePath,
|
|
102
104
|
steps: def.steps?.length ?? '-',
|
|
103
105
|
deps: def.depends_on || '-',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cli/commands/test/list.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../src/cli/commands/test/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,35 @@ export declare const syncCommand: Command;
|
|
|
9
9
|
* @internal Exported for testing
|
|
10
10
|
*/
|
|
11
11
|
export declare function updateLocalVersionHash(filePath: string, versionHash: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Filter loaded definitions by a `--id` handle.
|
|
14
|
+
*
|
|
15
|
+
* The push CLI accepts either a UUID or a name as `--id`. UUIDs are
|
|
16
|
+
* unambiguous (test ids are unique by construction); names are NOT — multiple
|
|
17
|
+
* Test rows can legitimately share a `name`. This function returns:
|
|
18
|
+
*
|
|
19
|
+
* - `matched`: the local defs that match the handle (0, 1, or N entries).
|
|
20
|
+
* - `ambiguous`: true iff the handle was a *name* and matched ≥2 local defs.
|
|
21
|
+
* Callers render the disambiguation banner and exit 1 in that case.
|
|
22
|
+
*
|
|
23
|
+
* `ambiguous` is **never** set on the UUID branch — even if some pathological
|
|
24
|
+
* test row had a duplicate UUID, that's a backend invariant violation, not a
|
|
25
|
+
* client-side handle-resolution problem. Likewise, an empty `matched` array
|
|
26
|
+
* is not "ambiguous"; callers print a "not found" error in that case.
|
|
27
|
+
*
|
|
28
|
+
* @internal Exported for testing; the action handler in `pushToCloud` is the
|
|
29
|
+
* only production caller.
|
|
30
|
+
*/
|
|
31
|
+
export declare function filterDefinitionsByHandle(definitions: ReadonlyArray<{
|
|
32
|
+
def: TestDefinition;
|
|
33
|
+
file: string;
|
|
34
|
+
}>, testId: string): {
|
|
35
|
+
matched: Array<{
|
|
36
|
+
def: TestDefinition;
|
|
37
|
+
file: string;
|
|
38
|
+
}>;
|
|
39
|
+
ambiguous: boolean;
|
|
40
|
+
};
|
|
12
41
|
/**
|
|
13
42
|
* Present-tense verb for dry-run "Would <verb>: <name>" lines.
|
|
14
43
|
*
|
|
@@ -17,6 +46,37 @@ export declare function updateLocalVersionHash(filePath: string, versionHash: st
|
|
|
17
46
|
* imperative form so it reads grammatically.
|
|
18
47
|
*/
|
|
19
48
|
export declare function planVerb(action: string): string;
|
|
49
|
+
/**
|
|
50
|
+
* Map an imported result entry back to its local file safely.
|
|
51
|
+
*
|
|
52
|
+
* Names can collide within an org by design (Test.matrix is JSONB on a single
|
|
53
|
+
* row, so multiple rows legitimately share a `name`). The previous
|
|
54
|
+
* `id || name` fallback could silently target the wrong local file:
|
|
55
|
+
*
|
|
56
|
+
* 1. **Prefer id-match.** When the local def already has an id, that id is
|
|
57
|
+
* unambiguous — match on it first.
|
|
58
|
+
* 2. **Fall back to name-match only for brand-new defs.** A first-push def
|
|
59
|
+
* has no local id; the cloud has assigned one. We can still recover the
|
|
60
|
+
* mapping via name, but only when exactly one local def with that name
|
|
61
|
+
* has no id. If two un-id'd locals share a name, we refuse rather than
|
|
62
|
+
* pick the wrong one.
|
|
63
|
+
*
|
|
64
|
+
* Callers handle the `null` case explicitly (skip conflict-path push, log a
|
|
65
|
+
* warning before version_hash writeback, etc.).
|
|
66
|
+
*
|
|
67
|
+
* @internal Exported for testing; callers in this module are the only
|
|
68
|
+
* production consumers.
|
|
69
|
+
*/
|
|
70
|
+
export declare function findLocalForImported(imported: {
|
|
71
|
+
id: string;
|
|
72
|
+
name: string;
|
|
73
|
+
}, toImport: ReadonlyArray<{
|
|
74
|
+
def: TestDefinition;
|
|
75
|
+
file: string;
|
|
76
|
+
}>): {
|
|
77
|
+
def: TestDefinition;
|
|
78
|
+
file: string;
|
|
79
|
+
} | null;
|
|
20
80
|
/**
|
|
21
81
|
* Render the result of an importTestDefinition call: print per-test action
|
|
22
82
|
* summary, refresh local version_hash, and surface conflicts/errors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAcxE,eAAO,MAAM,WAAW,SAAiE,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/test/sync.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAcxE,eAAO,MAAM,WAAW,SAAiE,CAAC;AAqT1F;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKjG;AAQD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EACjE,MAAM,EAAE,MAAM,GACb;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAM/E;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAe/C;AAoGD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACtC,QAAQ,EAAE,aAAa,CAAC;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7D;IAAE,GAAG,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAM9C;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,OAAO,8BAA8B,EAAE,YAAY,EAC3D,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,cAAc,CAAA;CAAE,CAAC,EACtD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAsEf"}
|
|
@@ -5,7 +5,7 @@ import * as fs from 'node:fs/promises';
|
|
|
5
5
|
import * as path from 'node:path';
|
|
6
6
|
import { Command } from 'commander';
|
|
7
7
|
import * as yaml from 'yaml';
|
|
8
|
-
import { toSafeFilename } from '../../../utils/strings.js';
|
|
8
|
+
import { isUuid, toSafeFilename, toUniqueTestFilename } from '../../../utils/strings.js';
|
|
9
9
|
import { createApiClient, loadConfig } from '../../lib/config.js';
|
|
10
10
|
import { discoverTests, loadTestDefinition } from '../../lib/loader.js';
|
|
11
11
|
import { error, formatError, info, printValidationErrors, success, warning, } from '../../lib/output.js';
|
|
@@ -131,8 +131,8 @@ async function pullFromCloud(client, testDir, options = {}) {
|
|
|
131
131
|
continue;
|
|
132
132
|
}
|
|
133
133
|
if (dryRun) {
|
|
134
|
-
const
|
|
135
|
-
console.log(` Would pull: ${test.name} -> ${path.join(testDir, `${
|
|
134
|
+
const slug = toUniqueTestFilename(test.name, test.id);
|
|
135
|
+
console.log(` Would pull: ${test.name} -> ${path.join(testDir, `${slug}.yaml`)}`);
|
|
136
136
|
continue;
|
|
137
137
|
}
|
|
138
138
|
try {
|
|
@@ -147,8 +147,8 @@ async function pullFromCloud(client, testDir, options = {}) {
|
|
|
147
147
|
if (testDef.id && writtenIds.has(testDef.id)) {
|
|
148
148
|
continue;
|
|
149
149
|
}
|
|
150
|
-
const
|
|
151
|
-
const outputPath = path.join(testDir, `${
|
|
150
|
+
const slug = toUniqueTestFilename(testDef.name || testDef.id || '', testDef.id);
|
|
151
|
+
const outputPath = path.join(testDir, `${slug}.yaml`);
|
|
152
152
|
// Check if file exists
|
|
153
153
|
let exists = false;
|
|
154
154
|
try {
|
|
@@ -159,16 +159,23 @@ async function pullFromCloud(client, testDir, options = {}) {
|
|
|
159
159
|
// File doesn't exist
|
|
160
160
|
}
|
|
161
161
|
if (exists && !force) {
|
|
162
|
-
console.log(` Skip: ${
|
|
162
|
+
console.log(` Skip: ${slug}.yaml (exists, use --force to overwrite)`);
|
|
163
163
|
skipped++;
|
|
164
164
|
}
|
|
165
165
|
else {
|
|
166
166
|
// Serialize individual test (depends_on stays as UUID)
|
|
167
167
|
const testContent = yaml.stringify(testDef);
|
|
168
168
|
await fs.writeFile(outputPath, testContent, 'utf-8');
|
|
169
|
-
console.log(success(` ${
|
|
169
|
+
console.log(success(` ${slug}.yaml`));
|
|
170
170
|
pulled++;
|
|
171
171
|
}
|
|
172
|
+
// Warn about orphaned legacy files (un-suffixed slug from older qa-use
|
|
173
|
+
// versions). Names can collide across rows — the legacy file may
|
|
174
|
+
// represent a different test entirely. We never auto-delete; the user
|
|
175
|
+
// disambiguates by inspecting the `id` field.
|
|
176
|
+
if (testDef.id) {
|
|
177
|
+
await warnLegacyOrphan(testDir, testDef.name || testDef.id, testDef.id);
|
|
178
|
+
}
|
|
172
179
|
if (testDef.id) {
|
|
173
180
|
writtenIds.add(testDef.id);
|
|
174
181
|
}
|
|
@@ -186,6 +193,44 @@ async function pullFromCloud(client, testDir, options = {}) {
|
|
|
186
193
|
console.log(success(`Pulled ${pulled} test(s), skipped ${skipped}`));
|
|
187
194
|
}
|
|
188
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Warn about a legacy un-suffixed file from older qa-use versions.
|
|
198
|
+
*
|
|
199
|
+
* Pre-name-collision-fix versions wrote `${safeName}.yaml`. Now we always
|
|
200
|
+
* write `${safeName}-${shortId}.yaml`. After a fresh pull, the legacy file
|
|
201
|
+
* is left in place — it may belong to this test, or to a different test
|
|
202
|
+
* with the same name. We never auto-delete; we just nudge the user to
|
|
203
|
+
* inspect and clean up. Read the local file's `id` to make the message
|
|
204
|
+
* actionable.
|
|
205
|
+
*/
|
|
206
|
+
async function warnLegacyOrphan(testDir, testName, testId) {
|
|
207
|
+
const legacySlug = toSafeFilename(testName);
|
|
208
|
+
const legacyPath = path.join(testDir, `${legacySlug}.yaml`);
|
|
209
|
+
const newPath = path.join(testDir, `${toUniqueTestFilename(testName, testId)}.yaml`);
|
|
210
|
+
if (legacyPath === newPath)
|
|
211
|
+
return;
|
|
212
|
+
try {
|
|
213
|
+
await fs.access(legacyPath);
|
|
214
|
+
}
|
|
215
|
+
catch {
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
let legacyId;
|
|
219
|
+
try {
|
|
220
|
+
const raw = await fs.readFile(legacyPath, 'utf-8');
|
|
221
|
+
const parsed = yaml.parse(raw);
|
|
222
|
+
legacyId = parsed?.id;
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
// Unreadable / not YAML — still surface the orphan; user decides.
|
|
226
|
+
}
|
|
227
|
+
const ownership = legacyId === testId
|
|
228
|
+
? 'same id — safe to remove'
|
|
229
|
+
: legacyId
|
|
230
|
+
? `belongs to a different test (${legacyId}) — verify before removing`
|
|
231
|
+
: 'no `id` field — verify before removing';
|
|
232
|
+
console.log(warning(` Legacy file: ${legacySlug}.yaml (${ownership})`));
|
|
233
|
+
}
|
|
189
234
|
/**
|
|
190
235
|
* Write tests from YAML content to files
|
|
191
236
|
*/
|
|
@@ -198,8 +243,8 @@ async function writeTestsFromContent(content, testDir, force) {
|
|
|
198
243
|
let pulled = 0;
|
|
199
244
|
let skipped = 0;
|
|
200
245
|
for (const testDef of tests) {
|
|
201
|
-
const
|
|
202
|
-
const outputPath = path.join(testDir, `${
|
|
246
|
+
const slug = toUniqueTestFilename(testDef.name || testDef.id || '', testDef.id);
|
|
247
|
+
const outputPath = path.join(testDir, `${slug}.yaml`);
|
|
203
248
|
// Check if file exists
|
|
204
249
|
let exists = false;
|
|
205
250
|
try {
|
|
@@ -210,15 +255,18 @@ async function writeTestsFromContent(content, testDir, force) {
|
|
|
210
255
|
// File doesn't exist
|
|
211
256
|
}
|
|
212
257
|
if (exists && !force) {
|
|
213
|
-
console.log(` Skip: ${
|
|
258
|
+
console.log(` Skip: ${slug}.yaml (exists, use --force to overwrite)`);
|
|
214
259
|
skipped++;
|
|
215
260
|
}
|
|
216
261
|
else {
|
|
217
262
|
const testContent = yaml.stringify(testDef);
|
|
218
263
|
await fs.writeFile(outputPath, testContent, 'utf-8');
|
|
219
|
-
console.log(success(` ${
|
|
264
|
+
console.log(success(` ${slug}.yaml`));
|
|
220
265
|
pulled++;
|
|
221
266
|
}
|
|
267
|
+
if (testDef.id) {
|
|
268
|
+
await warnLegacyOrphan(testDir, testDef.name || testDef.id, testDef.id);
|
|
269
|
+
}
|
|
222
270
|
}
|
|
223
271
|
console.log('');
|
|
224
272
|
console.log(success(`Pulled ${pulled} test(s), skipped ${skipped}`));
|
|
@@ -233,6 +281,32 @@ export async function updateLocalVersionHash(filePath, versionHash) {
|
|
|
233
281
|
doc.set('version_hash', versionHash);
|
|
234
282
|
await fs.writeFile(filePath, doc.toString(), 'utf-8');
|
|
235
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* Filter loaded definitions by a `--id` handle.
|
|
286
|
+
*
|
|
287
|
+
* The push CLI accepts either a UUID or a name as `--id`. UUIDs are
|
|
288
|
+
* unambiguous (test ids are unique by construction); names are NOT — multiple
|
|
289
|
+
* Test rows can legitimately share a `name`. This function returns:
|
|
290
|
+
*
|
|
291
|
+
* - `matched`: the local defs that match the handle (0, 1, or N entries).
|
|
292
|
+
* - `ambiguous`: true iff the handle was a *name* and matched ≥2 local defs.
|
|
293
|
+
* Callers render the disambiguation banner and exit 1 in that case.
|
|
294
|
+
*
|
|
295
|
+
* `ambiguous` is **never** set on the UUID branch — even if some pathological
|
|
296
|
+
* test row had a duplicate UUID, that's a backend invariant violation, not a
|
|
297
|
+
* client-side handle-resolution problem. Likewise, an empty `matched` array
|
|
298
|
+
* is not "ambiguous"; callers print a "not found" error in that case.
|
|
299
|
+
*
|
|
300
|
+
* @internal Exported for testing; the action handler in `pushToCloud` is the
|
|
301
|
+
* only production caller.
|
|
302
|
+
*/
|
|
303
|
+
export function filterDefinitionsByHandle(definitions, testId) {
|
|
304
|
+
if (isUuid(testId)) {
|
|
305
|
+
return { matched: definitions.filter((d) => d.def.id === testId), ambiguous: false };
|
|
306
|
+
}
|
|
307
|
+
const matched = definitions.filter((d) => d.def.name === testId);
|
|
308
|
+
return { matched, ambiguous: matched.length > 1 };
|
|
309
|
+
}
|
|
236
310
|
/**
|
|
237
311
|
* Present-tense verb for dry-run "Would <verb>: <name>" lines.
|
|
238
312
|
*
|
|
@@ -283,15 +357,32 @@ async function pushToCloud(client, testDir, options = {}) {
|
|
|
283
357
|
console.log(error('No valid test definitions found'));
|
|
284
358
|
return;
|
|
285
359
|
}
|
|
286
|
-
// Filter to single test if --id provided
|
|
360
|
+
// Filter to single test if --id provided.
|
|
361
|
+
//
|
|
362
|
+
// A UUID-shaped --id is unambiguous (test ids are unique). A name-shaped
|
|
363
|
+
// --id is a convenience: it works only when exactly one local test
|
|
364
|
+
// matches that name. Names can collide by design — if the local test
|
|
365
|
+
// directory has multiple files with the same `name`, refuse the operation
|
|
366
|
+
// and ask the user to disambiguate by UUID.
|
|
287
367
|
let toImport = definitions;
|
|
288
368
|
if (testId) {
|
|
289
|
-
|
|
290
|
-
if (
|
|
369
|
+
const { matched, ambiguous } = filterDefinitionsByHandle(definitions, testId);
|
|
370
|
+
if (ambiguous) {
|
|
371
|
+
console.log(error(`Ambiguous: '${testId}' matches ${matched.length} local tests by name`));
|
|
372
|
+
for (const d of matched) {
|
|
373
|
+
const rel = path.relative(testDir, d.file);
|
|
374
|
+
console.log(` - ${d.def.id ?? '<no-id>'} (${rel})`);
|
|
375
|
+
}
|
|
376
|
+
console.log('');
|
|
377
|
+
console.log(' Names can collide. Use --id <uuid> to disambiguate.');
|
|
378
|
+
process.exit(1);
|
|
379
|
+
}
|
|
380
|
+
if (matched.length === 0) {
|
|
291
381
|
console.log(error(`Test not found: ${testId}`));
|
|
292
382
|
console.log(' Searched by ID and name in local test files');
|
|
293
383
|
process.exit(1);
|
|
294
384
|
}
|
|
385
|
+
toImport = matched;
|
|
295
386
|
console.log(`Found ${toImport.length} matching test(s)\n`);
|
|
296
387
|
}
|
|
297
388
|
else {
|
|
@@ -319,6 +410,36 @@ async function pushToCloud(client, testDir, options = {}) {
|
|
|
319
410
|
const result = await client.importTestDefinition(toImport.map((d) => d.def), { upsert: true, force });
|
|
320
411
|
await renderImportResult(result, toImport, testDir);
|
|
321
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* Map an imported result entry back to its local file safely.
|
|
415
|
+
*
|
|
416
|
+
* Names can collide within an org by design (Test.matrix is JSONB on a single
|
|
417
|
+
* row, so multiple rows legitimately share a `name`). The previous
|
|
418
|
+
* `id || name` fallback could silently target the wrong local file:
|
|
419
|
+
*
|
|
420
|
+
* 1. **Prefer id-match.** When the local def already has an id, that id is
|
|
421
|
+
* unambiguous — match on it first.
|
|
422
|
+
* 2. **Fall back to name-match only for brand-new defs.** A first-push def
|
|
423
|
+
* has no local id; the cloud has assigned one. We can still recover the
|
|
424
|
+
* mapping via name, but only when exactly one local def with that name
|
|
425
|
+
* has no id. If two un-id'd locals share a name, we refuse rather than
|
|
426
|
+
* pick the wrong one.
|
|
427
|
+
*
|
|
428
|
+
* Callers handle the `null` case explicitly (skip conflict-path push, log a
|
|
429
|
+
* warning before version_hash writeback, etc.).
|
|
430
|
+
*
|
|
431
|
+
* @internal Exported for testing; callers in this module are the only
|
|
432
|
+
* production consumers.
|
|
433
|
+
*/
|
|
434
|
+
export function findLocalForImported(imported, toImport) {
|
|
435
|
+
const byId = toImport.find((d) => d.def.id === imported.id);
|
|
436
|
+
if (byId)
|
|
437
|
+
return byId;
|
|
438
|
+
const candidates = toImport.filter((d) => !d.def.id && d.def.name === imported.name);
|
|
439
|
+
if (candidates.length === 1)
|
|
440
|
+
return candidates[0];
|
|
441
|
+
return null;
|
|
442
|
+
}
|
|
322
443
|
/**
|
|
323
444
|
* Render the result of an importTestDefinition call: print per-test action
|
|
324
445
|
* summary, refresh local version_hash, and surface conflicts/errors.
|
|
@@ -345,7 +466,7 @@ export async function renderImportResult(result, toImport, testDir) {
|
|
|
345
466
|
break;
|
|
346
467
|
case 'conflict': {
|
|
347
468
|
console.log(warning(` CONFLICT: ${imported.name} - ${imported.message}`));
|
|
348
|
-
const localDef =
|
|
469
|
+
const localDef = findLocalForImported(imported, toImport);
|
|
349
470
|
if (localDef) {
|
|
350
471
|
const relPath = path.relative(testDir, localDef.file);
|
|
351
472
|
const nameWithoutExt = relPath.replace(/\.(yaml|yml|json)$/, '');
|
|
@@ -361,14 +482,16 @@ export async function renderImportResult(result, toImport, testDir) {
|
|
|
361
482
|
// Update local files with new version_hash after successful push
|
|
362
483
|
for (const imported of result.imported) {
|
|
363
484
|
if (imported.version_hash && (imported.action === 'created' || imported.action === 'updated')) {
|
|
364
|
-
const localDef =
|
|
365
|
-
if (localDef) {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
485
|
+
const localDef = findLocalForImported(imported, toImport);
|
|
486
|
+
if (!localDef) {
|
|
487
|
+
console.log(warning(` Could not unambiguously map imported '${imported.name}' back to a local file — version_hash not updated. Pull or push by --id <uuid> to resolve.`));
|
|
488
|
+
continue;
|
|
489
|
+
}
|
|
490
|
+
try {
|
|
491
|
+
await updateLocalVersionHash(localDef.file, imported.version_hash);
|
|
492
|
+
}
|
|
493
|
+
catch (err) {
|
|
494
|
+
console.log(warning(` Failed to update version_hash in ${localDef.file}: ${formatError(err)}`));
|
|
372
495
|
}
|
|
373
496
|
}
|
|
374
497
|
}
|