From bac339caf443cc747345316cf9532a4c395ac18b Mon Sep 17 00:00:00 2001 From: DevJuanCR Date: Sun, 23 Aug 2026 16:42:14 +0000 Subject: [PATCH] tests del endpoint summary --- .../controller/MetricControllerTest.java | 31 +++++++++++++ .../monitor/service/MetricServiceTest.java | 43 +++++++++++++++++++ 2 files changed, 74 insertions(+) diff --git a/backend/src/test/java/com/sysadmin/monitor/controller/MetricControllerTest.java b/backend/src/test/java/com/sysadmin/monitor/controller/MetricControllerTest.java index bf813ba..4ad92f3 100644 --- a/backend/src/test/java/com/sysadmin/monitor/controller/MetricControllerTest.java +++ b/backend/src/test/java/com/sysadmin/monitor/controller/MetricControllerTest.java @@ -1,6 +1,7 @@ package com.sysadmin.monitor.controller; import com.fasterxml.jackson.databind.ObjectMapper; +import com.sysadmin.monitor.dto.MetricSummaryDTO; import com.sysadmin.monitor.dto.SystemMetricDTO; import com.sysadmin.monitor.entity.SystemMetric; import com.sysadmin.monitor.service.MetricService; @@ -194,4 +195,34 @@ void getMetrics_shouldIncludeDiskUsage() throws Exception { .andExpect(status().isOk()) .andExpect(jsonPath("$[0].diskUsage").value(88.4)); } + + @Test + void getSummary_shouldReturn200() throws Exception { + MetricSummaryDTO summary = MetricSummaryDTO.builder() + .hostname("PC-01") + .cpuAvg(40.0) + .cpuMax(80.0) + .ramAvg(50.0) + .ramMax(70.0) + .diskAvg(60.0) + .diskMax(90.0) + .build(); + + when(metricService.getSummary()).thenReturn(List.of(summary)); + + mockMvc.perform(get("/api/metrics/summary")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$[0].hostname").value("PC-01")) + .andExpect(jsonPath("$[0].cpuAvg").value(40.0)) + .andExpect(jsonPath("$[0].diskMax").value(90.0)); + } + + @Test + void getSummary_withNoData_shouldReturnEmptyList() throws Exception { + when(metricService.getSummary()).thenReturn(List.of()); + + mockMvc.perform(get("/api/metrics/summary")) + .andExpect(status().isOk()) + .andExpect(jsonPath("$").isEmpty()); + } } diff --git a/backend/src/test/java/com/sysadmin/monitor/service/MetricServiceTest.java b/backend/src/test/java/com/sysadmin/monitor/service/MetricServiceTest.java index 6430afe..49e0206 100644 --- a/backend/src/test/java/com/sysadmin/monitor/service/MetricServiceTest.java +++ b/backend/src/test/java/com/sysadmin/monitor/service/MetricServiceTest.java @@ -1,5 +1,6 @@ package com.sysadmin.monitor.service; +import com.sysadmin.monitor.dto.MetricSummaryDTO; import com.sysadmin.monitor.dto.SystemMetricDTO; import com.sysadmin.monitor.entity.SystemMetric; import com.sysadmin.monitor.repository.SystemMetricRepository; @@ -156,4 +157,46 @@ void getLatestMetrics_shouldReturnDiskUsage() { assertEquals(72.3, result.get(0).getDiskUsage()); } + + @Test + void getSummary_shouldReturnOneRowPerHost() { + MetricSummaryDTO s1 = MetricSummaryDTO.builder() + .hostname("PC-01") + .cpuAvg(40.0) + .cpuMax(80.0) + .ramAvg(50.0) + .ramMax(70.0) + .diskAvg(60.0) + .diskMax(90.0) + .build(); + + MetricSummaryDTO s2 = MetricSummaryDTO.builder() + .hostname("PC-02") + .cpuAvg(20.0) + .cpuMax(35.0) + .ramAvg(30.0) + .ramMax(45.0) + .diskAvg(55.0) + .diskMax(65.0) + .build(); + + when(metricRepository.findSummaryByHost()).thenReturn(List.of(s1, s2)); + + List result = metricService.getSummary(); + + assertEquals(2, result.size()); + assertEquals("PC-01", result.get(0).getHostname()); + assertEquals(80.0, result.get(0).getCpuMax()); + assertEquals(55.0, result.get(1).getDiskAvg()); + } + + @Test + void getSummary_withNoData_shouldReturnEmptyList() { + when(metricRepository.findSummaryByHost()).thenReturn(List.of()); + + List result = metricService.getSummary(); + + assertTrue(result.isEmpty()); + verify(metricRepository, times(1)).findSummaryByHost(); + } }