Create search filters by interface (#39843)

* Extract search users to a new service

* Fix wire provider

* Fix common_test and remove RouteRegister

* Remove old endpoints

* Fix test

* Create search filters using interfaces

* Move Enterprise filter, rename filter for filters and allow use filters with params

* Each filter has unique key

* Back activeLast30Days filter to OSS

* Fix tests

* Delete unusued param

* Move filters to searchusers service and small refactor

* Fix tests
This commit is contained in:
Selene
2021-10-07 16:06:16 +02:00
committed by GitHub
parent e7b81e1918
commit da813877fb
10 changed files with 150 additions and 22 deletions

View File

@@ -8,6 +8,8 @@ import (
"path/filepath"
"testing"
"github.com/grafana/grafana/pkg/services/searchusers/filters"
"github.com/grafana/grafana/pkg/services/searchusers"
"github.com/stretchr/testify/require"
@@ -226,7 +228,7 @@ func setupAccessControlScenarioContext(t *testing.T, cfg *setting.Cfg, url strin
QuotaService: &quota.QuotaService{Cfg: cfg},
RouteRegister: routing.NewRouteRegister(),
AccessControl: accesscontrolmock.New().WithPermissions(permissions),
searchUsersService: searchusers.ProvideUsersService(bus),
searchUsersService: searchusers.ProvideUsersService(bus, filters.ProvideOSSSearchUserFilter()),
}
sc := setupScenarioContext(t, url)

View File

@@ -8,6 +8,8 @@ import (
"testing"
"time"
"github.com/grafana/grafana/pkg/services/searchusers/filters"
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/services/searchusers"
@@ -145,7 +147,7 @@ func setupOrgUsersAPIcontext(t *testing.T, role models.RoleType) (*scenarioConte
RouteRegister: routing.NewRouteRegister(),
AccessControl: accesscontrolmock.New().WithDisabled(),
SQLStore: db,
searchUsersService: searchusers.ProvideUsersService(bus.New()),
searchUsersService: searchusers.ProvideUsersService(bus.New(), filters.ProvideOSSSearchUserFilter()),
}
sc := setupScenarioContext(t, "/api/org/users/lookup")

View File

@@ -6,6 +6,8 @@ import (
"testing"
"time"
"github.com/grafana/grafana/pkg/services/searchusers/filters"
"github.com/grafana/grafana/pkg/services/searchusers"
"github.com/grafana/grafana/pkg/api/dtos"
@@ -136,7 +138,7 @@ func TestUserAPIEndpoint_userLoggedIn(t *testing.T) {
return nil
})
searchUsersService := searchusers.ProvideUsersService(bus.GetBus())
searchUsersService := searchusers.ProvideUsersService(bus.GetBus(), filters.ProvideOSSSearchUserFilter())
sc.handlerFunc = searchUsersService.SearchUsers
sc.fakeReqWithParams("GET", sc.url, map[string]string{}).exec()
@@ -160,7 +162,7 @@ func TestUserAPIEndpoint_userLoggedIn(t *testing.T) {
return nil
})
searchUsersService := searchusers.ProvideUsersService(bus.GetBus())
searchUsersService := searchusers.ProvideUsersService(bus.GetBus(), filters.ProvideOSSSearchUserFilter())
sc.handlerFunc = searchUsersService.SearchUsers
sc.fakeReqWithParams("GET", sc.url, map[string]string{"perpage": "10", "page": "2"}).exec()
@@ -180,7 +182,7 @@ func TestUserAPIEndpoint_userLoggedIn(t *testing.T) {
return nil
})
searchUsersService := searchusers.ProvideUsersService(bus.GetBus())
searchUsersService := searchusers.ProvideUsersService(bus.GetBus(), filters.ProvideOSSSearchUserFilter())
sc.handlerFunc = searchUsersService.SearchUsersWithPaging
sc.fakeReqWithParams("GET", sc.url, map[string]string{}).exec()
@@ -206,7 +208,7 @@ func TestUserAPIEndpoint_userLoggedIn(t *testing.T) {
return nil
})
searchUsersService := searchusers.ProvideUsersService(bus.GetBus())
searchUsersService := searchusers.ProvideUsersService(bus.GetBus(), filters.ProvideOSSSearchUserFilter())
sc.handlerFunc = searchUsersService.SearchUsersWithPaging
sc.fakeReqWithParams("GET", sc.url, map[string]string{"perpage": "10", "page": "2"}).exec()