This is an automated email from the ASF dual-hosted git repository.

gongchao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git


The following commit(s) were added to refs/heads/master by this push:
     new 809f67937 [Improve] add DbAlertStoreHandlerImpl unit test (#2353)
809f67937 is described below

commit 809f679375d18008f2a4a8038f130c89b5016750
Author: YuLuo <[email protected]>
AuthorDate: Wed Jul 24 09:29:15 2024 +0800

    [Improve] add DbAlertStoreHandlerImpl unit test (#2353)
    
    Signed-off-by: yuluo-yx <[email protected]>
    Co-authored-by: tomsun28 <[email protected]>
---
 ....java => AliYunAlertNotifyHandlerImplTest.java} |  13 +-
 .../alerter/impl/DbAlertStoreHandlerImplTest.java  | 142 ++++++++++++++++++++-
 ....java => GotifyAlertNotifyHandlerImplTest.java} |  13 +-
 ...a => ServerChanAlertNotifyHandlerImplTest.java} |  14 +-
 ...est.java => SmsAlertNotifyHandlerImplTest.java} |  14 +-
 ...ava => WeComAppAlertNotifyHandlerImplTest.java} |  14 +-
 6 files changed, 146 insertions(+), 64 deletions(-)

diff --git 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/AliYunAlertNotifyHandlerImplTest.java
similarity index 78%
copy from 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
copy to 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/AliYunAlertNotifyHandlerImplTest.java
index f9828ea80..c95776f8c 100644
--- 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
+++ 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/AliYunAlertNotifyHandlerImplTest.java
@@ -17,19 +17,10 @@
 
 package org.apache.hertzbeat.manager.component.alerter.impl;
 
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
 
 /**
- * Test case for {@link DbAlertStoreHandlerImpl}
+ * Test case for {@link AliYunAlertNotifyHandlerImpl}
  */
