Alerting: rules delete API to check data source authorization (#46906)

* merge RuleSrv rule delete methods
* remove unused store methods
* implement delete by uid for fake store
* add scheduler mock
* implement tests for RouteDeleteAlertRules
This commit is contained in:
Yuriy Tseretyan
2022-03-25 12:39:24 -04:00
committed by GitHub
parent a06329d988
commit e20d157a9b
8 changed files with 508 additions and 111 deletions
@@ -1890,7 +1890,7 @@ func TestAlertRuleCRUD(t *testing.T) {
client := &http.Client{}
// Finally, make sure we can delete it.
{
t.Run("fail if he rule group name does not exists", func(t *testing.T) {
t.Run("succeed if the rule group name does not exists", func(t *testing.T) {
u := fmt.Sprintf("http://grafana:password@%s/api/ruler/grafana/api/v1/rules/default/groupnotexist", grafanaListedAddr)
req, err := http.NewRequest(http.MethodDelete, u, nil)
require.NoError(t, err)
@@ -1903,8 +1903,8 @@ func TestAlertRuleCRUD(t *testing.T) {
b, err := ioutil.ReadAll(resp.Body)
require.NoError(t, err)
require.Equal(t, http.StatusNotFound, resp.StatusCode)
require.JSONEq(t, `{"message": "failed to delete rule group: rule group not found under this namespace"}`, string(b))
require.Equal(t, http.StatusAccepted, resp.StatusCode)
require.JSONEq(t, `{"message":"rules deleted"}`, string(b))
})
t.Run("succeed if the rule group name does exist", func(t *testing.T) {
@@ -1921,7 +1921,7 @@ func TestAlertRuleCRUD(t *testing.T) {
require.NoError(t, err)
require.Equal(t, http.StatusAccepted, resp.StatusCode)
require.JSONEq(t, `{"message":"rule group deleted"}`, string(b))
require.JSONEq(t, `{"message":"rules deleted"}`, string(b))
})
}
}