mirror of
https://github.com/grafana/grafana.git
synced 2024-12-02 05:29:42 -06:00
583b94557b
* Refactor: adds permissions for library panel creation * Refactor: checks folder permissions for patch requests * Chore: changes after PR comments * Refactor: adds permissions to delete * Refactor: moves get all permission tests out of get all tests * Chore: move out get all tests to a separate file * Refactor: adds permissions to get handler * Refactor: fixes a bug with getting library panels in General folder * Refactor: adds permissions for connect/disconnect * Refactor: adds permissions and tests for get connected dashboards * Tests: adds tests for connected dashboards in General Folder
34 lines
1.2 KiB
Go
34 lines
1.2 KiB
Go
package librarypanels
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/grafana/grafana/pkg/models"
|
|
)
|
|
|
|
func TestDeleteLibraryPanel(t *testing.T) {
|
|
scenarioWithLibraryPanel(t, "When an admin tries to delete a library panel that does not exist, it should fail",
|
|
func(t *testing.T, sc scenarioContext) {
|
|
resp := sc.service.deleteHandler(sc.reqContext)
|
|
require.Equal(t, 404, resp.Status())
|
|
})
|
|
|
|
scenarioWithLibraryPanel(t, "When an admin tries to delete a library panel that exists, it should succeed",
|
|
func(t *testing.T, sc scenarioContext) {
|
|
sc.reqContext.ReplaceAllParams(map[string]string{":uid": sc.initialResult.Result.UID})
|
|
resp := sc.service.deleteHandler(sc.reqContext)
|
|
require.Equal(t, 200, resp.Status())
|
|
})
|
|
|
|
scenarioWithLibraryPanel(t, "When an admin tries to delete a library panel in another org, it should fail",
|
|
func(t *testing.T, sc scenarioContext) {
|
|
sc.reqContext.ReplaceAllParams(map[string]string{":uid": sc.initialResult.Result.UID})
|
|
sc.reqContext.SignedInUser.OrgId = 2
|
|
sc.reqContext.SignedInUser.OrgRole = models.ROLE_ADMIN
|
|
resp := sc.service.deleteHandler(sc.reqContext)
|
|
require.Equal(t, 404, resp.Status())
|
|
})
|
|
}
|