LDAP: Search all DNs for users (#38891)
This commit is contained in:
@@ -6,10 +6,11 @@ import (
|
||||
"gopkg.in/ldap.v3"
|
||||
)
|
||||
|
||||
type searchFunc = func(request *ldap.SearchRequest) (*ldap.SearchResult, error)
|
||||
|
||||
// MockConnection struct for testing
|
||||
type MockConnection struct {
|
||||
SearchResult *ldap.SearchResult
|
||||
SearchError error
|
||||
SearchFunc searchFunc
|
||||
SearchCalled bool
|
||||
SearchAttributes []string
|
||||
|
||||
@@ -56,11 +57,19 @@ func (c *MockConnection) Close() {
|
||||
}
|
||||
|
||||
func (c *MockConnection) setSearchResult(result *ldap.SearchResult) {
|
||||
c.SearchResult = result
|
||||
c.SearchFunc = func(request *ldap.SearchRequest) (*ldap.SearchResult, error) {
|
||||
return result, nil
|
||||
}
|
||||
}
|
||||
|
||||
func (c *MockConnection) setSearchError(err error) {
|
||||
c.SearchError = err
|
||||
c.SearchFunc = func(request *ldap.SearchRequest) (*ldap.SearchResult, error) {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
func (c *MockConnection) setSearchFunc(fn searchFunc) {
|
||||
c.SearchFunc = fn
|
||||
}
|
||||
|
||||
// Search mocks Search connection function
|
||||
@@ -68,11 +77,7 @@ func (c *MockConnection) Search(sr *ldap.SearchRequest) (*ldap.SearchResult, err
|
||||
c.SearchCalled = true
|
||||
c.SearchAttributes = sr.Attributes
|
||||
|
||||
if c.SearchError != nil {
|
||||
return nil, c.SearchError
|
||||
}
|
||||
|
||||
return c.SearchResult, nil
|
||||
return c.SearchFunc(sr)
|
||||
}
|
||||
|
||||
// Add mocks Add connection function
|
||||
|
||||
Reference in New Issue
Block a user