mirror of
https://github.com/prowler-cloud/prowler.git
synced 2026-10-25 04:44:20 +00:00
60 lines
1.5 KiB
TypeScript
60 lines
1.5 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import {
|
|
GRAPH_ALERT_BORDER_COLOR,
|
|
GRAPH_EDGE_HIGHLIGHT_COLOR,
|
|
GRAPH_NODE_COLORS,
|
|
GRAPH_OUTCOME_BORDER_COLOR,
|
|
GRAPH_OUTCOME_FILL_COLOR,
|
|
resolveNodeColors,
|
|
} from "@/lib/attack-paths/graph-colors";
|
|
import {
|
|
GROUP_NODE_LABEL,
|
|
GROUP_PROPS,
|
|
OUTCOME_NODE_LABEL,
|
|
} from "@/lib/attack-paths/group-graph";
|
|
|
|
describe("resolveNodeColors", () => {
|
|
it("prioritizes selected state over hasFindings for the border color", () => {
|
|
const selectedColors = resolveNodeColors({
|
|
labels: ["EC2Instance"],
|
|
selected: true,
|
|
hasFindings: true,
|
|
});
|
|
|
|
const alertOnlyColors = resolveNodeColors({
|
|
labels: ["EC2Instance"],
|
|
selected: false,
|
|
hasFindings: true,
|
|
});
|
|
|
|
expect(selectedColors.borderColor).toBe(GRAPH_EDGE_HIGHLIGHT_COLOR);
|
|
expect(alertOnlyColors.borderColor).toBe(GRAPH_ALERT_BORDER_COLOR);
|
|
});
|
|
|
|
it("uses the synthetic node palettes", () => {
|
|
// Given
|
|
const properties = {
|
|
[GROUP_PROPS.CLASS]: "IAMRole",
|
|
[GROUP_PROPS.HAS_FINDINGS]: true,
|
|
};
|
|
|
|
// When
|
|
const groupColors = resolveNodeColors({
|
|
labels: [GROUP_NODE_LABEL],
|
|
properties,
|
|
});
|
|
const outcomeColors = resolveNodeColors({ labels: [OUTCOME_NODE_LABEL] });
|
|
|
|
// Then
|
|
expect(groupColors).toEqual({
|
|
fillColor: GRAPH_NODE_COLORS.iamRole,
|
|
borderColor: GRAPH_ALERT_BORDER_COLOR,
|
|
});
|
|
expect(outcomeColors).toEqual({
|
|
fillColor: GRAPH_OUTCOME_FILL_COLOR,
|
|
borderColor: GRAPH_OUTCOME_BORDER_COLOR,
|
|
});
|
|
});
|
|
});
|