mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-07 06:40:54 +03:00
bolt provider: fix error handling for get users with username filter
This commit is contained in:
@@ -336,9 +336,14 @@ func (p BoltProvider) getUsers(limit int, offset int, order string, username str
|
|||||||
}
|
}
|
||||||
if len(username) > 0 {
|
if len(username) > 0 {
|
||||||
if offset == 0 {
|
if offset == 0 {
|
||||||
user, err := p.userExists(username)
|
var user User
|
||||||
|
user, err = p.userExists(username)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
users = append(users, HideUserSensitiveData(&user))
|
users = append(users, HideUserSensitiveData(&user))
|
||||||
|
return users, nil
|
||||||
|
}
|
||||||
|
if _, ok := err.(*RecordNotFoundError); ok {
|
||||||
|
err = nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return users, err
|
return users, err
|
||||||
|
|||||||
@@ -983,7 +983,7 @@ func TestUserBaseDir(t *testing.T) {
|
|||||||
providerConf.UsersBaseDir = homeBasePath
|
providerConf.UsersBaseDir = homeBasePath
|
||||||
err := dataprovider.Initialize(providerConf, configDir)
|
err := dataprovider.Initialize(providerConf, configDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("error initializing data provider with users base dir")
|
t.Errorf("error initializing data provider with users base dir: %v", err)
|
||||||
}
|
}
|
||||||
httpd.SetDataProvider(dataprovider.GetProvider())
|
httpd.SetDataProvider(dataprovider.GetProvider())
|
||||||
u := getTestUser()
|
u := getTestUser()
|
||||||
@@ -1014,9 +1014,6 @@ func TestUserBaseDir(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestProviderErrors(t *testing.T) {
|
func TestProviderErrors(t *testing.T) {
|
||||||
if providerDriverName == dataprovider.BoltDataProviderName {
|
|
||||||
t.Skip("skipping test provider errors for bolt provider")
|
|
||||||
}
|
|
||||||
dataProvider := dataprovider.GetProvider()
|
dataProvider := dataprovider.GetProvider()
|
||||||
dataprovider.Close(dataProvider)
|
dataprovider.Close(dataProvider)
|
||||||
_, _, err := httpd.GetUserByID(0, http.StatusInternalServerError)
|
_, _, err := httpd.GetUserByID(0, http.StatusInternalServerError)
|
||||||
@@ -1061,7 +1058,7 @@ func TestProviderErrors(t *testing.T) {
|
|||||||
os.RemoveAll(credentialsPath)
|
os.RemoveAll(credentialsPath)
|
||||||
err = dataprovider.Initialize(providerConf, configDir)
|
err = dataprovider.Initialize(providerConf, configDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("error initializing data provider")
|
t.Errorf("error initializing data provider: %v", err)
|
||||||
}
|
}
|
||||||
httpd.SetDataProvider(dataprovider.GetProvider())
|
httpd.SetDataProvider(dataprovider.GetProvider())
|
||||||
sftpd.SetDataProvider(dataprovider.GetProvider())
|
sftpd.SetDataProvider(dataprovider.GetProvider())
|
||||||
@@ -1074,7 +1071,7 @@ func TestDumpdata(t *testing.T) {
|
|||||||
providerConf := config.GetProviderConf()
|
providerConf := config.GetProviderConf()
|
||||||
err := dataprovider.Initialize(providerConf, configDir)
|
err := dataprovider.Initialize(providerConf, configDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("error initializing data provider")
|
t.Errorf("error initializing data provider:_%v", err)
|
||||||
}
|
}
|
||||||
httpd.SetDataProvider(dataprovider.GetProvider())
|
httpd.SetDataProvider(dataprovider.GetProvider())
|
||||||
sftpd.SetDataProvider(dataprovider.GetProvider())
|
sftpd.SetDataProvider(dataprovider.GetProvider())
|
||||||
@@ -1107,6 +1104,9 @@ func TestDumpdata(t *testing.T) {
|
|||||||
}
|
}
|
||||||
os.Chmod(backupsPath, 0755)
|
os.Chmod(backupsPath, 0755)
|
||||||
}
|
}
|
||||||
|
dataProvider = dataprovider.GetProvider()
|
||||||
|
dataprovider.Close(dataProvider)
|
||||||
|
config.LoadConfig(configDir, "")
|
||||||
providerConf = config.GetProviderConf()
|
providerConf = config.GetProviderConf()
|
||||||
providerConf.CredentialsPath = credentialsPath
|
providerConf.CredentialsPath = credentialsPath
|
||||||
os.RemoveAll(credentialsPath)
|
os.RemoveAll(credentialsPath)
|
||||||
@@ -2248,9 +2248,6 @@ func TestWebUserGCSMock(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestProviderClosedMock(t *testing.T) {
|
func TestProviderClosedMock(t *testing.T) {
|
||||||
if providerDriverName == dataprovider.BoltDataProviderName {
|
|
||||||
t.Skip("skipping test provider errors for bolt provider")
|
|
||||||
}
|
|
||||||
dataProvider := dataprovider.GetProvider()
|
dataProvider := dataprovider.GetProvider()
|
||||||
dataprovider.Close(dataProvider)
|
dataprovider.Close(dataProvider)
|
||||||
req, _ := http.NewRequest(http.MethodGet, webUsersPath, nil)
|
req, _ := http.NewRequest(http.MethodGet, webUsersPath, nil)
|
||||||
@@ -2270,7 +2267,7 @@ func TestProviderClosedMock(t *testing.T) {
|
|||||||
os.RemoveAll(credentialsPath)
|
os.RemoveAll(credentialsPath)
|
||||||
err := dataprovider.Initialize(providerConf, configDir)
|
err := dataprovider.Initialize(providerConf, configDir)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("error initializing data provider")
|
t.Errorf("error initializing data provider: %v", err)
|
||||||
}
|
}
|
||||||
httpd.SetDataProvider(dataprovider.GetProvider())
|
httpd.SetDataProvider(dataprovider.GetProvider())
|
||||||
sftpd.SetDataProvider(dataprovider.GetProvider())
|
sftpd.SetDataProvider(dataprovider.GetProvider())
|
||||||
|
|||||||
Reference in New Issue
Block a user