PermissionRegistry: Error on unknown kind (#91469)

* PermissionRegistry: Error on unknown kind

* Account for PR feedback

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>

* Add missing alerting scope

---------

Co-authored-by: Eric Leijonmarck <eric.leijonmarck@gmail.com>
This commit is contained in:
Gabriel MABILLE
2024-08-28 15:58:25 +02:00
committed by GitHub
co-authored by Eric Leijonmarck
parent 2bb2183b41
commit 2a1a43fc9b
4 changed files with 86 additions and 35 deletions
@@ -1,22 +1,38 @@
package test
import "github.com/grafana/grafana/pkg/services/accesscontrol/permreg"
import (
"testing"
func ProvidePermissionRegistry() permreg.PermissionRegistry {
"github.com/stretchr/testify/require"
"github.com/grafana/grafana/pkg/services/accesscontrol/permreg"
)
func ProvidePermissionRegistry(t *testing.T) permreg.PermissionRegistry {
permReg := permreg.ProvidePermissionRegistry()
// Test core permissions
permReg.RegisterPermission("datasources:read", "datasources:uid:")
permReg.RegisterPermission("dashboards:read", "dashboards:uid:")
permReg.RegisterPermission("dashboards:read", "folders:uid:")
permReg.RegisterPermission("folders:read", "folders:uid:")
err := permReg.RegisterPermission("datasources:read", "datasources:uid:")
require.NoError(t, err)
err = permReg.RegisterPermission("dashboards:read", "dashboards:uid:")
require.NoError(t, err)
err = permReg.RegisterPermission("dashboards:read", "folders:uid:")
require.NoError(t, err)
err = permReg.RegisterPermission("folders:read", "folders:uid:")
require.NoError(t, err)
// Test plugins permissions
permReg.RegisterPermission("plugins.app:access", "plugins:id:")
err = permReg.RegisterPermission("plugins.app:access", "plugins:id:")
require.NoError(t, err)
// App
permReg.RegisterPermission("test-app:read", "")
permReg.RegisterPermission("test-app.settings:read", "")
permReg.RegisterPermission("test-app.projects:read", "")
err = permReg.RegisterPermission("test-app:read", "")
require.NoError(t, err)
err = permReg.RegisterPermission("test-app.settings:read", "")
require.NoError(t, err)
err = permReg.RegisterPermission("test-app.projects:read", "")
require.NoError(t, err)
// App 1
permReg.RegisterPermission("test-app1.catalog:read", "")
permReg.RegisterPermission("test-app1.announcements:read", "")
err = permReg.RegisterPermission("test-app1.catalog:read", "")
require.NoError(t, err)
err = permReg.RegisterPermission("test-app1.announcements:read", "")
require.NoError(t, err)
return permReg
}