feat: implement V2 alert center and scoped alert governance
This commit is contained in:
@@ -71,18 +71,26 @@ func TestAlertRuleHTTPScopesAndLifecycle(t *testing.T) {
|
||||
}
|
||||
return result
|
||||
}
|
||||
if err := db.Exec("INSERT INTO sys_alert_rule(id,rule_name,rule_type,monitor_metric,warning_color,creator_id,is_deleted) VALUES(9007199254740992,'旧规则','旧分类',3,'red',7,1)").Error; err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
payload := `{"ruleName":"注册异常","ruleType":"自定义分类","monitorMetric":1,"statPeriodDays":7,"momDirection":2,"momThreshold":"9999","warningColor":"#f56c6c","creatorId":99,"monitorScope":99}`
|
||||
created := call(7, "POST", "/sw/alertRule/add", payload, 0)["data"].(map[string]any)
|
||||
id := uint64(created["id"].(float64))
|
||||
id, err := strconv.ParseUint(created["id"].(string), 10, 64)
|
||||
if err != nil || created["id"] != "9007199254740993" {
|
||||
t.Fatalf("大 ID 丢失精度: %+v", created)
|
||||
}
|
||||
path := fmt.Sprintf("/sw/alertRule/%d", id)
|
||||
value := call(8, "GET", path, "", 0)["data"].(map[string]any)
|
||||
if value["creatorId"] != float64(7) || value["monitorScope"] != float64(1) || value["momThreshold"] != float64(9999) {
|
||||
if value["id"] != "9007199254740993" || value["creatorId"] != float64(7) || value["monitorScope"] != float64(1) || value["momThreshold"] != float64(9999) {
|
||||
t.Fatalf("规则参数、归属或阈值不正确: %+v", value)
|
||||
}
|
||||
call(99, "GET", path, "", 7)
|
||||
call(8, "POST", "/sw/alertRule/add", payload, 7)
|
||||
call(7, "PUT", fmt.Sprintf("/sw/alertRule/toggle/%d?enabled=0", id), "", 0)
|
||||
call(7, "PUT", "/sw/alertRule/edit", fmt.Sprintf(`{"id":%d,"ruleName":"登录规则","ruleType":"新分类","monitorMetric":3,"unloginDays":7,"warningColor":"red"}`, id), 0)
|
||||
call(7, "POST", "/sw/alertRule/add", fmt.Sprintf(`{"id":%d,"ruleName":"绕过编辑权限","ruleType":"分类","monitorMetric":3,"unloginDays":7,"warningColor":"red"}`, id), 7)
|
||||
call(7, "PUT", "/sw/alertRule/edit", `{"ruleName":"绕过新建权限","ruleType":"分类","monitorMetric":3,"unloginDays":7,"warningColor":"red"}`, 7)
|
||||
call(7, "PUT", "/sw/alertRule/edit", fmt.Sprintf(`{"id":"%d","ruleName":"登录规则","ruleType":"新分类","monitorMetric":3,"unloginDays":7,"warningColor":"red"}`, id), 0)
|
||||
value = call(7, "GET", path, "", 0)["data"].(map[string]any)
|
||||
if value["enabled"] != float64(0) || value["statPeriodDays"] != float64(7) || value["momThreshold"] != float64(9999) {
|
||||
t.Fatal("编辑覆盖启停状态或未传入的历史参数")
|
||||
|
||||
Reference in New Issue
Block a user