Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 23 additions & 34 deletions model.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)
}
5 changes: 2 additions & 3 deletions quest_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down