@@ -18,7 +18,28 @@ func TestAlertRules(t *testing.T) {
18
18
t .Error (err )
19
19
}
20
20
if alertRule .UID != "123abcd" {
21
- t .Errorf ("incorrect UID - expected %s got %#v" , "123abcd" , alertRule .UID )
21
+ t .Errorf ("incorrect UID - expected %s got %s" , "123abcd" , alertRule .UID )
22
+ }
23
+ })
24
+
25
+ t .Run ("get alert rule group succeeds" , func (t * testing.T ) {
26
+ server , client := gapiTestTools (t , 200 , getAlertRuleGroupJSON )
27
+ defer server .Close ()
28
+
29
+ group , err := client .AlertRuleGroup ("d8-gk06nz" , "test" )
30
+
31
+ if err != nil {
32
+ t .Error (err )
33
+ }
34
+ t .Log (pretty .PrettyFormat (group ))
35
+ if group .Title != "test" {
36
+ t .Errorf ("incorrect title - expected %s got %s" , "test" , group .Title )
37
+ }
38
+ if group .FolderUID != "d8-gk06nz" {
39
+ t .Errorf ("incorrect folderUID - expected %s got %s" , "d8-gk06nz" , group .FolderUID )
40
+ }
41
+ if len (group .Rules ) != 1 {
42
+ t .Errorf ("wrong number of rules, got %d" , len (group .Rules ))
22
43
}
23
44
})
24
45
@@ -128,3 +149,92 @@ const getAlertRuleJSON = `
128
149
"for": 0
129
150
}
130
151
`
152
+
153
+ const getAlertRuleGroupJSON = `
154
+ {
155
+ "title": "test",
156
+ "folderUid": "d8-gk06nz",
157
+ "interval": 60,
158
+ "rules": [
159
+ {
160
+ "ID": 1,
161
+ "OrgID": 1,
162
+ "Title": "abc",
163
+ "Condition": "B",
164
+ "Data": [
165
+ {
166
+ "refId": "A",
167
+ "queryType": "",
168
+ "relativeTimeRange": {
169
+ "from": 600,
170
+ "to": 0
171
+ },
172
+ "datasourceUid": "PD8C576611E62080A",
173
+ "model": {
174
+ "hide": false,
175
+ "intervalMs": 1000,
176
+ "maxDataPoints": 43200,
177
+ "refId": "A"
178
+ }
179
+ },
180
+ {
181
+ "refId": "B",
182
+ "queryType": "",
183
+ "relativeTimeRange": {
184
+ "from": 0,
185
+ "to": 0
186
+ },
187
+ "datasourceUid": "-100",
188
+ "model": {
189
+ "conditions": [
190
+ {
191
+ "evaluator": {
192
+ "params": [
193
+ 3
194
+ ],
195
+ "type": "gt"
196
+ },
197
+ "operator": {
198
+ "type": "and"
199
+ },
200
+ "query": {
201
+ "params": [
202
+ "A"
203
+ ]
204
+ },
205
+ "reducer": {
206
+ "params": [],
207
+ "type": "last"
208
+ },
209
+ "type": "query"
210
+ }
211
+ ],
212
+ "datasource": {
213
+ "type": "__expr__",
214
+ "uid": "-100"
215
+ },
216
+ "hide": false,
217
+ "intervalMs": 1000,
218
+ "maxDataPoints": 43200,
219
+ "refId": "B",
220
+ "type": "classic_conditions"
221
+ }
222
+ }
223
+ ],
224
+ "Updated": "2022-07-07T16:23:56-05:00",
225
+ "IntervalSeconds": 60,
226
+ "Version": 1,
227
+ "UID": "hsXgz0enz",
228
+ "NamespaceUID": "d8-gk06nz",
229
+ "DashboardUID": null,
230
+ "PanelID": null,
231
+ "RuleGroup": "test",
232
+ "RuleGroupIndex": 1,
233
+ "NoDataState": "NoData",
234
+ "ExecErrState": "Alerting",
235
+ "For": 300000000000,
236
+ "Annotations": {},
237
+ "Labels": {}
238
+ }
239
+ ]
240
+ }`
0 commit comments