-class DbAlertStoreHandlerImplTest {
 
-    @BeforeEach
-    void setUp() {
-    }
-
-    @Test
-    void store() {
-    }
+class AliYunAlertNotifyHandlerImplTest {
 }
diff --git 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
index f9828ea80..51ea955a4 100644
--- 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
+++ 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
@@ -17,19 +17,149 @@
 
 package org.apache.hertzbeat.manager.component.alerter.impl;
 
+import java.util.HashMap;
+import org.apache.hertzbeat.alert.service.AlertService;
+import org.apache.hertzbeat.common.constants.CommonConstants;
+import org.apache.hertzbeat.common.entity.alerter.Alert;
+import org.apache.hertzbeat.common.entity.manager.Monitor;
+import org.apache.hertzbeat.manager.service.MonitorService;
+import org.apache.hertzbeat.manager.support.exception.IgnoreException;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 /**
  * Test case for {@link DbAlertStoreHandlerImpl}
  */
+
+@ExtendWith(MockitoExtension.class)
 class DbAlertStoreHandlerImplTest {
 
-    @BeforeEach
-    void setUp() {
-    }
+       @Mock
+       private MonitorService monitorService;
+
+       @Mock
+       private AlertService alertService;
+
+       @InjectMocks
+       private DbAlertStoreHandlerImpl dbAlertStoreHandler;
+
+       private Alert alert;
+
+       @BeforeEach
+       public void setUp() {
+
+               alert = new Alert();
+               alert.setTags(new HashMap<>());
+               alert.setTarget(CommonConstants.AVAILABILITY);
+               alert.setStatus(CommonConstants.ALERT_STATUS_CODE_PENDING);
+       }
+
+       @Test
+       public void testStoreMonitorNotExist() {
+
+        alert.getTags().put(CommonConstants.TAG_MONITOR_ID, "1");
+               when(monitorService.getMonitor(1L)).thenReturn(null);
+
+               dbAlertStoreHandler.store(alert);
+
+               verify(monitorService).getMonitor(1L);
+               verify(alertService, never()).addAlert(any(Alert.class));
+       }
+
+       @Test
+       public void testStoreMonitorPaused() {
+
+        alert.getTags().put(CommonConstants.TAG_MONITOR_ID, "1");
+
+               Monitor monitor = new Monitor();
+               monitor.setStatus(CommonConstants.MONITOR_PAUSED_CODE);
+               when(monitorService.getMonitor(1L)).thenReturn(monitor);
+
+               dbAlertStoreHandler.store(alert);
+
+               verify(monitorService).getMonitor(1L);
+               verify(alertService, never()).addAlert(any(Alert.class));
+       }
+
+       @Test
+       public void testStoreAvailabilityPendingAndMonitorUp() {
+
+        alert.getTags().put(CommonConstants.TAG_MONITOR_ID, "1");
+
+               Monitor monitor = new Monitor();
+               monitor.setId(1L);
+               monitor.setStatus(CommonConstants.MONITOR_UP_CODE);
+               when(monitorService.getMonitor(1L)).thenReturn(monitor);
+
+               dbAlertStoreHandler.store(alert);
+
+               verify(monitorService).updateMonitorStatus(1L, 
CommonConstants.MONITOR_DOWN_CODE);
+               verify(alertService).addAlert(alert);
+       }
+
+       @Test
+       public void testStoreAvailabilityRestoredAndMonitorDown() {
+
+               alert.getTags().put(CommonConstants.TAG_MONITOR_ID, "1");
+               alert.setStatus(CommonConstants.ALERT_STATUS_CODE_RESTORED);
+
+               Monitor monitor = new Monitor();
+               monitor.setId(1L);
+               monitor.setStatus(CommonConstants.MONITOR_DOWN_CODE);
+               when(monitorService.getMonitor(1L)).thenReturn(monitor);
+
+               dbAlertStoreHandler.store(alert);
+
+               verify(monitorService).updateMonitorStatus(1L, 
CommonConstants.MONITOR_UP_CODE);
+               verify(alertService).addAlert(alert);
+       }
+
+       @Test
+       public void testStoreIgnoreTagExists() {
+
+               alert.getTags().put(CommonConstants.IGNORE, "true");
+
+               assertThrows(IgnoreException.class, () -> 
dbAlertStoreHandler.store(alert));
+       }
+
+       @Test
+       public void testStoreNoMonitorId() {
+
+        alert.getTags().remove(CommonConstants.TAG_MONITOR_ID);
+               dbAlertStoreHandler.store(alert);
+
+               verify(alertService).addAlert(alert);
+       }
+
+       @Test
+       public void testStoreAddMonitorNameAndHostIfNotPresent() {
+
+               alert.getTags().put(CommonConstants.TAG_MONITOR_ID, "1");
+
+               Monitor monitor = new Monitor();
+               monitor.setId(1L);
+               monitor.setName("test-monitor");
+               monitor.setHost("test-host");
+               monitor.setStatus(CommonConstants.MONITOR_UP_CODE);
+               when(monitorService.getMonitor(1L)).thenReturn(monitor);
+
+               dbAlertStoreHandler.store(alert);
+
+               verify(monitorService).getMonitor(1L);
+               assertEquals("test-monitor", 
alert.getTags().get(CommonConstants.TAG_MONITOR_NAME));
+               assertEquals("test-host", 
alert.getTags().get(CommonConstants.TAG_MONITOR_HOST));
+               verify(alertService).addAlert(alert);
+       }
 
-    @Test
-    void store() {
-    }
 }
diff --git 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/GotifyAlertNotifyHandlerImplTest.java
similarity index 78%
copy from 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
copy to 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/GotifyAlertNotifyHandlerImplTest.java
index f9828ea80..0f48da286 100644
--- 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
+++ 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/GotifyAlertNotifyHandlerImplTest.java
@@ -17,19 +17,10 @@
 
 package org.apache.hertzbeat.manager.component.alerter.impl;
 
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
 
 /**
- * Test case for {@link DbAlertStoreHandlerImpl}
+ * Test case for {@link AliYunAlertNotifyHandlerImpl}
  */
-class DbAlertStoreHandlerImplTest {
 
-    @BeforeEach
-    void setUp() {
-    }
-
-    @Test
-    void store() {
-    }
+class GotifyAlertNotifyHandlerImplTest {
 }
diff --git 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/ServerChanAlertNotifyHandlerImplTest.java
similarity index 78%
copy from 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
copy to 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/ServerChanAlertNotifyHandlerImplTest.java
index f9828ea80..1998eb748 100644
--- 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
+++ 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/ServerChanAlertNotifyHandlerImplTest.java
@@ -17,19 +17,9 @@
 
 package org.apache.hertzbeat.manager.component.alerter.impl;
 
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
 /**
- * Test case for {@link DbAlertStoreHandlerImpl}
+ * test case for {@link ServerChanAlertNotifyHandlerImpl}
  */
-class DbAlertStoreHandlerImplTest {
-
-    @BeforeEach
-    void setUp() {
-    }
 
-    @Test
-    void store() {
-    }
+class ServerChanAlertNotifyHandlerImplTest {
 }
diff --git 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/SmsAlertNotifyHandlerImplTest.java
similarity index 78%
copy from 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
copy to 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/SmsAlertNotifyHandlerImplTest.java
index f9828ea80..ae908b8db 100644
--- 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
+++ 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/SmsAlertNotifyHandlerImplTest.java
@@ -17,19 +17,9 @@
 
 package org.apache.hertzbeat.manager.component.alerter.impl;
 
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
 /**
- * Test case for {@link DbAlertStoreHandlerImpl}
+ * test case for {@link SmsAlertNotifyHandlerImpl}
  */
-class DbAlertStoreHandlerImplTest {
-
-    @BeforeEach
-    void setUp() {
-    }
 
-    @Test
-    void store() {
-    }
+class SmsAlertNotifyHandlerImplTest {
 }
diff --git 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/WeComAppAlertNotifyHandlerImplTest.java
similarity index 78%
copy from 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
copy to 
manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/WeComAppAlertNotifyHandlerImplTest.java
index f9828ea80..ae66e5688 100644
--- 
a/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/DbAlertStoreHandlerImplTest.java
+++ 
b/manager/src/test/java/org/apache/hertzbeat/manager/component/alerter/impl/WeComAppAlertNotifyHandlerImplTest.java
@@ -17,19 +17,9 @@
 
 package org.apache.hertzbeat.manager.component.alerter.impl;
 
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
 /**
- * Test case for {@link DbAlertStoreHandlerImpl}
+ * test case for {@link WeComAppAlertNotifyHandlerImpl}
  */
-class DbAlertStoreHandlerImplTest {
-
-    @BeforeEach
-    void setUp() {
-    }
 
-    @Test
-    void store() {
-    }
+class WeComAppAlertNotifyHandlerImplTest {
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to