Auth: Keep config in a separate struct in LDAP (#89149)
keep config in a separate struct in LDAP
This commit is contained in:
@@ -7,7 +7,6 @@ import (
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/services/ldap"
|
||||
"github.com/grafana/grafana/pkg/services/login"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
)
|
||||
|
||||
// GetConfig gets LDAP config
|
||||
@@ -54,12 +53,12 @@ type IMultiLDAP interface {
|
||||
// MultiLDAP is basic struct of LDAP authorization
|
||||
type MultiLDAP struct {
|
||||
configs []*ldap.ServerConfig
|
||||
cfg *setting.Cfg
|
||||
cfg *ldap.Config
|
||||
log log.Logger
|
||||
}
|
||||
|
||||
// New creates the new LDAP auth
|
||||
func New(configs []*ldap.ServerConfig, cfg *setting.Cfg) IMultiLDAP {
|
||||
func New(configs []*ldap.ServerConfig, cfg *ldap.Config) IMultiLDAP {
|
||||
return &MultiLDAP{
|
||||
configs: configs,
|
||||
cfg: cfg,
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
|
||||
"github.com/grafana/grafana/pkg/services/ldap"
|
||||
"github.com/grafana/grafana/pkg/services/login"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
|
||||
//TODO(sh0rez): remove once import cycle resolved
|
||||
_ "github.com/grafana/grafana/pkg/api/response"
|
||||
@@ -19,7 +18,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
t.Run("Should return error for absent config list", func(t *testing.T) {
|
||||
setup()
|
||||
|
||||
multi := New([]*ldap.ServerConfig{}, setting.NewCfg())
|
||||
multi := New([]*ldap.ServerConfig{}, &ldap.Config{})
|
||||
_, err := multi.Ping()
|
||||
|
||||
require.Error(t, err)
|
||||
@@ -35,7 +34,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{Host: "10.0.0.1", Port: 361},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
|
||||
statuses, err := multi.Ping()
|
||||
|
||||
@@ -53,7 +52,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{Host: "10.0.0.1", Port: 361},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
|
||||
statuses, err := multi.Ping()
|
||||
|
||||
@@ -71,7 +70,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
t.Run("Should return error for absent config list", func(t *testing.T) {
|
||||
setup()
|
||||
|
||||
multi := New([]*ldap.ServerConfig{}, setting.NewCfg())
|
||||
multi := New([]*ldap.ServerConfig{}, &ldap.Config{})
|
||||
_, err := multi.Login(&login.LoginUserQuery{})
|
||||
|
||||
require.Error(t, err)
|
||||
@@ -88,7 +87,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
|
||||
_, err := multi.Login(&login.LoginUserQuery{})
|
||||
|
||||
@@ -104,7 +103,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, err := multi.Login(&login.LoginUserQuery{})
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -125,7 +124,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
result, err := multi.Login(&login.LoginUserQuery{})
|
||||
|
||||
require.Equal(t, 1, mock.dialCalledTimes)
|
||||
@@ -145,7 +144,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, err := multi.Login(&login.LoginUserQuery{})
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -164,7 +163,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, err := multi.Login(&login.LoginUserQuery{})
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -184,7 +183,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, err := multi.Login(&login.LoginUserQuery{})
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -202,7 +201,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, err := multi.Login(&login.LoginUserQuery{})
|
||||
|
||||
require.Equal(t, 1, mock.dialCalledTimes)
|
||||
@@ -219,7 +218,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
t.Run("Should return error for absent config list", func(t *testing.T) {
|
||||
setup()
|
||||
|
||||
multi := New([]*ldap.ServerConfig{}, setting.NewCfg())
|
||||
multi := New([]*ldap.ServerConfig{}, &ldap.Config{})
|
||||
_, _, err := multi.User("test")
|
||||
|
||||
require.Error(t, err)
|
||||
@@ -236,7 +235,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
|
||||
_, _, err := multi.User("test")
|
||||
|
||||
@@ -251,7 +250,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, _, err := multi.User("test")
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -271,7 +270,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, _, err := multi.User("test")
|
||||
|
||||
require.Equal(t, 1, mock.dialCalledTimes)
|
||||
@@ -298,7 +297,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
user, _, err := multi.User("test")
|
||||
|
||||
require.Equal(t, 1, mock.dialCalledTimes)
|
||||
@@ -319,7 +318,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, _, err := multi.User("test")
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -338,7 +337,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, err := multi.Users([]string{"test"})
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -349,7 +348,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
t.Run("Should return error for absent config list", func(t *testing.T) {
|
||||
setup()
|
||||
|
||||
multi := New([]*ldap.ServerConfig{}, setting.NewCfg())
|
||||
multi := New([]*ldap.ServerConfig{}, &ldap.Config{})
|
||||
_, err := multi.Users([]string{"test"})
|
||||
|
||||
require.Error(t, err)
|
||||
@@ -366,7 +365,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
|
||||
_, err := multi.Users([]string{"test"})
|
||||
|
||||
@@ -381,7 +380,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, err := multi.Users([]string{"test"})
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -401,7 +400,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
_, err := multi.Users([]string{"test"})
|
||||
|
||||
require.Equal(t, 1, mock.dialCalledTimes)
|
||||
@@ -434,7 +433,7 @@ func TestMultiLDAP(t *testing.T) {
|
||||
|
||||
multi := New([]*ldap.ServerConfig{
|
||||
{}, {},
|
||||
}, setting.NewCfg())
|
||||
}, &ldap.Config{})
|
||||
users, err := multi.Users([]string{"test"})
|
||||
|
||||
require.Equal(t, 2, mock.dialCalledTimes)
|
||||
@@ -512,7 +511,7 @@ func (mock *mockLDAP) Bind() error {
|
||||
func setup() *mockLDAP {
|
||||
mock := &mockLDAP{}
|
||||
|
||||
newLDAP = func(config *ldap.ServerConfig, cfg *setting.Cfg) ldap.IServer {
|
||||
newLDAP = func(config *ldap.ServerConfig, cfg *ldap.Config) ldap.IServer {
|
||||
return mock
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user