From 303e8fe61c49d83788674fcb279cef519e1bebf4 Mon Sep 17 00:00:00 2001
From: kbeyro <121854496+kbeyro@users.noreply.github.com>
Date: Mon, 26 May 2025 10:38:33 +0200
Subject: [PATCH] fix typo

---
 .../repositories/AppInstanceRepository.java   |  6 +--
 .../service/impl/DashboardServiceImpl.java    |  9 ++--
 .../impl/DashboardServiceImplTest.java        | 41 +++++++++++++++++++
 3 files changed, 50 insertions(+), 6 deletions(-)

diff --git a/src/main/java/net/geant/nmaas/portal/persistent/repositories/AppInstanceRepository.java b/src/main/java/net/geant/nmaas/portal/persistent/repositories/AppInstanceRepository.java
index 3002af2e1..a502ee89d 100644
--- a/src/main/java/net/geant/nmaas/portal/persistent/repositories/AppInstanceRepository.java
+++ b/src/main/java/net/geant/nmaas/portal/persistent/repositories/AppInstanceRepository.java
@@ -49,14 +49,14 @@ public interface AppInstanceRepository extends JpaRepository<AppInstance, Long>
 	@Query("select count(ai.id) FROM AppInstance ai  where ai.createdAt >= :sinceTime")
 	int countAllDeployedSinceTime(@Param("sinceTime") long sinceTime);
 
-	@Query("select count(ai.id) FROM AppInstance ai  where ai.createdAt >= :sinceTime AND ai.createdAt <= :endTime")
-	int countAllDeployedSinceTime(@Param("sinceTime") long sinceTime, @Param("sinceTime") long toTime);
+	@Query("select count(ai.id) FROM AppInstance ai  where ai.createdAt >= :sinceTime AND ai.createdAt < :endTime")
+	int countAllDeployedSinceTime(@Param("sinceTime") long sinceTime, @Param("endTime") long endTime);
 
 	@Query("select count(ai.id) FROM AppInstance ai JOIN AppDeployment ad on ad.deploymentId = ai.internalId where ai.application.name = ?1")
 	int countByName(String name);
 
 	@Query("select ai FROM AppInstance ai where ai.createdAt >= :sinceTime AND ai.createdAt <= :endTime")
-	List<AppInstance> findAllInTimePeriod(@Param("sinceTime") long start, @Param("endTime") long end);
+	List<AppInstance> findAllInTimePeriod(@Param("sinceTime") long start, @Param("endTime") long endTime);
 
 	int countAllByOwner(User user);
 
diff --git a/src/main/java/net/geant/nmaas/portal/service/impl/DashboardServiceImpl.java b/src/main/java/net/geant/nmaas/portal/service/impl/DashboardServiceImpl.java
index 420bf728b..cca48c62d 100644
--- a/src/main/java/net/geant/nmaas/portal/service/impl/DashboardServiceImpl.java
+++ b/src/main/java/net/geant/nmaas/portal/service/impl/DashboardServiceImpl.java
@@ -49,8 +49,10 @@ public class DashboardServiceImpl implements DashboardService {
     @Override
     public DashboardView getSystemDashboard(OffsetDateTime startDate, OffsetDateTime endDate) {
 
-        long startTimeStamp = System.currentTimeMillis() - startDate.toEpochSecond();
-        long endTimeStamp = System.currentTimeMillis() - endDate.toEpochSecond();
+        log.warn("Start date {} / end date {}", startDate, endDate);
+
+        long startTimeStamp = startDate.toEpochSecond();
+        long endTimeStamp = endDate.toEpochSecond();
 
 
         List<String> baseNames = applicationBaseRepository.findAllNames();
@@ -68,7 +70,8 @@ public class DashboardServiceImpl implements DashboardService {
 
         //filter not deployed application
         applicationDeploymentCountPerName.entrySet().removeIf(app -> app.getValue() == 0);
-
+        log.warn("Start stamp {} / end stamp {}", startTimeStamp, endTimeStamp);
+        log.warn("Result: {}", appInstanceRepo.countAllDeployedSinceTime(startTimeStamp, endTimeStamp));
 
         return DashboardView.builder()
                 .domainsCount(domainRepository.count())
diff --git a/src/test/java/net/geant/nmaas/portal/service/impl/DashboardServiceImplTest.java b/src/test/java/net/geant/nmaas/portal/service/impl/DashboardServiceImplTest.java
index ae02141d1..089913263 100644
--- a/src/test/java/net/geant/nmaas/portal/service/impl/DashboardServiceImplTest.java
+++ b/src/test/java/net/geant/nmaas/portal/service/impl/DashboardServiceImplTest.java
@@ -158,4 +158,45 @@ void getSystemDashboardShouldCalculateCorrectTimestamps() {
     assert endTimestamp > 0;
     assert startTimestamp > endTimestamp;
 }
+
+    @Test
+    void countAllDeployedSinceTimeShouldReturnCorrectCount() {
+        long sinceTime = 1000L;
+        long toTime = 2000L;
+        int expectedCount = 7;
+
+        when(appInstanceRepo.countAllDeployedSinceTime(sinceTime, toTime)).thenReturn(expectedCount);
+
+        int actualCount = appInstanceRepo.countAllDeployedSinceTime(sinceTime, toTime);
+
+        assert actualCount == expectedCount;
+        org.mockito.Mockito.verify(appInstanceRepo).countAllDeployedSinceTime(sinceTime, toTime);
+    }
+
+    @Test
+    void getSystemDashboardShouldCallCountAllDeployedSinceTimeWithCorrectArguments() {
+        OffsetDateTime startDate = OffsetDateTime.now().minusDays(2);
+        OffsetDateTime endDate = OffsetDateTime.now();
+
+        when(domainRepository.count()).thenReturn(1L);
+        when(userRepository.count()).thenReturn(1L);
+        when(appInstanceRepo.count()).thenReturn(1L);
+        when(appInstanceRepo.countAllDeployedSinceTime(org.mockito.ArgumentMatchers.anyLong(), org.mockito.ArgumentMatchers.anyLong())).thenReturn(5);
+        when(applicationBaseRepository.findAllNames()).thenReturn(Collections.emptyList());
+        when(appInstanceRepo.findAllInTimePeriod(org.mockito.ArgumentMatchers.anyLong(), org.mockito.ArgumentMatchers.anyLong())).thenReturn(Collections.emptyList());
+
+        dashboardService.getSystemDashboard(startDate, endDate);
+
+        ArgumentCaptor<Long> sinceCaptor = ArgumentCaptor.forClass(Long.class);
+        ArgumentCaptor<Long> toCaptor = ArgumentCaptor.forClass(Long.class);
+
+        org.mockito.Mockito.verify(appInstanceRepo).countAllDeployedSinceTime(sinceCaptor.capture(), toCaptor.capture());
+
+        long sinceTime = sinceCaptor.getValue();
+        long toTime = toCaptor.getValue();
+
+        assert sinceTime > 0;
+        assert toTime > 0;
+        assert sinceTime < toTime;
+    }
 }
-- 
GitLab