* fix(javascript): reconcile Node targets with entry assets * test(inspector): read reconciled evidence payload * Update tests/boundary/inspector/javascriptRuntimeNodeTarget.test.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * test(inspector): read the workflow evidence payload * Update tests/boundary/inspector/javascriptRuntimeNodeTarget.test.ts Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * test(javascript): restore Evidence workflow result access --------- Co-authored-by: morluto <76467478+morluto@users.noreply.github.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
38 lines
1.4 KiB
TypeScript
38 lines
1.4 KiB
TypeScript
import { expect, test } from "vitest";
|
|
import { reconcileJavaScriptRuntimeEvidence } from "../../../src/application/javascript/JavaScriptRuntimeReconciliationService.js";
|
|
import { javascriptRuntimeReconciliationResultSchema } from "../../../src/domain/javascript/javascriptRuntimeReconciliationSchemas.js";
|
|
import { nodeReconciliationFixture } from "../../fixtures/nodeRuntimeReconciliation.js";
|
|
|
|
test.each([false, true])(
|
|
"matches a synthetic Node entry target without inventing script presence: %s",
|
|
(scriptObserved) => {
|
|
const reconciled = reconcileJavaScriptRuntimeEvidence(
|
|
nodeReconciliationFixture(scriptObserved),
|
|
);
|
|
if (!reconciled.ok) throw reconciled.error;
|
|
const result = javascriptRuntimeReconciliationResultSchema.parse(
|
|
reconciled.value.evidence.normalized_result,
|
|
);
|
|
const target = result.reconciliations.find(
|
|
({ entity_kind }) => entity_kind === "target",
|
|
);
|
|
expect(target).toMatchObject({
|
|
status: "matched",
|
|
basis: "artifact-path",
|
|
confidence: "medium",
|
|
reason: "unique-location-match",
|
|
candidate_static_count: 1,
|
|
});
|
|
expect(
|
|
result.graph.nodes.find(
|
|
({ node_id }) => node_id === target?.static_node_id,
|
|
)?.kind,
|
|
).toBe("javascript-asset");
|
|
expect(result.summary).toMatchObject({
|
|
runtime_scripts: scriptObserved ? 1 : 0,
|
|
static_loaded: scriptObserved ? 1 : 0,
|
|
static_not_observed: 0,
|
|
});
|
|
},
|
|
);
|