mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
move eval_conditions to API models package (#51447)
This commit is contained in:
parent
99f921cf32
commit
78c012df65
@ -43,7 +43,7 @@ func TestRouteTestGrafanaRuleConfig(t *testing.T) {
|
|||||||
|
|
||||||
response := srv.RouteTestGrafanaRuleConfig(rc, definitions.TestRulePayload{
|
response := srv.RouteTestGrafanaRuleConfig(rc, definitions.TestRulePayload{
|
||||||
Expr: "",
|
Expr: "",
|
||||||
GrafanaManagedCondition: &models.EvalAlertConditionCommand{
|
GrafanaManagedCondition: &definitions.EvalAlertConditionCommand{
|
||||||
Condition: data1.RefID,
|
Condition: data1.RefID,
|
||||||
Data: []models.AlertQuery{data1, data2},
|
Data: []models.AlertQuery{data1, data2},
|
||||||
Now: time.Time{},
|
Now: time.Time{},
|
||||||
@ -75,7 +75,7 @@ func TestRouteTestGrafanaRuleConfig(t *testing.T) {
|
|||||||
|
|
||||||
response := srv.RouteTestGrafanaRuleConfig(rc, definitions.TestRulePayload{
|
response := srv.RouteTestGrafanaRuleConfig(rc, definitions.TestRulePayload{
|
||||||
Expr: "",
|
Expr: "",
|
||||||
GrafanaManagedCondition: &models.EvalAlertConditionCommand{
|
GrafanaManagedCondition: &definitions.EvalAlertConditionCommand{
|
||||||
Condition: data1.RefID,
|
Condition: data1.RefID,
|
||||||
Data: []models.AlertQuery{data1, data2},
|
Data: []models.AlertQuery{data1, data2},
|
||||||
Now: time.Time{},
|
Now: time.Time{},
|
||||||
@ -115,7 +115,7 @@ func TestRouteTestGrafanaRuleConfig(t *testing.T) {
|
|||||||
|
|
||||||
response := srv.RouteTestGrafanaRuleConfig(rc, definitions.TestRulePayload{
|
response := srv.RouteTestGrafanaRuleConfig(rc, definitions.TestRulePayload{
|
||||||
Expr: "",
|
Expr: "",
|
||||||
GrafanaManagedCondition: &models.EvalAlertConditionCommand{
|
GrafanaManagedCondition: &definitions.EvalAlertConditionCommand{
|
||||||
Condition: data1.RefID,
|
Condition: data1.RefID,
|
||||||
Data: []models.AlertQuery{data1},
|
Data: []models.AlertQuery{data1},
|
||||||
Now: time.Time{},
|
Now: time.Time{},
|
||||||
@ -129,7 +129,7 @@ func TestRouteTestGrafanaRuleConfig(t *testing.T) {
|
|||||||
|
|
||||||
response = srv.RouteTestGrafanaRuleConfig(rc, definitions.TestRulePayload{
|
response = srv.RouteTestGrafanaRuleConfig(rc, definitions.TestRulePayload{
|
||||||
Expr: "",
|
Expr: "",
|
||||||
GrafanaManagedCondition: &models.EvalAlertConditionCommand{
|
GrafanaManagedCondition: &definitions.EvalAlertConditionCommand{
|
||||||
Condition: data1.RefID,
|
Condition: data1.RefID,
|
||||||
Data: []models.AlertQuery{data1},
|
Data: []models.AlertQuery{data1},
|
||||||
Now: time.Time{},
|
Now: time.Time{},
|
||||||
|
@ -1,16 +1,18 @@
|
|||||||
package models
|
package definitions
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
// EvalAlertConditionCommand is the command for evaluating a condition
|
// EvalAlertConditionCommand is the command for evaluating a condition
|
||||||
type EvalAlertConditionCommand struct {
|
type EvalAlertConditionCommand struct {
|
||||||
Condition string `json:"condition"`
|
Condition string `json:"condition"`
|
||||||
Data []AlertQuery `json:"data"`
|
Data []models.AlertQuery `json:"data"` // TODO yuri. Create API model for AlertQuery
|
||||||
Now time.Time `json:"now"`
|
Now time.Time `json:"now"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cmd *EvalAlertConditionCommand) UnmarshalJSON(b []byte) error {
|
func (cmd *EvalAlertConditionCommand) UnmarshalJSON(b []byte) error {
|
@ -69,7 +69,7 @@ type TestRulePayload struct {
|
|||||||
// Example: (node_filesystem_avail_bytes{fstype!="",job="integrations/node_exporter"} node_filesystem_size_bytes{fstype!="",job="integrations/node_exporter"} * 100 < 5 and node_filesystem_readonly{fstype!="",job="integrations/node_exporter"} == 0)
|
// Example: (node_filesystem_avail_bytes{fstype!="",job="integrations/node_exporter"} node_filesystem_size_bytes{fstype!="",job="integrations/node_exporter"} * 100 < 5 and node_filesystem_readonly{fstype!="",job="integrations/node_exporter"} == 0)
|
||||||
Expr string `json:"expr,omitempty"`
|
Expr string `json:"expr,omitempty"`
|
||||||
// GrafanaManagedCondition for grafana alerts
|
// GrafanaManagedCondition for grafana alerts
|
||||||
GrafanaManagedCondition *models.EvalAlertConditionCommand `json:"grafana_condition,omitempty"`
|
GrafanaManagedCondition *EvalAlertConditionCommand `json:"grafana_condition,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// swagger:parameters RouteEvalQueries
|
// swagger:parameters RouteEvalQueries
|
||||||
|
@ -4,8 +4,9 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
|
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestRulePayloadMarshaling(t *testing.T) {
|
func TestRulePayloadMarshaling(t *testing.T) {
|
||||||
@ -30,7 +31,7 @@ func TestRulePayloadMarshaling(t *testing.T) {
|
|||||||
data.Model = raw
|
data.Model = raw
|
||||||
|
|
||||||
return TestRulePayload{
|
return TestRulePayload{
|
||||||
GrafanaManagedCondition: &models.EvalAlertConditionCommand{
|
GrafanaManagedCondition: &EvalAlertConditionCommand{
|
||||||
Condition: "placeholder",
|
Condition: "placeholder",
|
||||||
Data: []models.AlertQuery{data},
|
Data: []models.AlertQuery{data},
|
||||||
},
|
},
|
||||||
@ -41,7 +42,7 @@ func TestRulePayloadMarshaling(t *testing.T) {
|
|||||||
desc: "failure mixed",
|
desc: "failure mixed",
|
||||||
input: TestRulePayload{
|
input: TestRulePayload{
|
||||||
Expr: "rate({cluster=\"us-central1\", job=\"loki-prod/loki-canary\"}[1m]) > 0",
|
Expr: "rate({cluster=\"us-central1\", job=\"loki-prod/loki-canary\"}[1m]) > 0",
|
||||||
GrafanaManagedCondition: &models.EvalAlertConditionCommand{},
|
GrafanaManagedCondition: &EvalAlertConditionCommand{},
|
||||||
},
|
},
|
||||||
err: true,
|
err: true,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user