Skip to content

Commit b164d06

Browse files
committed
DEV-46158 - Allow editors to manage alerting provisioning
1 parent 43c1afd commit b164d06

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

pkg/services/ngalert/accesscontrol.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ var (
181181
},
182182
},
183183
},
184-
Grants: []string{string(org.RoleAdmin)},
184+
Grants: []string{string(org.RoleEditor), string(org.RoleAdmin)}, // LOGZ.IO GRAFANA CHANGE :: DEV-46158 - Allow editors to manage alerting provisioning
185185
}
186186

187187
alertingProvisioningReaderWithSecretsRole = accesscontrol.RoleRegistration{

pkg/tests/api/alerting/api_provisioning_test.go

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,17 @@ func TestIntegrationProvisioning(t *testing.T) {
108108
require.Equal(t, 403, resp.StatusCode)
109109
})
110110

111-
t.Run("editor GET should 403", func(t *testing.T) {
111+
// LOGZ.IO GRAFANA CHANGE :: DEV-46158 - Allow editors to manage alerting provisioning
112+
t.Run("editor GET should succeed", func(t *testing.T) {
112113
req := createTestRequest("GET", url, "editor", "")
113114

114115
resp, err := http.DefaultClient.Do(req)
115116
require.NoError(t, err)
116117
require.NoError(t, resp.Body.Close())
117118

118-
require.Equal(t, 403, resp.StatusCode)
119+
require.Equal(t, 200, resp.StatusCode)
119120
})
121+
// LOGZ.IO GRAFANA CHANGE :: End
120122

121123
t.Run("admin GET should succeed", func(t *testing.T) {
122124
req := createTestRequest("GET", url, "admin", "")
@@ -148,15 +150,17 @@ func TestIntegrationProvisioning(t *testing.T) {
148150
require.Equal(t, 403, resp.StatusCode)
149151
})
150152

151-
t.Run("editor PUT should 403", func(t *testing.T) {
153+
// LOGZ.IO GRAFANA CHANGE :: DEV-46158 - Allow editors to manage alerting provisioning
154+
t.Run("editor PUT should succeed", func(t *testing.T) {
152155
req := createTestRequest("PUT", url, "editor", body)
153156

154157
resp, err := http.DefaultClient.Do(req)
155158
require.NoError(t, err)
156159
require.NoError(t, resp.Body.Close())
157160

158-
require.Equal(t, 403, resp.StatusCode)
161+
require.Equal(t, 202, resp.StatusCode)
159162
})
163+
// LOGZ.IO GRAFANA CHANGE :: End
160164

161165
t.Run("admin PUT should succeed", func(t *testing.T) {
162166
req := createTestRequest("PUT", url, "admin", body)
@@ -200,15 +204,17 @@ func TestIntegrationProvisioning(t *testing.T) {
200204
require.Equal(t, 403, resp.StatusCode)
201205
})
202206

203-
t.Run("editor GET should 403", func(t *testing.T) {
207+
// LOGZ.IO GRAFANA CHANGE :: DEV-46158 - Allow editors to manage alerting provisioning
208+
t.Run("editor GET should succeed", func(t *testing.T) {
204209
req := createTestRequest("GET", url, "editor", "")
205210

206211
resp, err := http.DefaultClient.Do(req)
207212
require.NoError(t, err)
208213
require.NoError(t, resp.Body.Close())
209214

210-
require.Equal(t, 403, resp.StatusCode)
215+
require.Equal(t, 200, resp.StatusCode)
211216
})
217+
// LOGZ.IO GRAFANA CHANGE :: End
212218

213219
t.Run("admin GET should succeed", func(t *testing.T) {
214220
req := createTestRequest("GET", url, "admin", "")
@@ -240,15 +246,17 @@ func TestIntegrationProvisioning(t *testing.T) {
240246
require.Equal(t, 403, resp.StatusCode)
241247
})
242248

243-
t.Run("editor POST should 403", func(t *testing.T) {
249+
// LOGZ.IO GRAFANA CHANGE :: DEV-46158 - Allow editors to manage alerting provisioning
250+
t.Run("editor POST should succeed", func(t *testing.T) {
244251
req := createTestRequest("POST", url, "editor", body)
245252

246253
resp, err := http.DefaultClient.Do(req)
247254
require.NoError(t, err)
248255
require.NoError(t, resp.Body.Close())
249256

250-
require.Equal(t, 403, resp.StatusCode)
257+
require.Equal(t, 202, resp.StatusCode)
251258
})
259+
// LOGZ.IO GRAFANA CHANGE :: End
252260

253261
t.Run("admin POST should succeed", func(t *testing.T) {
254262
req := createTestRequest("POST", url, "admin", body)
@@ -284,15 +292,17 @@ func TestIntegrationProvisioning(t *testing.T) {
284292
require.Equal(t, 403, resp.StatusCode)
285293
})
286294

287-
t.Run("editor GET should 403", func(t *testing.T) {
295+
// LOGZ.IO GRAFANA CHANGE :: DEV-46158 - Allow editors to manage alerting provisioning
296+
t.Run("editor GET should succeed", func(t *testing.T) {
288297
req := createTestRequest("GET", url, "editor", "")
289298

290299
resp, err := http.DefaultClient.Do(req)
291300
require.NoError(t, err)
292301
require.NoError(t, resp.Body.Close())
293302

294-
require.Equal(t, 403, resp.StatusCode)
303+
require.Equal(t, 200, resp.StatusCode)
295304
})
305+
// LOGZ.IO GRAFANA CHANGE :: End
296306

297307
t.Run("admin GET should succeed", func(t *testing.T) {
298308
req := createTestRequest("GET", url, "admin", "")
@@ -328,15 +338,17 @@ func TestIntegrationProvisioning(t *testing.T) {
328338
require.Equal(t, 403, resp.StatusCode)
329339
})
330340

331-
t.Run("editor GET should 403", func(t *testing.T) {
341+
// LOGZ.IO GRAFANA CHANGE :: DEV-46158 - Allow editors to manage alerting provisioning
342+
t.Run("editor GET should succeed", func(t *testing.T) {
332343
req := createTestRequest("GET", url, "editor", "")
333344

334345
resp, err := http.DefaultClient.Do(req)
335346
require.NoError(t, err)
336347
require.NoError(t, resp.Body.Close())
337348

338-
require.Equal(t, 403, resp.StatusCode)
349+
require.Equal(t, 200, resp.StatusCode)
339350
})
351+
// LOGZ.IO GRAFANA CHANGE :: End
340352

341353
t.Run("admin GET should succeed", func(t *testing.T) {
342354
req := createTestRequest("GET", url, "admin", "")

0 commit comments

Comments
 (0)