mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-17 22:33:06 +08:00
test: cover agentshield dashboard promotion states
This commit is contained in:
committed by
Affaan Mustafa
parent
cc5c255529
commit
d6d1adbb2f
@@ -106,6 +106,22 @@ function runProcess(args = [], options = {}) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function buildSeededReport(rootDir) {
|
||||||
|
return buildReport({
|
||||||
|
allowUntracked: [],
|
||||||
|
exitCode: false,
|
||||||
|
format: 'json',
|
||||||
|
generatedAt: '2026-05-15T00:00:00.000Z',
|
||||||
|
help: false,
|
||||||
|
repos: [],
|
||||||
|
root: rootDir,
|
||||||
|
skipGithub: true,
|
||||||
|
thresholds: { maxOpenPrs: 20, maxOpenIssues: 20, maxDirtyFiles: 0 },
|
||||||
|
useEnvGithubToken: false,
|
||||||
|
writePath: null
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function test(name, fn) {
|
function test(name, fn) {
|
||||||
try {
|
try {
|
||||||
fn();
|
fn();
|
||||||
@@ -163,19 +179,7 @@ function runTests() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
seedRepo(rootDir);
|
seedRepo(rootDir);
|
||||||
const report = buildReport({
|
const report = buildSeededReport(rootDir);
|
||||||
allowUntracked: [],
|
|
||||||
exitCode: false,
|
|
||||||
format: 'json',
|
|
||||||
generatedAt: '2026-05-15T00:00:00.000Z',
|
|
||||||
help: false,
|
|
||||||
repos: [],
|
|
||||||
root: rootDir,
|
|
||||||
skipGithub: true,
|
|
||||||
thresholds: { maxOpenPrs: 20, maxOpenIssues: 20, maxDirtyFiles: 0 },
|
|
||||||
useEnvGithubToken: false,
|
|
||||||
writePath: null
|
|
||||||
});
|
|
||||||
|
|
||||||
assert.strictEqual(report.schema_version, 'ecc.operator-readiness-dashboard.v1');
|
assert.strictEqual(report.schema_version, 'ecc.operator-readiness-dashboard.v1');
|
||||||
assert.strictEqual(report.generatedAt, '2026-05-15T00:00:00.000Z');
|
assert.strictEqual(report.generatedAt, '2026-05-15T00:00:00.000Z');
|
||||||
@@ -194,6 +198,73 @@ function runTests() {
|
|||||||
}
|
}
|
||||||
})) passed++; else failed++;
|
})) passed++; else failed++;
|
||||||
|
|
||||||
|
if (test('AgentShield enterprise evidence covers export and policy promotion markers', () => {
|
||||||
|
const cases = [
|
||||||
|
{
|
||||||
|
marker: 'AgentShield PR #92',
|
||||||
|
gap: 'workflow automation around protected rollout and richer runtime review UX pending after policy promotion shipped'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
marker: 'AgentShield #92',
|
||||||
|
gap: 'workflow automation around protected rollout and richer runtime review UX pending after policy promotion shipped'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
marker: 'policy promote',
|
||||||
|
gap: 'workflow automation around protected rollout and richer runtime review UX pending after policy promotion shipped'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
marker: 'checksum-verified policy promotion',
|
||||||
|
gap: 'workflow automation around protected rollout and richer runtime review UX pending after policy promotion shipped'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
marker: '#78-#91',
|
||||||
|
gap: 'workflow automation plus policy promotion/review UX pending after policy export shipped'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
marker: 'AgentShield PR #91',
|
||||||
|
gap: 'workflow automation plus policy promotion/review UX pending after policy export shipped'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
marker: 'AgentShield #91',
|
||||||
|
gap: 'workflow automation plus policy promotion/review UX pending after policy export shipped'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
marker: 'checksum-backed policy export',
|
||||||
|
gap: 'workflow automation plus policy promotion/review UX pending after policy export shipped'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
marker: '#78-#90',
|
||||||
|
gap: 'durable policy export and fleet-review workflow automation remain pending after reviewItems shipped'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
for (const { marker, gap } of cases) {
|
||||||
|
const rootDir = createTempDir('operator-dashboard-agentshield-');
|
||||||
|
|
||||||
|
try {
|
||||||
|
seedRepo(rootDir, {
|
||||||
|
'docs/ECC-2.0-GA-ROADMAP.md': [
|
||||||
|
'https://linear.app/itomarkets/project/ecc-platform-roadmap-52b328ee03e1',
|
||||||
|
'Linear ITO-44 ITO-59',
|
||||||
|
'AgentShield Enterprise Iteration',
|
||||||
|
marker,
|
||||||
|
'ECC-Tools PR #78',
|
||||||
|
'hosted promotion',
|
||||||
|
'announcementGate',
|
||||||
|
'ITO-55'
|
||||||
|
].join('\n')
|
||||||
|
});
|
||||||
|
|
||||||
|
const report = buildSeededReport(rootDir);
|
||||||
|
const item = report.requirements.find(requirement => requirement.id === 'agentshield-enterprise-iteration');
|
||||||
|
assert.strictEqual(item.status, 'in_progress', marker);
|
||||||
|
assert.strictEqual(item.gap, gap, marker);
|
||||||
|
} finally {
|
||||||
|
cleanup(rootDir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})) passed++; else failed++;
|
||||||
|
|
||||||
if (test('legacy salvage recognizes the real manual-review backlog heading', () => {
|
if (test('legacy salvage recognizes the real manual-review backlog heading', () => {
|
||||||
const rootDir = createTempDir('operator-dashboard-legacy-salvage-');
|
const rootDir = createTempDir('operator-dashboard-legacy-salvage-');
|
||||||
|
|
||||||
@@ -218,19 +289,7 @@ function runTests() {
|
|||||||
].join('\n')
|
].join('\n')
|
||||||
});
|
});
|
||||||
|
|
||||||
const report = buildReport({
|
const report = buildSeededReport(rootDir);
|
||||||
allowUntracked: [],
|
|
||||||
exitCode: false,
|
|
||||||
format: 'json',
|
|
||||||
generatedAt: '2026-05-15T00:00:00.000Z',
|
|
||||||
help: false,
|
|
||||||
repos: [],
|
|
||||||
root: rootDir,
|
|
||||||
skipGithub: true,
|
|
||||||
thresholds: { maxOpenPrs: 20, maxOpenIssues: 20, maxDirtyFiles: 0 },
|
|
||||||
useEnvGithubToken: false,
|
|
||||||
writePath: null
|
|
||||||
});
|
|
||||||
|
|
||||||
const legacySalvage = report.requirements.find(item => item.id === 'legacy-salvage');
|
const legacySalvage = report.requirements.find(item => item.id === 'legacy-salvage');
|
||||||
assert.strictEqual(legacySalvage.status, 'in_progress');
|
assert.strictEqual(legacySalvage.status, 'in_progress');
|
||||||
|
|||||||
Reference in New Issue
Block a user