diff --git a/model.go b/model.go index c54d8ba..ee00009 100644 --- a/model.go +++ b/model.go @@ -522,21 +522,20 @@ func getAlertBody(stream string, targetId string) string { }, "targets": [ "%s" - ] + ], + "tags": ["quest-test"] }`, stream, targetId) } -func getIdStateFromAlertResponse(body io.Reader) (string, string) { +func getMetadataFromAlertResponse(body io.Reader) (string, string, string) { type AlertConfig struct { - Severity string `json:"severity"` - Title string `json:"title"` - Id string `json:"id"` - State string `json:"state"` - Query string `json:"query"` - AlertType string `json:"alertType"` - ThresholdConfig string `json:"thresholdConfig"` - EvalConfig string `json:"evalConfig"` - Targets string `json:"targets"` + Severity string `json:"severity"` + Title string `json:"title"` + Id string `json:"id"` + State string `json:"state"` + AlertType string `json:"alertType"` + Tags []string `json:"tags"` + Created string `json:"created"` } var response []AlertConfig @@ -545,32 +544,22 @@ func getIdStateFromAlertResponse(body io.Reader) (string, string) { } alert := response[0] - return alert.Id, alert.State + return alert.Id, alert.State, alert.Created } -func createAlertResponse(id string, state string, stream string, targetId string) string { +func createAlertResponse(id string, state string, created string) string { return fmt.Sprintf(` - [{ - "version": "v2", - "id": "%s", - "severity": "medium", + [ + { "title": "AlertTitle", - "query": "select count(level) from %s where level = 'info'", + "created": "%s", "alertType": "threshold", - "thresholdConfig": { - "operator": "=", - "value": 100.0 - }, - "evalConfig": { - "rollingWindow": { - "evalStart": "5m", - "evalEnd": "now", - "evalFrequency": 1 - } - }, - "targets": [ - "%s" - ], - "state": "%s" - }]`, id, stream, targetId, state) + "id": "%s", + "severity": "Medium (P2)", + "state": "%s", + "tags": [ + "quest-test" + ] + } +]`, created, id, state) } diff --git a/quest_test.go b/quest_test.go index 9bda6f0..5dd4b26 100644 --- a/quest_test.go +++ b/quest_test.go @@ -375,7 +375,6 @@ func TestSmokeLoad_CustomPartition_WithK6Stream(t *testing.T) { // } func TestSmokeSetTarget(t *testing.T) { - // RunFlog(t, NewGlob.QueryClient, NewGlob.Stream) body := getTargetBody() req, _ := NewGlob.QueryClient.NewRequest("POST", "/targets", strings.NewReader(body)) response, err := NewGlob.QueryClient.Do(req) @@ -438,9 +437,9 @@ func TestSmokeGetAlert(t *testing.T) { reader1 = bytes.NewReader(body) reader2 := bytes.NewReader(body) expected := readAsString(reader1) - id, state := getIdStateFromAlertResponse(reader2) + id, state, created := getMetadataFromAlertResponse(reader2) require.Equalf(t, 200, response.StatusCode, "Server returned http code: %s and response: %s", response.Status, body) - res := createAlertResponse(id, state, stream, targetId) + res := createAlertResponse(id, state, created) require.JSONEq(t, expected, res, "Get alert response doesn't match with Alert config returned") DeleteAlert(t, NewGlob.QueryClient, id) DeleteTarget(t, NewGlob.QueryClient, targetId)