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]