Skip to content

Commit 3ac58ae

Browse files
committed
fix: update tests for data loss interface and nodesInGroup findFirst
- fleet-data tests: remove node_id/node_name, add events_discarded - node-group tests: mock findFirst instead of findUnique for nodesInGroup
1 parent b598209 commit 3ac58ae

2 files changed

Lines changed: 18 additions & 25 deletions

File tree

src/server/routers/__tests__/node-group.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ describe("nodeGroupRouter", () => {
415415
makeNode({ id: "n-degraded", name: "gamma", status: "DEGRADED", labels: { region: "us-east" } }),
416416
];
417417

418-
prismaMock.nodeGroup.findUnique.mockResolvedValue(group as never);
418+
prismaMock.nodeGroup.findFirst.mockResolvedValue(group as never);
419419
prismaMock.vectorNode.findMany.mockResolvedValue(nodes as never);
420420

421421
const result = await caller.nodesInGroup({ groupId: "ng-1", environmentId: "env-1" });
@@ -432,7 +432,7 @@ describe("nodeGroupRouter", () => {
432432
makeNode({ id: "n-no-metrics", name: "b", nodeMetrics: [] }),
433433
];
434434

435-
prismaMock.nodeGroup.findUnique.mockResolvedValue(group as never);
435+
prismaMock.nodeGroup.findFirst.mockResolvedValue(group as never);
436436
prismaMock.vectorNode.findMany.mockResolvedValue(nodes as never);
437437

438438
const result = await caller.nodesInGroup({ groupId: "ng-1", environmentId: "env-1" });
@@ -448,7 +448,7 @@ describe("nodeGroupRouter", () => {
448448
const group = makeNodeGroup({ id: "ng-1", criteria: {}, requiredLabels: [] });
449449
const nodes = [makeNode({ id: "n-1", labels: {} })]; // no labels, but requiredLabels is empty
450450

451-
prismaMock.nodeGroup.findUnique.mockResolvedValue(group as never);
451+
prismaMock.nodeGroup.findFirst.mockResolvedValue(group as never);
452452
prismaMock.vectorNode.findMany.mockResolvedValue(nodes as never);
453453

454454
const result = await caller.nodesInGroup({ groupId: "ng-1", environmentId: "env-1" });
@@ -466,7 +466,7 @@ describe("nodeGroupRouter", () => {
466466
makeNode({ id: "n-missing-role", labels: { region: "us-east" } }), // missing 'role'
467467
];
468468

469-
prismaMock.nodeGroup.findUnique.mockResolvedValue(group as never);
469+
prismaMock.nodeGroup.findFirst.mockResolvedValue(group as never);
470470
prismaMock.vectorNode.findMany.mockResolvedValue(nodes as never);
471471

472472
const result = await caller.nodesInGroup({ groupId: "ng-1", environmentId: "env-1" });
@@ -475,7 +475,7 @@ describe("nodeGroupRouter", () => {
475475
});
476476

477477
it("Test 11: Throws NOT_FOUND for non-existent groupId", async () => {
478-
prismaMock.nodeGroup.findUnique.mockResolvedValue(null);
478+
prismaMock.nodeGroup.findFirst.mockResolvedValue(null);
479479

480480
await expect(
481481
caller.nodesInGroup({ groupId: "nonexistent", environmentId: "env-1" }),
@@ -487,7 +487,7 @@ describe("nodeGroupRouter", () => {
487487
const lastSeen = new Date("2026-01-15T10:00:00Z");
488488
const nodes = [makeNode({ id: "n-1", lastSeen })];
489489

490-
prismaMock.nodeGroup.findUnique.mockResolvedValue(group as never);
490+
prismaMock.nodeGroup.findFirst.mockResolvedValue(group as never);
491491
prismaMock.vectorNode.findMany.mockResolvedValue(nodes as never);
492492

493493
const result = await caller.nodesInGroup({ groupId: "ng-1", environmentId: "env-1" });

src/server/services/__tests__/fleet-data.test.ts

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -313,18 +313,16 @@ describe("getDataLoss", () => {
313313
{
314314
pipeline_id: "p1",
315315
pipeline_name: "ingest-logs",
316-
node_id: "node-1",
317-
node_name: "us-east-1",
318316
events_in: BigInt(1000),
319-
events_out: BigInt(800), // 20% loss
317+
events_out: BigInt(800),
318+
events_discarded: BigInt(0), // 20% actual loss
320319
},
321320
{
322321
pipeline_id: "p2",
323322
pipeline_name: "metrics-agg",
324-
node_id: "node-1",
325-
node_name: "us-east-1",
326323
events_in: BigInt(500),
327-
events_out: BigInt(490), // 2% loss
324+
events_out: BigInt(490),
325+
events_discarded: BigInt(0), // 2% loss
328326
},
329327
]);
330328

@@ -334,10 +332,9 @@ describe("getDataLoss", () => {
334332
expect(result[0]).toEqual({
335333
pipelineId: "p1",
336334
pipelineName: "ingest-logs",
337-
nodeId: "node-1",
338-
nodeName: "us-east-1",
339335
eventsIn: 1000,
340336
eventsOut: 800,
337+
eventsDiscarded: 0,
341338
lossRate: 0.2,
342339
});
343340
});
@@ -347,10 +344,9 @@ describe("getDataLoss", () => {
347344
{
348345
pipeline_id: "p1",
349346
pipeline_name: "idle-pipeline",
350-
node_id: null,
351-
node_name: null,
352347
events_in: BigInt(0),
353348
events_out: BigInt(0),
349+
events_discarded: BigInt(0),
354350
},
355351
]);
356352

@@ -364,10 +360,9 @@ describe("getDataLoss", () => {
364360
{
365361
pipeline_id: "p1",
366362
pipeline_name: "healthy",
367-
node_id: "node-1",
368-
node_name: "us-east-1",
369363
events_in: BigInt(1000),
370-
events_out: BigInt(999), // 0.1% loss
364+
events_out: BigInt(999),
365+
events_discarded: BigInt(0), // 0.1% loss
371366
},
372367
]);
373368

@@ -381,18 +376,16 @@ describe("getDataLoss", () => {
381376
{
382377
pipeline_id: "p1",
383378
pipeline_name: "moderate-loss",
384-
node_id: "node-1",
385-
node_name: "us-east-1",
386379
events_in: BigInt(1000),
387-
events_out: BigInt(850), // 15% loss
380+
events_out: BigInt(850),
381+
events_discarded: BigInt(0), // 15% loss
388382
},
389383
{
390384
pipeline_id: "p2",
391385
pipeline_name: "severe-loss",
392-
node_id: "node-1",
393-
node_name: "us-east-1",
394386
events_in: BigInt(1000),
395-
events_out: BigInt(500), // 50% loss
387+
events_out: BigInt(500),
388+
events_discarded: BigInt(0), // 50% loss
396389
},
397390
]);
398391

0 commit comments

Comments
 (0)