|
|
|
@ -19,44 +19,52 @@ package org.apache.dolphinscheduler.dao.mapper;
|
|
|
|
|
import org.apache.dolphinscheduler.common.enums.AlertStatus; |
|
|
|
|
import org.apache.dolphinscheduler.common.enums.AlertType; |
|
|
|
|
import org.apache.dolphinscheduler.common.enums.ShowType; |
|
|
|
|
import org.apache.dolphinscheduler.common.utils.DateUtils; |
|
|
|
|
import org.apache.dolphinscheduler.dao.entity.Alert; |
|
|
|
|
import org.junit.Assert; |
|
|
|
|
import org.junit.Test; |
|
|
|
|
import org.junit.runner.RunWith; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.boot.test.context.SpringBootTest; |
|
|
|
|
import org.springframework.test.annotation.Rollback; |
|
|
|
|
import org.springframework.test.context.junit4.SpringRunner; |
|
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
|
import java.util.Date; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
|
import static org.hamcrest.Matchers.*; |
|
|
|
|
import static org.junit.Assert.*; |
|
|
|
|
|
|
|
|
|
@RunWith(SpringRunner.class) |
|
|
|
|
@SpringBootTest |
|
|
|
|
@Transactional |
|
|
|
|
@Rollback(true) |
|
|
|
|
public class AlertMapperTest { |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
AlertMapper alertMapper; |
|
|
|
|
private AlertMapper alertMapper; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* insert |
|
|
|
|
* @return Alert |
|
|
|
|
* test insert |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
private Alert insertOne(){ |
|
|
|
|
//insertOne
|
|
|
|
|
Alert alert = new Alert(); |
|
|
|
|
alert.setContent("[{'type':'WORKER','host':'192.168.xx.xx','event':'server down','warning level':'serious'}]"); |
|
|
|
|
alert.setLog("success"); |
|
|
|
|
alert.setReceivers("xx@aa.com"); |
|
|
|
|
alert.setAlertType(AlertType.EMAIL); |
|
|
|
|
alert.setShowType(ShowType.TABLE); |
|
|
|
|
alert.setAlertGroupId(1); |
|
|
|
|
alert.setAlertStatus(AlertStatus.EXECUTION_SUCCESS); |
|
|
|
|
alert.setCreateTime(new Date()); |
|
|
|
|
alert.setUpdateTime(new Date()); |
|
|
|
|
alertMapper.insert(alert); |
|
|
|
|
return alert; |
|
|
|
|
@Test |
|
|
|
|
public void testInsert(){ |
|
|
|
|
Alert expectedAlert = createAlert(); |
|
|
|
|
assertNotNull(expectedAlert.getId()); |
|
|
|
|
assertThat(expectedAlert.getId(), greaterThan(0)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* test select by id |
|
|
|
|
* @return |
|
|
|
|
*/ |
|
|
|
|
@Test |
|
|
|
|
public void testSelectById(){ |
|
|
|
|
Alert expectedAlert = createAlert(); |
|
|
|
|
Alert actualAlert = alertMapper.selectById(expectedAlert.getId()); |
|
|
|
|
assertEquals(expectedAlert, actualAlert); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -64,13 +72,18 @@ public class AlertMapperTest {
|
|
|
|
|
*/ |
|
|
|
|
@Test |
|
|
|
|
public void testUpdate(){ |
|
|
|
|
//insertOne
|
|
|
|
|
Alert alert = insertOne(); |
|
|
|
|
//update
|
|
|
|
|
alert.setTitle("hello"); |
|
|
|
|
int update = alertMapper.updateById(alert); |
|
|
|
|
Assert.assertEquals(update, 1); |
|
|
|
|
alertMapper.deleteById(alert.getId()); |
|
|
|
|
|
|
|
|
|
Alert expectedAlert = createAlert(); |
|
|
|
|
|
|
|
|
|
expectedAlert.setAlertStatus(AlertStatus.EXECUTION_FAILURE); |
|
|
|
|
expectedAlert.setLog("error"); |
|
|
|
|
expectedAlert.setUpdateTime(DateUtils.getCurrentDate()); |
|
|
|
|
|
|
|
|
|
alertMapper.updateById(expectedAlert); |
|
|
|
|
|
|
|
|
|
Alert actualAlert = alertMapper.selectById(expectedAlert.getId()); |
|
|
|
|
|
|
|
|
|
assertEquals(expectedAlert, actualAlert); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -78,33 +91,83 @@ public class AlertMapperTest {
|
|
|
|
|
*/ |
|
|
|
|
@Test |
|
|
|
|
public void testDelete(){ |
|
|
|
|
Alert expectedAlert = createAlert(); |
|
|
|
|
|
|
|
|
|
alertMapper.deleteById(expectedAlert.getId()); |
|
|
|
|
|
|
|
|
|
Alert alert = insertOne(); |
|
|
|
|
int delete = alertMapper.deleteById(alert.getId()); |
|
|
|
|
Assert.assertEquals(delete, 1); |
|
|
|
|
Alert actualAlert = alertMapper.selectById(expectedAlert.getId()); |
|
|
|
|
|
|
|
|
|
assertNull(actualAlert); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* test query |
|
|
|
|
* test list alert by status |
|
|
|
|
*/ |
|
|
|
|
@Test |
|
|
|
|
public void testQuery() { |
|
|
|
|
Alert alert = insertOne(); |
|
|
|
|
//query
|
|
|
|
|
List<Alert> alerts = alertMapper.selectList(null); |
|
|
|
|
Assert.assertNotEquals(alerts.size(), 0); |
|
|
|
|
alertMapper.deleteById(alert.getId()); |
|
|
|
|
public void testListAlertByStatus() { |
|
|
|
|
Integer count = 10; |
|
|
|
|
AlertStatus waitExecution = AlertStatus.WAIT_EXECUTION; |
|
|
|
|
|
|
|
|
|
Map<Integer,Alert> expectedAlertMap = createAlertMap(count, waitExecution); |
|
|
|
|
|
|
|
|
|
List<Alert> actualAlerts = alertMapper.listAlertByStatus(waitExecution); |
|
|
|
|
|
|
|
|
|
for (Alert actualAlert : actualAlerts){ |
|
|
|
|
Alert expectedAlert = expectedAlertMap.get(actualAlert.getId()); |
|
|
|
|
if (expectedAlert != null){ |
|
|
|
|
assertEquals(expectedAlert,actualAlert); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* test list alert by status |
|
|
|
|
* create alert map |
|
|
|
|
* @param count alert count |
|
|
|
|
* @param alertStatus alert status |
|
|
|
|
* @return alert map |
|
|
|
|
*/ |
|
|
|
|
@Test |
|
|
|
|
public void testListAlertByStatus() { |
|
|
|
|
Alert alert = insertOne(); |
|
|
|
|
//query
|
|
|
|
|
List<Alert> alerts = alertMapper.listAlertByStatus(AlertStatus.EXECUTION_SUCCESS); |
|
|
|
|
Assert.assertNotEquals(alerts.size(), 0); |
|
|
|
|
alertMapper.deleteById(alert.getId()); |
|
|
|
|
private Map<Integer,Alert> createAlertMap(Integer count,AlertStatus alertStatus){ |
|
|
|
|
Map<Integer,Alert> alertMap = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
for (int i = 0 ; i < count ;i++){ |
|
|
|
|
Alert alert = createAlert(alertStatus); |
|
|
|
|
alertMap.put(alert.getId(),alert); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return alertMap; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* create alert |
|
|
|
|
* @return alert |
|
|
|
|
* @throws Exception |
|
|
|
|
*/ |
|
|
|
|
private Alert createAlert(){ |
|
|
|
|
return createAlert(AlertStatus.WAIT_EXECUTION); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* create alert |
|
|
|
|
* @param alertStatus alert status |
|
|
|
|
* @return alert |
|
|
|
|
*/ |
|
|
|
|
private Alert createAlert(AlertStatus alertStatus){ |
|
|
|
|
Alert alert = new Alert(); |
|
|
|
|
alert.setShowType(ShowType.TABLE); |
|
|
|
|
alert.setTitle("test alert"); |
|
|
|
|
alert.setContent("[{'type':'WORKER','host':'192.168.xx.xx','event':'server down','warning level':'serious'}]"); |
|
|
|
|
alert.setAlertType(AlertType.EMAIL); |
|
|
|
|
alert.setAlertStatus(alertStatus); |
|
|
|
|
alert.setLog("success"); |
|
|
|
|
alert.setReceivers("aa@aa.com"); |
|
|
|
|
alert.setReceiversCc("bb@aa.com"); |
|
|
|
|
alert.setCreateTime(DateUtils.getCurrentDate()); |
|
|
|
|
alert.setUpdateTime(DateUtils.getCurrentDate()); |
|
|
|
|
|
|
|
|
|
alertMapper.insert(alert); |
|
|
|
|
return alert; |
|
|
|
|
} |
|
|
|
|
} |