@provartesting/provardx-cli 1.5.0-dev.1 → 1.5.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 +163 -13
- package/bin/mcp-start.js +74 -0
- package/lib/commands/provar/auth/clear.d.ts +7 -0
- package/lib/commands/provar/auth/clear.js +36 -0
- package/lib/commands/provar/auth/clear.js.map +1 -0
- package/lib/commands/provar/auth/login.d.ts +10 -0
- package/lib/commands/provar/auth/login.js +90 -0
- package/lib/commands/provar/auth/login.js.map +1 -0
- package/lib/commands/provar/auth/rotate.d.ts +7 -0
- package/lib/commands/provar/auth/rotate.js +42 -0
- package/lib/commands/provar/auth/rotate.js.map +1 -0
- package/lib/commands/provar/auth/status.d.ts +7 -0
- package/lib/commands/provar/auth/status.js +107 -0
- package/lib/commands/provar/auth/status.js.map +1 -0
- package/lib/commands/provar/mcp/start.d.ts +2 -0
- package/lib/commands/provar/mcp/start.js +14 -1
- package/lib/commands/provar/mcp/start.js.map +1 -1
- package/lib/mcp/docs/NITROX_CATALOG_SOURCE.json +6 -0
- package/lib/mcp/docs/NITROX_COMPONENT_CATALOG.md +2001 -0
- package/lib/mcp/docs/PROVAR_TEST_STEP_REFERENCE.md +1430 -0
- package/lib/mcp/docs/PROVAR_TOOL_GUIDE.md +175 -0
- package/lib/mcp/licensing/algasClient.js +14 -5
- package/lib/mcp/licensing/algasClient.js.map +1 -1
- package/lib/mcp/licensing/ideDetection.d.ts +0 -12
- package/lib/mcp/licensing/ideDetection.js +1 -73
- package/lib/mcp/licensing/ideDetection.js.map +1 -1
- package/lib/mcp/licensing/licenseCache.js +7 -1
- package/lib/mcp/licensing/licenseCache.js.map +1 -1
- package/lib/mcp/licensing/licenseValidator.d.ts +3 -3
- package/lib/mcp/licensing/licenseValidator.js +11 -4
- package/lib/mcp/licensing/licenseValidator.js.map +1 -1
- package/lib/mcp/prompts/guidePrompts.d.ts +4 -0
- package/lib/mcp/prompts/guidePrompts.js +324 -0
- package/lib/mcp/prompts/guidePrompts.js.map +1 -0
- package/lib/mcp/prompts/index.d.ts +2 -0
- package/lib/mcp/prompts/index.js +23 -0
- package/lib/mcp/prompts/index.js.map +1 -0
- package/lib/mcp/prompts/loopPrompts.d.ts +6 -0
- package/lib/mcp/prompts/loopPrompts.js +435 -0
- package/lib/mcp/prompts/loopPrompts.js.map +1 -0
- package/lib/mcp/prompts/migrationPrompts.d.ts +4 -0
- package/lib/mcp/prompts/migrationPrompts.js +207 -0
- package/lib/mcp/prompts/migrationPrompts.js.map +1 -0
- package/lib/mcp/rules/provar_best_practices_rules.json +256 -544
- package/lib/mcp/security/pathPolicy.d.ts +5 -0
- package/lib/mcp/security/pathPolicy.js +58 -3
- package/lib/mcp/security/pathPolicy.js.map +1 -1
- package/lib/mcp/server.d.ts +17 -0
- package/lib/mcp/server.js +151 -6
- package/lib/mcp/server.js.map +1 -1
- package/lib/mcp/tools/antTools.d.ts +15 -0
- package/lib/mcp/tools/antTools.js +347 -170
- package/lib/mcp/tools/antTools.js.map +1 -1
- package/lib/mcp/tools/automationTools.d.ts +18 -8
- package/lib/mcp/tools/automationTools.js +332 -176
- package/lib/mcp/tools/automationTools.js.map +1 -1
- package/lib/mcp/tools/bestPracticesEngine.js +161 -23
- package/lib/mcp/tools/bestPracticesEngine.js.map +1 -1
- package/lib/mcp/tools/connectionTools.d.ts +4 -0
- package/lib/mcp/tools/connectionTools.js +172 -0
- package/lib/mcp/tools/connectionTools.js.map +1 -0
- package/lib/mcp/tools/defectTools.d.ts +1 -1
- package/lib/mcp/tools/defectTools.js +56 -50
- package/lib/mcp/tools/defectTools.js.map +1 -1
- package/lib/mcp/tools/hierarchyValidate.d.ts +1 -1
- package/lib/mcp/tools/hierarchyValidate.js +127 -42
- package/lib/mcp/tools/hierarchyValidate.js.map +1 -1
- package/lib/mcp/tools/nitroXTools.d.ts +23 -0
- package/lib/mcp/tools/nitroXTools.js +823 -0
- package/lib/mcp/tools/nitroXTools.js.map +1 -0
- package/lib/mcp/tools/pageObjectGenerate.js +132 -57
- package/lib/mcp/tools/pageObjectGenerate.js.map +1 -1
- package/lib/mcp/tools/pageObjectValidate.js +136 -46
- package/lib/mcp/tools/pageObjectValidate.js.map +1 -1
- package/lib/mcp/tools/projectInspect.js +51 -30
- package/lib/mcp/tools/projectInspect.js.map +1 -1
- package/lib/mcp/tools/projectValidateFromPath.js +70 -49
- package/lib/mcp/tools/projectValidateFromPath.js.map +1 -1
- package/lib/mcp/tools/propertiesTools.d.ts +2 -0
- package/lib/mcp/tools/propertiesTools.js +332 -78
- package/lib/mcp/tools/propertiesTools.js.map +1 -1
- package/lib/mcp/tools/qualityHubApiTools.d.ts +3 -0
- package/lib/mcp/tools/qualityHubApiTools.js +138 -0
- package/lib/mcp/tools/qualityHubApiTools.js.map +1 -0
- package/lib/mcp/tools/qualityHubTools.js +219 -70
- package/lib/mcp/tools/qualityHubTools.js.map +1 -1
- package/lib/mcp/tools/rcaTools.d.ts +3 -2
- package/lib/mcp/tools/rcaTools.js +189 -56
- package/lib/mcp/tools/rcaTools.js.map +1 -1
- package/lib/mcp/tools/sfSpawn.d.ts +25 -3
- package/lib/mcp/tools/sfSpawn.js +154 -6
- package/lib/mcp/tools/sfSpawn.js.map +1 -1
- package/lib/mcp/tools/testCaseGenerate.js +226 -78
- package/lib/mcp/tools/testCaseGenerate.js.map +1 -1
- package/lib/mcp/tools/testCaseStepTools.d.ts +4 -0
- package/lib/mcp/tools/testCaseStepTools.js +226 -0
- package/lib/mcp/tools/testCaseStepTools.js.map +1 -0
- package/lib/mcp/tools/testCaseValidate.d.ts +11 -0
- package/lib/mcp/tools/testCaseValidate.js +307 -46
- package/lib/mcp/tools/testCaseValidate.js.map +1 -1
- package/lib/mcp/tools/testPlanTools.d.ts +1 -0
- package/lib/mcp/tools/testPlanTools.js +299 -59
- package/lib/mcp/tools/testPlanTools.js.map +1 -1
- package/lib/mcp/tools/testPlanValidate.js +56 -18
- package/lib/mcp/tools/testPlanValidate.js.map +1 -1
- package/lib/mcp/tools/testSuiteValidate.js +37 -11
- package/lib/mcp/tools/testSuiteValidate.js.map +1 -1
- package/lib/mcp/update/updateChecker.d.ts +14 -0
- package/lib/mcp/update/updateChecker.js +228 -0
- package/lib/mcp/update/updateChecker.js.map +1 -0
- package/lib/services/auth/credentials.d.ts +21 -0
- package/lib/services/auth/credentials.js +75 -0
- package/lib/services/auth/credentials.js.map +1 -0
- package/lib/services/auth/loginFlow.d.ts +68 -0
- package/lib/services/auth/loginFlow.js +216 -0
- package/lib/services/auth/loginFlow.js.map +1 -0
- package/lib/services/projectValidation.d.ts +5 -2
- package/lib/services/projectValidation.js +83 -31
- package/lib/services/projectValidation.js.map +1 -1
- package/lib/services/qualityHub/client.d.ts +161 -0
- package/lib/services/qualityHub/client.js +226 -0
- package/lib/services/qualityHub/client.js.map +1 -0
- package/messages/sf.provar.auth.clear.md +16 -0
- package/messages/sf.provar.auth.login.md +31 -0
- package/messages/sf.provar.auth.rotate.md +23 -0
- package/messages/sf.provar.auth.status.md +16 -0
- package/messages/sf.provar.mcp.start.md +83 -48
- package/oclif.manifest.json +299 -2
- package/package.json +23 -12
|
@@ -10,30 +10,31 @@ import { makeError, makeRequestId } from '../schemas/common.js';
|
|
|
10
10
|
import { log } from '../logging/logger.js';
|
|
11
11
|
import { runSfCommand, soqlEscape } from './sfSpawn.js';
|
|
12
12
|
// ── SF CLI helpers ─────────────────────────────────────────────────────────────
|
|
13
|
-
function runSfArgs(args) {
|
|
14
|
-
const { stdout, exitCode } = runSfCommand(args);
|
|
15
|
-
return { stdout, exitCode };
|
|
13
|
+
function runSfArgs(args, sfPath) {
|
|
14
|
+
const { stdout, stderr, exitCode } = runSfCommand(args, sfPath);
|
|
15
|
+
return { stdout, stderr, exitCode };
|
|
16
16
|
}
|
|
17
|
-
function
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
function formatSfCommandError(action, exitCode, stderr, stdout) {
|
|
18
|
+
const details = [stderr?.trim(), stdout?.trim()].filter(Boolean).join('\n');
|
|
19
|
+
return details
|
|
20
|
+
? `${action} failed with exit code ${exitCode}: ${details}`
|
|
21
|
+
: `${action} failed with exit code ${exitCode}`;
|
|
22
|
+
}
|
|
23
|
+
function runQuery(soql, targetOrg, sfPath) {
|
|
24
|
+
const { stdout, stderr, exitCode } = runSfArgs(['data', 'query', '--query', soql, '--target-org', targetOrg, '--json'], sfPath);
|
|
25
|
+
if (exitCode !== 0) {
|
|
26
|
+
throw new Error(formatSfCommandError('Salesforce query', exitCode, stderr, stdout));
|
|
27
|
+
}
|
|
24
28
|
return JSON.parse(stdout);
|
|
25
29
|
}
|
|
26
|
-
function createRecord(sobject, values, targetOrg) {
|
|
27
|
-
const { stdout } = runSfArgs([
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
'--target-org', targetOrg,
|
|
32
|
-
'--json',
|
|
33
|
-
]);
|
|
30
|
+
function createRecord(sobject, values, targetOrg, sfPath) {
|
|
31
|
+
const { stdout, stderr, exitCode } = runSfArgs(['data', 'create', 'record', '--sobject', sobject, '--values', values, '--target-org', targetOrg, '--json'], sfPath);
|
|
32
|
+
if (exitCode !== 0) {
|
|
33
|
+
throw new Error(formatSfCommandError(`Failed to create ${sobject}`, exitCode, stderr, stdout));
|
|
34
|
+
}
|
|
34
35
|
const parsed = JSON.parse(stdout);
|
|
35
36
|
if (!parsed.result?.success) {
|
|
36
|
-
throw new Error(`Failed to create ${sobject}
|
|
37
|
+
throw new Error(formatSfCommandError(`Failed to create ${sobject}`, exitCode, stderr, stdout));
|
|
37
38
|
}
|
|
38
39
|
return parsed.result.id;
|
|
39
40
|
}
|
|
@@ -41,14 +42,11 @@ function createRecord(sobject, values, targetOrg) {
|
|
|
41
42
|
function safeText(value, maxLen = 200) {
|
|
42
43
|
if (value === null || value === undefined)
|
|
43
44
|
return '';
|
|
44
|
-
return String(value)
|
|
45
|
-
.replace(/"/g, "'")
|
|
46
|
-
.replace(/\n|\r/g, ' ')
|
|
47
|
-
.substring(0, maxLen);
|
|
45
|
+
return String(value).replace(/"/g, "'").replace(/\n|\r/g, ' ').substring(0, maxLen);
|
|
48
46
|
}
|
|
49
|
-
export function createDefectsForRun(runId, targetOrg, failedTestFilter) {
|
|
47
|
+
export function createDefectsForRun(runId, targetOrg, failedTestFilter, sfPath) {
|
|
50
48
|
// Step 1: resolve job record ID from tracking ID
|
|
51
|
-
const jobQuery = runQuery(`SELECT Id FROM provar__Test_Plan_Schedule_Job__c WHERE provar__Tracking_Id__c = '${soqlEscape(runId)}'`, targetOrg);
|
|
49
|
+
const jobQuery = runQuery(`SELECT Id FROM provar__Test_Plan_Schedule_Job__c WHERE provar__Tracking_Id__c = '${soqlEscape(runId)}'`, targetOrg, sfPath);
|
|
52
50
|
if (jobQuery.result.totalSize === 0) {
|
|
53
51
|
throw new Error(`No Test_Plan_Schedule_Job__c found with Tracking_Id__c = '${runId}'`);
|
|
54
52
|
}
|
|
@@ -57,7 +55,7 @@ export function createDefectsForRun(runId, targetOrg, failedTestFilter) {
|
|
|
57
55
|
const cycleQuery = runQuery(`SELECT Id, provar__Web_Browser__c, provar__Browser_Version__c, provar__Environment_Text__c
|
|
58
56
|
FROM provar__Test_Cycle__c
|
|
59
57
|
WHERE provar__Test_Plan_Schedule_Job__c = '${soqlEscape(jobId)}'
|
|
60
|
-
LIMIT 1`, targetOrg);
|
|
58
|
+
LIMIT 1`, targetOrg, sfPath);
|
|
61
59
|
const cycle = cycleQuery.result.records[0] ?? {};
|
|
62
60
|
const browser = safeText(cycle['provar__Web_Browser__c'], 100);
|
|
63
61
|
const browserVersion = safeText(cycle['provar__Browser_Version__c'], 100);
|
|
@@ -70,7 +68,7 @@ export function createDefectsForRun(runId, targetOrg, failedTestFilter) {
|
|
|
70
68
|
const execQuery = runQuery(`SELECT Id, provar__Test_Case__c, provar__Tester__c
|
|
71
69
|
FROM provar__Test_Execution__c
|
|
72
70
|
WHERE provar__Test_Cycle__c = '${soqlEscape(cycleId)}'
|
|
73
|
-
AND provar__Status__c = 'Failed'`, targetOrg);
|
|
71
|
+
AND provar__Status__c = 'Failed'`, targetOrg, sfPath);
|
|
74
72
|
if (execQuery.result.totalSize === 0) {
|
|
75
73
|
return { created: [], skipped: 0, message: 'No failed test executions found for this run.' };
|
|
76
74
|
}
|
|
@@ -91,7 +89,7 @@ export function createDefectsForRun(runId, targetOrg, failedTestFilter) {
|
|
|
91
89
|
WHERE provar__Test_Execution__c = '${soqlEscape(executionId)}'
|
|
92
90
|
AND provar__Result__c = 'Fail'
|
|
93
91
|
ORDER BY provar__Sequence_No__c ASC
|
|
94
|
-
LIMIT 1`, targetOrg);
|
|
92
|
+
LIMIT 1`, targetOrg, sfPath);
|
|
95
93
|
const step = stepQuery.result.records[0] ?? {};
|
|
96
94
|
const stepExecutionId = step['Id'] ?? '';
|
|
97
95
|
const stepId = String(step['provar__Test_Step__c'] ?? '');
|
|
@@ -126,17 +124,17 @@ export function createDefectsForRun(runId, targetOrg, failedTestFilter) {
|
|
|
126
124
|
const defectValues = `Name="TC Failure: ${safeText(testCaseId, 100)}" ` +
|
|
127
125
|
`provar__Description__c="${safeText(descLines, 2000)}" ` +
|
|
128
126
|
'provar__Status__c="Open"';
|
|
129
|
-
const defectId = createRecord('provar__Defect__c', defectValues, targetOrg);
|
|
127
|
+
const defectId = createRecord('provar__Defect__c', defectValues, targetOrg, sfPath);
|
|
130
128
|
// Step 5b: link TC → Defect
|
|
131
129
|
const tcDefectValues = `provar__Defect__c="${defectId}" ` +
|
|
132
130
|
`provar__Test_Case__c="${testCaseId}"` +
|
|
133
131
|
(stepId ? ` provar__Test_Step__c="${stepId}"` : '');
|
|
134
|
-
const tcDefectId = createRecord('provar__Test_Case_Defect__c', tcDefectValues, targetOrg);
|
|
132
|
+
const tcDefectId = createRecord('provar__Test_Case_Defect__c', tcDefectValues, targetOrg, sfPath);
|
|
135
133
|
// Step 5c: link Execution → Defect (with step execution if available)
|
|
136
134
|
const execDefectValues = `provar__Defect__c="${defectId}" ` +
|
|
137
135
|
`provar__Test_Execution__c="${executionId}"` +
|
|
138
136
|
(stepExecutionId ? ` provar__Test_Step_Execution__c="${stepExecutionId}"` : '');
|
|
139
|
-
const execDefectId = createRecord('provar__Test_Execution_Defect__c', execDefectValues, targetOrg);
|
|
137
|
+
const execDefectId = createRecord('provar__Test_Execution_Defect__c', execDefectValues, targetOrg, sfPath);
|
|
140
138
|
log('info', 'defect created', { defectId, tcDefectId, execDefectId, executionId });
|
|
141
139
|
created.push({ defectId, tcDefectId, execDefectId, executionId, testCaseId });
|
|
142
140
|
}
|
|
@@ -149,26 +147,34 @@ export function createDefectsForRun(runId, targetOrg, failedTestFilter) {
|
|
|
149
147
|
}
|
|
150
148
|
// ── Tool registration ──────────────────────────────────────────────────────────
|
|
151
149
|
export function registerQualityHubDefectCreate(server) {
|
|
152
|
-
server.
|
|
153
|
-
'Create
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
150
|
+
server.registerTool('provar_qualityhub_defect_create', {
|
|
151
|
+
title: 'Create Defects',
|
|
152
|
+
description: [
|
|
153
|
+
'Create Defect__c records in Quality Hub for failed test executions in a given run.',
|
|
154
|
+
'Queries the run by Tracking_Id__c, finds failed Test_Execution__c records, creates a',
|
|
155
|
+
'Defect__c per failure (with description, step, browser, environment, tester), and links',
|
|
156
|
+
'it via Test_Case_Defect__c and Test_Execution_Defect__c junction records.',
|
|
157
|
+
'If Jira or ADO sync is configured in Quality Hub, defects sync to those systems automatically.',
|
|
158
|
+
].join(' '),
|
|
159
|
+
inputSchema: {
|
|
160
|
+
run_id: z.string().describe('Test run Tracking_Id__c value returned by provar_qualityhub_testrun'),
|
|
161
|
+
target_org: z.string().describe('SF org alias or username for the Quality Hub org'),
|
|
162
|
+
failed_tests: z
|
|
163
|
+
.array(z.string())
|
|
164
|
+
.optional()
|
|
165
|
+
.describe('Optional filter — list of Test_Case__c record ID substrings to restrict defect creation to specific failures'),
|
|
166
|
+
sf_path: z
|
|
167
|
+
.string()
|
|
168
|
+
.optional()
|
|
169
|
+
.describe('Path to the sf CLI executable when not in PATH ' +
|
|
170
|
+
'(e.g. "C:\\\\Program Files\\\\sf\\\\bin\\\\sf.cmd" for the Windows standalone installer). ' +
|
|
171
|
+
'Leave unset to use auto-discovery.'),
|
|
172
|
+
},
|
|
173
|
+
}, ({ run_id, target_org, failed_tests, sf_path }) => {
|
|
168
174
|
const requestId = makeRequestId();
|
|
169
|
-
log('info', '
|
|
175
|
+
log('info', 'provar_qualityhub_defect_create', { requestId, run_id, target_org });
|
|
170
176
|
try {
|
|
171
|
-
const result = createDefectsForRun(run_id, target_org, failed_tests);
|
|
177
|
+
const result = createDefectsForRun(run_id, target_org, failed_tests, sf_path);
|
|
172
178
|
const response = { requestId, ...result };
|
|
173
179
|
return {
|
|
174
180
|
content: [{ type: 'text', text: JSON.stringify(response) }],
|
|
@@ -177,7 +183,7 @@ export function registerQualityHubDefectCreate(server) {
|
|
|
177
183
|
}
|
|
178
184
|
catch (err) {
|
|
179
185
|
const error = err;
|
|
180
|
-
log('error', '
|
|
186
|
+
log('error', 'provar_qualityhub_defect_create failed', {
|
|
181
187
|
requestId,
|
|
182
188
|
error: error.message,
|
|
183
189
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defectTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/defectTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAiCxD,kFAAkF;AAElF,SAAS,SAAS,CAAC,IAAc;
|
|
1
|
+
{"version":3,"file":"defectTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/defectTools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8BAA8B;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAiCxD,kFAAkF;AAElF,SAAS,SAAS,CAAC,IAAc,EAAE,MAAe;IAChD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,MAAc;IAC5F,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,OAAO;QACZ,CAAC,CAAC,GAAG,MAAM,0BAA0B,QAAQ,KAAK,OAAO,EAAE;QAC3D,CAAC,CAAC,GAAG,MAAM,0BAA0B,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,SAAiB,EAAE,MAAe;IAChE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAC5C,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,EACvE,MAAM,CACP,CAAC;IACF,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAoB,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc,EAAE,SAAiB,EAAE,MAAe;IACvF,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAC5C,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC3G,MAAM,CACP,CAAC;IACF,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,oBAAoB,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAqB,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,oBAAoB,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC1B,CAAC;AAED,kFAAkF;AAClF,SAAS,QAAQ,CAAC,KAAc,EAAE,MAAM,GAAG,GAAG;IAC5C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACtF,CAAC;AAYD,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,SAAiB,EACjB,gBAA2B,EAC3B,MAAe;IAEf,iDAAiD;IACjD,MAAM,QAAQ,GAAG,QAAQ,CACvB,oFAAoF,UAAU,CAAC,KAAK,CAAC,GAAG,EACxG,SAAS,EACT,MAAM,CACP,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,6DAA6D,KAAK,GAAG,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5C,qEAAqE;IACrE,MAAM,UAAU,GAAG,QAAQ,CACzB;;kDAE8C,UAAU,CAAC,KAAK,CAAC;aACtD,EACT,SAAS,EACT,MAAM,CACP,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,4BAA4B,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,6BAA6B,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,gDAAgD;IAChD,MAAM,SAAS,GAAG,QAAQ,CACxB;;sCAEkC,UAAU,CAAC,OAAO,CAAC;sCACnB,EAClC,SAAS,EACT,MAAM,CACP,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;IAC/F,CAAC;IAED,IAAI,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC;IAE1C,oGAAoG;IACpG,uEAAuE;IACvE,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,gBAAgB,CAAC,IAAI,CACnB,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CACtG,CACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC,CAAC;QAExD,8CAA8C;QAC9C,MAAM,SAAS,GAAG,QAAQ,CACxB;;4CAEsC,UAAU,CAAC,WAAW,CAAC;;;eAGpD,EACT,SAAS,EACT,MAAM,CACP,CAAC;QAEF,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,GAAG,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5D,MAAM,GAAG,GAAmB;YAC1B,WAAW;YACX,UAAU;YACV,MAAM;YACN,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC;YACxC,MAAM;YACN,UAAU;YACV,UAAU;YACV,OAAO;YACP,OAAO;YACP,cAAc;YACd,WAAW,EAAE,eAAe;SAC7B,CAAC;QAEF,4BAA4B;QAC5B,MAAM,SAAS,GAAG;YAChB,YAAY,GAAG,CAAC,UAAU,IAAI,gCAAgC,EAAE;YAChE,QAAQ,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,UAAU,EAAE;YACxC,YAAY,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE;YACtD,gBAAgB,GAAG,CAAC,WAAW,EAAE;YACjC,WAAW,GAAG,CAAC,MAAM,EAAE;YACvB,sBAAsB,GAAG,CAAC,WAAW,EAAE;YACvC,WAAW,KAAK,EAAE;SACnB;aACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,MAAM,YAAY,GAChB,qBAAqB,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI;YAClD,2BAA2B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI;YACxD,0BAA0B,CAAC;QAE7B,MAAM,QAAQ,GAAG,YAAY,CAAC,mBAAmB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAEpF,4BAA4B;QAC5B,MAAM,cAAc,GAClB,sBAAsB,QAAQ,IAAI;YAClC,yBAAyB,UAAU,GAAG;YACtC,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEtD,MAAM,UAAU,GAAG,YAAY,CAAC,6BAA6B,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAElG,sEAAsE;QACtE,MAAM,gBAAgB,GACpB,sBAAsB,QAAQ,IAAI;YAClC,8BAA8B,WAAW,GAAG;YAC5C,CAAC,eAAe,CAAC,CAAC,CAAC,oCAAoC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,YAAY,GAAG,YAAY,CAAC,kCAAkC,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAE3G,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC;QAEnF,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,QAAQ,GAAG,gGAAgG,CAAC;IAClH,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM;QACpD,OAAO,EAAE,WAAW,OAAO,CAAC,MAAM,sBAAsB,KAAK,KAAK,QAAQ,EAAE;KAC7E,CAAC;AACJ,CAAC;AAED,kFAAkF;AAElF,MAAM,UAAU,8BAA8B,CAAC,MAAiB;IAC9D,MAAM,CAAC,YAAY,CACjB,iCAAiC,EACjC;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE;YACX,oFAAoF;YACpF,sFAAsF;YACtF,yFAAyF;YACzF,2EAA2E;YAC3E,gGAAgG;SACjG,CAAC,IAAI,CAAC,GAAG,CAAC;QACX,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;YAClG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACnF,YAAY,EAAE,CAAC;iBACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,8GAA8G,CAC/G;YACH,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,iDAAiD;gBAC/C,4FAA4F;gBAC5F,oCAAoC,CACvC;SACJ;KACF,EACD,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE;QAChD,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,iCAAiC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpE,iBAAiB,EAAE,QAAQ;aAC5B,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAgC,CAAC;YAC/C,GAAG,CAAC,OAAO,EAAE,wCAAwC,EAAE;gBACrD,SAAS;gBACT,KAAK,EAAE,KAAK,CAAC,OAAO;aACrB,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,IAAa;gBACtB,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,sBAAsB,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;qBACvG;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,8BAA8B,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -36,7 +36,7 @@ export interface ProjectContext {
|
|
|
36
36
|
secretsPasswordSet?: boolean;
|
|
37
37
|
/**
|
|
38
38
|
* Number of keys in the .secrets file whose values are NOT wrapped in ENC1().
|
|
39
|
-
* Populated by
|
|
39
|
+
* Populated by provar_project_inspect → secrets_validation.unencrypted_key_count.
|
|
40
40
|
* Any value > 0 triggers PROJ-ENC-001.
|
|
41
41
|
*/
|
|
42
42
|
unencrypted_secret_count?: number;
|
|
@@ -10,33 +10,108 @@ import { XMLParser } from 'fast-xml-parser';
|
|
|
10
10
|
import { validateTestCase } from './testCaseValidate.js';
|
|
11
11
|
// ── Rule registry (ported from batch_validator/handler.py) ───────────────────
|
|
12
12
|
const RULE_REGISTRY = {
|
|
13
|
-
'SUITE-EMPTY-001': {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
'SUITE-
|
|
18
|
-
|
|
13
|
+
'SUITE-EMPTY-001': {
|
|
14
|
+
name: 'Empty Test Suite',
|
|
15
|
+
description: 'A test suite must contain at least one test case or child suite.',
|
|
16
|
+
},
|
|
17
|
+
'SUITE-DUP-001': {
|
|
18
|
+
name: 'Duplicate Test Case Name in Suite',
|
|
19
|
+
description: 'Test case names within a suite must be unique.',
|
|
20
|
+
},
|
|
21
|
+
'SUITE-DUP-002': {
|
|
22
|
+
name: 'Duplicate Child Suite Name',
|
|
23
|
+
description: 'Child suite names within a parent suite must be unique.',
|
|
24
|
+
},
|
|
25
|
+
'SUITE-SIZE-001': {
|
|
26
|
+
name: 'Oversized Test Suite',
|
|
27
|
+
description: 'A test suite should contain no more than 75 test cases.',
|
|
28
|
+
},
|
|
29
|
+
'SUITE-NAMING-001': {
|
|
30
|
+
name: 'Inconsistent Child Suite Naming',
|
|
31
|
+
description: 'All child suite names should follow a consistent naming convention.',
|
|
32
|
+
},
|
|
33
|
+
'SUITE-NAMING-002': {
|
|
34
|
+
name: 'Inconsistent Test Case Naming',
|
|
35
|
+
description: 'All test case names within a suite should follow a consistent naming convention.',
|
|
36
|
+
},
|
|
19
37
|
'PLAN-EMPTY-001': { name: 'Empty Test Plan', description: 'A test plan must contain at least one test suite.' },
|
|
20
|
-
'PLAN-DUP-001': {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
'PLAN-META-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
'PLAN-
|
|
29
|
-
|
|
38
|
+
'PLAN-DUP-001': {
|
|
39
|
+
name: 'Duplicate Suite Name in Plan',
|
|
40
|
+
description: 'Suite names within a test plan must be unique.',
|
|
41
|
+
},
|
|
42
|
+
'PLAN-META-001': {
|
|
43
|
+
name: 'Missing Plan Objectives',
|
|
44
|
+
description: 'Test plans should define clear testing objectives. This field is configured in the Provar Quality Hub app (not stored in local project files).',
|
|
45
|
+
},
|
|
46
|
+
'PLAN-META-002': {
|
|
47
|
+
name: 'Missing In-Scope Definition',
|
|
48
|
+
description: 'Test plans should specify which features are in scope. This field is configured in the Provar Quality Hub app (not stored in local project files).',
|
|
49
|
+
},
|
|
50
|
+
'PLAN-META-003': {
|
|
51
|
+
name: 'Missing Testing Methodology',
|
|
52
|
+
description: 'Test plans should document the testing methodology. This field is configured in the Provar Quality Hub app (not stored in local project files).',
|
|
53
|
+
},
|
|
54
|
+
'PLAN-META-004': {
|
|
55
|
+
name: 'Missing Acceptance Criteria',
|
|
56
|
+
description: 'Test plans should define acceptance criteria or an acceptable pass rate. This field is configured in the Provar Quality Hub app (not stored in local project files).',
|
|
57
|
+
},
|
|
58
|
+
'PLAN-META-005': {
|
|
59
|
+
name: 'Missing Test Environments',
|
|
60
|
+
description: 'Test plans should specify the target test environments. This field is configured in the Provar Quality Hub app (not stored in local project files).',
|
|
61
|
+
},
|
|
62
|
+
'PLAN-META-006': {
|
|
63
|
+
name: 'Missing Test Data Strategy',
|
|
64
|
+
description: 'Test plans should document how test data will be prepared and cleaned up. This field is configured in the Provar Quality Hub app (not stored in local project files).',
|
|
65
|
+
},
|
|
66
|
+
'PLAN-META-007': {
|
|
67
|
+
name: 'Missing Risk Assessment',
|
|
68
|
+
description: 'Test plans should identify potential risks and mitigations. This field is configured in the Provar Quality Hub app (not stored in local project files).',
|
|
69
|
+
},
|
|
70
|
+
'PLAN-SIZE-001': {
|
|
71
|
+
name: 'Oversized Test Plan',
|
|
72
|
+
description: 'A test plan should contain no more than 20 test suites.',
|
|
73
|
+
},
|
|
74
|
+
'PLAN-NAMING-001': {
|
|
75
|
+
name: 'Inconsistent Suite Naming in Plan',
|
|
76
|
+
description: 'All suite names within a test plan should follow a consistent naming convention.',
|
|
77
|
+
},
|
|
30
78
|
'PROJ-EMPTY-001': { name: 'Empty Project', description: 'A project must contain at least one test plan.' },
|
|
31
|
-
'PROJ-DUP-001': {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
'PROJ-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
'PROJ-
|
|
79
|
+
'PROJ-DUP-001': {
|
|
80
|
+
name: 'Duplicate Test Case Name Across Project',
|
|
81
|
+
description: 'Test case names must be unique across the entire project.',
|
|
82
|
+
},
|
|
83
|
+
'PROJ-DUP-002': {
|
|
84
|
+
name: 'Duplicate Plan Name in Project',
|
|
85
|
+
description: 'Test plan names within a project must be unique.',
|
|
86
|
+
},
|
|
87
|
+
'PROJ-CALLABLE-001': {
|
|
88
|
+
name: 'Unresolved caseCall Reference',
|
|
89
|
+
description: 'All caseCall references must point to existing test cases in the project.',
|
|
90
|
+
},
|
|
91
|
+
'PROJ-CALLABLE-002': {
|
|
92
|
+
name: 'Missing Callable Test Case',
|
|
93
|
+
description: 'All callable tests referenced by caseCall must exist in the project.',
|
|
94
|
+
},
|
|
95
|
+
'PROJ-CONN-001': {
|
|
96
|
+
name: 'Undefined Connection Name',
|
|
97
|
+
description: 'All connection names used in test cases must be defined in the project context.',
|
|
98
|
+
},
|
|
99
|
+
'PROJ-ENV-001': {
|
|
100
|
+
name: 'Duplicate Environment Name',
|
|
101
|
+
description: 'Environment names within a project must be unique.',
|
|
102
|
+
},
|
|
103
|
+
'PROJ-ENV-002': {
|
|
104
|
+
name: 'Invalid Environment Name',
|
|
105
|
+
description: 'Environment names must contain only letters, digits, and underscores.',
|
|
106
|
+
},
|
|
107
|
+
'PROJ-SECRET-001': {
|
|
108
|
+
name: 'Missing Secrets Password',
|
|
109
|
+
description: 'A Provar Secrets Password must be configured to protect sensitive test data.',
|
|
110
|
+
},
|
|
111
|
+
'PROJ-ENC-001': {
|
|
112
|
+
name: 'Unencrypted Credentials in .secrets',
|
|
113
|
+
description: 'All values in the .secrets file must be wrapped in ENC1() encryption. Plaintext credentials are a critical security risk.',
|
|
114
|
+
},
|
|
40
115
|
};
|
|
41
116
|
// ── Violation builder ─────────────────────────────────────────────────────────
|
|
42
117
|
function makeViolation(rule_id, category, severity, weight, message, recommendation, applies_to, affected_files) {
|
|
@@ -58,7 +133,10 @@ function makeViolation(rule_id, category, severity, weight, message, recommendat
|
|
|
58
133
|
}
|
|
59
134
|
// ── Scoring helpers ───────────────────────────────────────────────────────────
|
|
60
135
|
const SEVERITY_MULTIPLIER = {
|
|
61
|
-
critical: 1.0,
|
|
136
|
+
critical: 1.0,
|
|
137
|
+
major: 0.75,
|
|
138
|
+
minor: 0.5,
|
|
139
|
+
info: 0.25,
|
|
62
140
|
};
|
|
63
141
|
export function computeViolationDeduction(violations) {
|
|
64
142
|
let total = 0;
|
|
@@ -108,7 +186,9 @@ export function checkNamingConsistency(names, contextLabel, level, ruleId) {
|
|
|
108
186
|
.sort()
|
|
109
187
|
.map(([s, items]) => `${s}: "${items[0]}"`)
|
|
110
188
|
.join(', ');
|
|
111
|
-
return [
|
|
189
|
+
return [
|
|
190
|
+
makeViolation(ruleId, 'NamingConventions', 'info', 2, `Inconsistent naming conventions in ${contextLabel}: ${styleSummary}`, `Adopt a single naming convention across all items. Examples found: ${examples}`, [level]),
|
|
191
|
+
];
|
|
112
192
|
}
|
|
113
193
|
// ── Test case validation (adapts existing validator to hierarchy result) ───────
|
|
114
194
|
export function validateHierarchyTestCase(tc, qualityThreshold) {
|
|
@@ -142,12 +222,14 @@ export function validateHierarchyTestCase(tc, qualityThreshold) {
|
|
|
142
222
|
error_count: 1,
|
|
143
223
|
warning_count: 0,
|
|
144
224
|
step_count: 0,
|
|
145
|
-
issues: [
|
|
225
|
+
issues: [
|
|
226
|
+
{
|
|
146
227
|
rule_id: 'TC_000',
|
|
147
228
|
severity: 'ERROR',
|
|
148
229
|
message: `Unexpected error: ${e.message}`,
|
|
149
230
|
applies_to: 'document',
|
|
150
|
-
}
|
|
231
|
+
},
|
|
232
|
+
],
|
|
151
233
|
best_practices_violations: [],
|
|
152
234
|
};
|
|
153
235
|
}
|
|
@@ -184,9 +266,11 @@ function checkSuiteDuplicates(suiteName, childSuites, childCases) {
|
|
|
184
266
|
}
|
|
185
267
|
function checkSuiteSize(suiteName, data) {
|
|
186
268
|
const explicit = data.test_case_count;
|
|
187
|
-
const count = explicit ??
|
|
269
|
+
const count = explicit ?? data.test_cases?.length ?? 0;
|
|
188
270
|
if (count > 75) {
|
|
189
|
-
return [
|
|
271
|
+
return [
|
|
272
|
+
makeViolation('SUITE-SIZE-001', 'SuiteStructure', 'minor', 2, `Test suite "${suiteName}" contains ${count} test cases (recommended maximum: 75)`, 'Break large suites into smaller, focused child suites', ['TestSuite']),
|
|
273
|
+
];
|
|
190
274
|
}
|
|
191
275
|
return [];
|
|
192
276
|
}
|
|
@@ -203,10 +287,7 @@ export function validateSuite(data, qualityThreshold) {
|
|
|
203
287
|
];
|
|
204
288
|
const suiteResults = childSuites.map((cs) => validateSuite(cs, qualityThreshold));
|
|
205
289
|
const caseResults = childCases.map((tc) => validateHierarchyTestCase(tc, qualityThreshold));
|
|
206
|
-
const scores = [
|
|
207
|
-
...caseResults.map((r) => r.quality_score),
|
|
208
|
-
...suiteResults.map((r) => r.quality_score),
|
|
209
|
-
];
|
|
290
|
+
const scores = [...caseResults.map((r) => r.quality_score), ...suiteResults.map((r) => r.quality_score)];
|
|
210
291
|
const quality_score = scores.length
|
|
211
292
|
? Math.max(0, Math.round((childAvg(scores) - computeViolationDeduction(violations)) * 100) / 100)
|
|
212
293
|
: 0;
|
|
@@ -263,10 +344,7 @@ export function validatePlan(data, qualityThreshold) {
|
|
|
263
344
|
violations.push(...checkNamingConsistency(childSuites.map((s) => s.name), `plan "${planName}"`, 'TestPlan', 'PLAN-NAMING-001'));
|
|
264
345
|
const suiteResults = childSuites.map((s) => validateSuite(s, qualityThreshold));
|
|
265
346
|
const caseResults = childCases.map((tc) => validateHierarchyTestCase(tc, qualityThreshold));
|
|
266
|
-
const scores = [
|
|
267
|
-
...suiteResults.map((r) => r.quality_score),
|
|
268
|
-
...caseResults.map((r) => r.quality_score),
|
|
269
|
-
];
|
|
347
|
+
const scores = [...suiteResults.map((r) => r.quality_score), ...caseResults.map((r) => r.quality_score)];
|
|
270
348
|
const quality_score = scores.length
|
|
271
349
|
? Math.max(0, Math.round((childAvg(scores) - computeViolationDeduction(violations)) * 100) / 100)
|
|
272
350
|
: 0;
|
|
@@ -319,7 +397,10 @@ function checkCaseCalls(registry, diskTestCaseNames = new Set()) {
|
|
|
319
397
|
// Include all on-disk test cases (callables have no .testinstance so they're absent from
|
|
320
398
|
// the plan-built registry — merging diskTestCaseNames prevents false PROJ-CALLABLE-001/002)
|
|
321
399
|
const available = new Set([...Object.keys(registry), ...diskTestCaseNames]);
|
|
322
|
-
const availableBase = new Set([
|
|
400
|
+
const availableBase = new Set([
|
|
401
|
+
...Object.keys(registry).map((n) => path.basename(n, path.extname(n))),
|
|
402
|
+
...diskTestCaseNames,
|
|
403
|
+
]);
|
|
323
404
|
const calledPaths = new Set();
|
|
324
405
|
// Group callers by missing callee — avoids N violations for the same missing test
|
|
325
406
|
const missingCalleeCallers = new Map();
|
|
@@ -336,7 +417,9 @@ function checkCaseCalls(registry, diskTestCaseNames = new Set()) {
|
|
|
336
417
|
if (!steps)
|
|
337
418
|
continue;
|
|
338
419
|
const rawCalls = steps['caseCall'];
|
|
339
|
-
const calls = rawCalls
|
|
420
|
+
const calls = rawCalls
|
|
421
|
+
? (Array.isArray(rawCalls) ? rawCalls : [rawCalls])
|
|
422
|
+
: [];
|
|
340
423
|
for (const call of calls) {
|
|
341
424
|
const called = call['@_testCasePath']?.trim() ?? '';
|
|
342
425
|
if (!called)
|
|
@@ -397,7 +480,9 @@ function checkConnectionConsistency(registry, ctx) {
|
|
|
397
480
|
if (!steps)
|
|
398
481
|
continue;
|
|
399
482
|
const rawCalls = steps['apiCall'];
|
|
400
|
-
const calls = rawCalls
|
|
483
|
+
const calls = rawCalls
|
|
484
|
+
? (Array.isArray(rawCalls) ? rawCalls : [rawCalls])
|
|
485
|
+
: [];
|
|
401
486
|
for (const call of calls) {
|
|
402
487
|
const conn = extractConnFromCall(call);
|
|
403
488
|
if (conn && !defined.has(conn)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchyValidate.js","sourceRoot":"","sources":["../../../src/mcp/tools/hierarchyValidate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hierarchyValidate.js","sourceRoot":"","sources":["../../../src/mcp/tools/hierarchyValidate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ValidateFunction } from 'ajv/dist/2020.js';
|
|
2
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
|
+
import type { ServerConfig } from '../server.js';
|
|
4
|
+
import { type ValidationIssue } from '../schemas/common.js';
|
|
5
|
+
interface NitroXIssue extends ValidationIssue {
|
|
6
|
+
field?: string;
|
|
7
|
+
}
|
|
8
|
+
interface NitroXValidationResult {
|
|
9
|
+
valid: boolean;
|
|
10
|
+
score: number;
|
|
11
|
+
issue_count: number;
|
|
12
|
+
issues: NitroXIssue[];
|
|
13
|
+
}
|
|
14
|
+
type JsonObj = Record<string, unknown>;
|
|
15
|
+
/** Validate a parsed NitroX .po.json against hardcoded NX rules and the FactComponent JSON schema. */
|
|
16
|
+
export declare function validateNitroXContent(obj: JsonObj, schemaOverride?: ValidateFunction | null): NitroXValidationResult;
|
|
17
|
+
export declare function registerNitroXDiscover(server: McpServer): void;
|
|
18
|
+
export declare function registerNitroXRead(server: McpServer, config: ServerConfig): void;
|
|
19
|
+
export declare function registerNitroXValidate(server: McpServer, config: ServerConfig): void;
|
|
20
|
+
export declare function registerNitroXGenerate(server: McpServer, config: ServerConfig): void;
|
|
21
|
+
export declare function registerNitroXPatch(server: McpServer, config: ServerConfig): void;
|
|
22
|
+
export declare function registerAllNitroXTools(server: McpServer, config: ServerConfig): void;
|
|
23
|
+
export {};
|