Chore: Move store interface to top level (#83153)

* Chore: Move store interface to top level

* Update store mock
This commit is contained in:
Alexander Zobnin 2024-02-21 16:32:54 +03:00 committed by GitHub
parent be71277d33
commit 9bbb7f67e0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 44 additions and 21 deletions

View File

@ -46,6 +46,16 @@ type Service interface {
SyncUserRoles(ctx context.Context, orgID int64, cmd SyncUserRolesCommand) error
}
//go:generate mockery --name Store --structname MockStore --outpkg actest --filename store_mock.go --output ./actest/
type Store interface {
GetUserPermissions(ctx context.Context, query GetUserPermissionsQuery) ([]Permission, error)
SearchUsersPermissions(ctx context.Context, orgID int64, options SearchOptions) (map[int64][]Permission, error)
GetUsersBasicRoles(ctx context.Context, userFilter []int64, orgID int64) (map[int64][]string, error)
DeleteUserPermissions(ctx context.Context, orgID, userID int64) error
SaveExternalServiceRole(ctx context.Context, cmd SaveExternalServiceRoleCommand) error
DeleteExternalServiceRole(ctx context.Context, externalServiceID string) error
}
type RoleRegistry interface {
// RegisterFixedRoles registers all roles declared to AccessControl
RegisterFixedRoles(ctx context.Context) error

View File

@ -61,7 +61,7 @@ func ProvideService(cfg *setting.Cfg, db db.DB, routeRegister routing.RouteRegis
return service, nil
}
func ProvideOSSService(cfg *setting.Cfg, store store, cache *localcache.CacheService, features featuremgmt.FeatureToggles) *Service {
func ProvideOSSService(cfg *setting.Cfg, store accesscontrol.Store, cache *localcache.CacheService, features featuremgmt.FeatureToggles) *Service {
s := &Service{
cache: cache,
cfg: cfg,
@ -74,16 +74,6 @@ func ProvideOSSService(cfg *setting.Cfg, store store, cache *localcache.CacheSer
return s
}
//go:generate mockery --name store --structname MockStore --outpkg actest --filename store_mock.go --output ../actest/
type store interface {
GetUserPermissions(ctx context.Context, query accesscontrol.GetUserPermissionsQuery) ([]accesscontrol.Permission, error)
SearchUsersPermissions(ctx context.Context, orgID int64, options accesscontrol.SearchOptions) (map[int64][]accesscontrol.Permission, error)
GetUsersBasicRoles(ctx context.Context, userFilter []int64, orgID int64) (map[int64][]string, error)
DeleteUserPermissions(ctx context.Context, orgID, userID int64) error
SaveExternalServiceRole(ctx context.Context, cmd accesscontrol.SaveExternalServiceRoleCommand) error
DeleteExternalServiceRole(ctx context.Context, externalServiceID string) error
}
// Service is the service implementing role based access control.
type Service struct {
cache *localcache.CacheService
@ -92,7 +82,7 @@ type Service struct {
log log.Logger
registrations accesscontrol.RegistrationList
roles map[string]*accesscontrol.RoleDTO
store store
store accesscontrol.Store
}
func (s *Service) GetUsageStats(_ context.Context) map[string]any {

View File

@ -1,16 +1,16 @@
// Code generated by mockery v2.20.0. DO NOT EDIT.
// Code generated by mockery v2.42.0. DO NOT EDIT.
package actest
import (
accesscontrol "github.com/grafana/grafana/pkg/services/accesscontrol"
context "context"
accesscontrol "github.com/grafana/grafana/pkg/services/accesscontrol"
mock "github.com/stretchr/testify/mock"
)
// MockStore is an autogenerated mock type for the store type
// MockStore is an autogenerated mock type for the Store type
type MockStore struct {
mock.Mock
}
@ -19,6 +19,10 @@ type MockStore struct {
func (_m *MockStore) DeleteExternalServiceRole(ctx context.Context, externalServiceID string) error {
ret := _m.Called(ctx, externalServiceID)
if len(ret) == 0 {
panic("no return value specified for DeleteExternalServiceRole")
}
var r0 error
if rf, ok := ret.Get(0).(func(context.Context, string) error); ok {
r0 = rf(ctx, externalServiceID)
@ -33,6 +37,10 @@ func (_m *MockStore) DeleteExternalServiceRole(ctx context.Context, externalServ
func (_m *MockStore) DeleteUserPermissions(ctx context.Context, orgID int64, userID int64) error {
ret := _m.Called(ctx, orgID, userID)
if len(ret) == 0 {
panic("no return value specified for DeleteUserPermissions")
}
var r0 error
if rf, ok := ret.Get(0).(func(context.Context, int64, int64) error); ok {
r0 = rf(ctx, orgID, userID)
@ -47,6 +55,10 @@ func (_m *MockStore) DeleteUserPermissions(ctx context.Context, orgID int64, use
func (_m *MockStore) GetUserPermissions(ctx context.Context, query accesscontrol.GetUserPermissionsQuery) ([]accesscontrol.Permission, error) {
ret := _m.Called(ctx, query)
if len(ret) == 0 {
panic("no return value specified for GetUserPermissions")
}
var r0 []accesscontrol.Permission
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, accesscontrol.GetUserPermissionsQuery) ([]accesscontrol.Permission, error)); ok {
@ -73,6 +85,10 @@ func (_m *MockStore) GetUserPermissions(ctx context.Context, query accesscontrol
func (_m *MockStore) GetUsersBasicRoles(ctx context.Context, userFilter []int64, orgID int64) (map[int64][]string, error) {
ret := _m.Called(ctx, userFilter, orgID)
if len(ret) == 0 {
panic("no return value specified for GetUsersBasicRoles")
}
var r0 map[int64][]string
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, []int64, int64) (map[int64][]string, error)); ok {
@ -99,6 +115,10 @@ func (_m *MockStore) GetUsersBasicRoles(ctx context.Context, userFilter []int64,
func (_m *MockStore) SaveExternalServiceRole(ctx context.Context, cmd accesscontrol.SaveExternalServiceRoleCommand) error {
ret := _m.Called(ctx, cmd)
if len(ret) == 0 {
panic("no return value specified for SaveExternalServiceRole")
}
var r0 error
if rf, ok := ret.Get(0).(func(context.Context, accesscontrol.SaveExternalServiceRoleCommand) error); ok {
r0 = rf(ctx, cmd)
@ -113,6 +133,10 @@ func (_m *MockStore) SaveExternalServiceRole(ctx context.Context, cmd accesscont
func (_m *MockStore) SearchUsersPermissions(ctx context.Context, orgID int64, options accesscontrol.SearchOptions) (map[int64][]accesscontrol.Permission, error) {
ret := _m.Called(ctx, orgID, options)
if len(ret) == 0 {
panic("no return value specified for SearchUsersPermissions")
}
var r0 map[int64][]accesscontrol.Permission
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, int64, accesscontrol.SearchOptions) (map[int64][]accesscontrol.Permission, error)); ok {
@ -135,13 +159,12 @@ func (_m *MockStore) SearchUsersPermissions(ctx context.Context, orgID int64, op
return r0, r1
}
type mockConstructorTestingTNewMockStore interface {
// NewMockStore creates a new instance of MockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewMockStore(t interface {
mock.TestingT
Cleanup(func())
}
// NewMockStore creates a new instance of MockStore. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func NewMockStore(t mockConstructorTestingTNewMockStore) *MockStore {
}) *MockStore {
mock := &MockStore{}
mock.Mock.Test(t)