diff --git a/model.go b/model.go index ee00009..1ffff94 100644 --- a/model.go +++ b/model.go @@ -527,7 +527,7 @@ func getAlertBody(stream string, targetId string) string { }`, stream, targetId) } -func getMetadataFromAlertResponse(body io.Reader) (string, string, string) { +func getMetadataFromAlertResponse(body io.Reader) (string, string, string, []string) { type AlertConfig struct { Severity string `json:"severity"` Title string `json:"title"` @@ -536,6 +536,7 @@ func getMetadataFromAlertResponse(body io.Reader) (string, string, string) { AlertType string `json:"alertType"` Tags []string `json:"tags"` Created string `json:"created"` + Datasets []string `json:"datasets"` } var response []AlertConfig @@ -544,10 +545,11 @@ func getMetadataFromAlertResponse(body io.Reader) (string, string, string) { } alert := response[0] - return alert.Id, alert.State, alert.Created + return alert.Id, alert.State, alert.Created, alert.Datasets } -func createAlertResponse(id string, state string, created string) string { +func createAlertResponse(id string, state string, created string, datasets []string) string { + datasetsJSON, _ := json.Marshal(datasets) return fmt.Sprintf(` [ { @@ -559,7 +561,8 @@ func createAlertResponse(id string, state string, created string) string { "state": "%s", "tags": [ "quest-test" - ] + ], + "datasets": %s } -]`, created, id, state) +]`, created, id, state, string(datasetsJSON)) } diff --git a/quest_test.go b/quest_test.go index 5dd4b26..b823498 100644 --- a/quest_test.go +++ b/quest_test.go @@ -437,9 +437,9 @@ func TestSmokeGetAlert(t *testing.T) { reader1 = bytes.NewReader(body) reader2 := bytes.NewReader(body) expected := readAsString(reader1) - id, state, created := getMetadataFromAlertResponse(reader2) + id, state, created, datasets := getMetadataFromAlertResponse(reader2) require.Equalf(t, 200, response.StatusCode, "Server returned http code: %s and response: %s", response.Status, body) - res := createAlertResponse(id, state, created) + res := createAlertResponse(id, state, created, datasets) 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)