|
@@ -26,24 +26,28 @@ import (
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
|
- "github.com/drakkan/sftpgo/v2/command"
|
|
|
- "github.com/drakkan/sftpgo/v2/common"
|
|
|
- "github.com/drakkan/sftpgo/v2/config"
|
|
|
- "github.com/drakkan/sftpgo/v2/dataprovider"
|
|
|
- "github.com/drakkan/sftpgo/v2/ftpd"
|
|
|
- "github.com/drakkan/sftpgo/v2/httpclient"
|
|
|
- "github.com/drakkan/sftpgo/v2/httpd"
|
|
|
- "github.com/drakkan/sftpgo/v2/mfa"
|
|
|
- "github.com/drakkan/sftpgo/v2/plugin"
|
|
|
- "github.com/drakkan/sftpgo/v2/sftpd"
|
|
|
- "github.com/drakkan/sftpgo/v2/smtp"
|
|
|
- "github.com/drakkan/sftpgo/v2/util"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/command"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/common"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/config"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/dataprovider"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/ftpd"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/httpclient"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/httpd"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/mfa"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/plugin"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/sftpd"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/smtp"
|
|
|
+ "github.com/drakkan/sftpgo/v2/internal/util"
|
|
|
)
|
|
|
|
|
|
const (
|
|
|
tempConfigName = "temp"
|
|
|
)
|
|
|
|
|
|
+var (
|
|
|
+ configDir = filepath.Join(".", "..", "..")
|
|
|
+)
|
|
|
+
|
|
|
func reset() {
|
|
|
viper.Reset()
|
|
|
config.Init()
|
|
@@ -52,7 +56,6 @@ func reset() {
|
|
|
func TestLoadConfigTest(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
assert.NotEqual(t, httpd.Conf{}, config.GetHTTPConfig())
|
|
@@ -89,7 +92,6 @@ func TestLoadConfigFileNotFound(t *testing.T) {
|
|
|
func TestEmptyBanner(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -126,7 +128,6 @@ func TestEmptyBanner(t *testing.T) {
|
|
|
func TestEnabledSSHCommands(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -155,7 +156,6 @@ func TestEnabledSSHCommands(t *testing.T) {
|
|
|
func TestInvalidUploadMode(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -178,7 +178,6 @@ func TestInvalidUploadMode(t *testing.T) {
|
|
|
func TestInvalidExternalAuthScope(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -201,7 +200,6 @@ func TestInvalidExternalAuthScope(t *testing.T) {
|
|
|
func TestInvalidProxyProtocol(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -224,7 +222,6 @@ func TestInvalidProxyProtocol(t *testing.T) {
|
|
|
func TestInvalidUsersBaseDir(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -247,7 +244,6 @@ func TestInvalidUsersBaseDir(t *testing.T) {
|
|
|
func TestInvalidInstallationHint(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -278,7 +274,6 @@ func TestDefenderProviderDriver(t *testing.T) {
|
|
|
}
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
providerConf := config.GetProviderConf()
|
|
@@ -358,7 +353,6 @@ func TestSetGetConfig(t *testing.T) {
|
|
|
func TestServiceToStart(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
assert.True(t, config.HasServicesToStart())
|
|
@@ -392,7 +386,6 @@ func TestSSHCommandsFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_SFTPD__ENABLED_SSH_COMMANDS")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
|
|
@@ -413,7 +406,6 @@ func TestSMTPFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_SMTP__PORT")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
smtpConfig := config.GetSMTPConfig()
|
|
@@ -435,7 +427,6 @@ func TestMFAFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_MFA__TOTP__1__ALGO")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
mfaConf := config.GetMFAConfig()
|
|
@@ -451,7 +442,6 @@ func TestMFAFromEnv(t *testing.T) {
|
|
|
func TestDisabledMFAConfig(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
|
|
@@ -491,7 +481,6 @@ func TestFTPDOverridesFromEnv(t *testing.T) {
|
|
|
}
|
|
|
t.Cleanup(cleanup)
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
ftpdConf := config.GetFTPDConfig()
|
|
@@ -552,7 +541,6 @@ func TestHTTPDSubObjectsFromEnv(t *testing.T) {
|
|
|
}
|
|
|
t.Cleanup(cleanup)
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
httpdConf := config.GetHTTPDConfig()
|
|
@@ -628,7 +616,6 @@ func TestPluginsFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_PLUGINS__0__AUTH_OPTIONS__SCOPE")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
pluginsConf := config.GetPluginsConfig()
|
|
@@ -727,7 +714,6 @@ func TestRateLimitersFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_COMMON__RATE_LIMITERS__8__ALLOW_LIST")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
limiters := config.GetCommonConfig().RateLimitersConfig
|
|
@@ -780,7 +766,6 @@ func TestSFTPDBindingsFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_SFTPD__BINDINGS__3__PORT")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
bindings := config.GetSFTPDConfig().Bindings
|
|
@@ -796,7 +781,6 @@ func TestSFTPDBindingsFromEnv(t *testing.T) {
|
|
|
func TestCommandsFromEnv(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -903,7 +887,6 @@ func TestFTPDBindingsFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_FTPD__BINDINGS__9__CERTIFICATE_KEY_FILE")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
bindings := config.GetFTPDConfig().Bindings
|
|
@@ -979,7 +962,6 @@ func TestWebDAVBindingsFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_WEBDAVD__BINDINGS__2__CERTIFICATE_KEY_FILE")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
bindings := config.GetWebDAVDConfig().Bindings
|
|
@@ -1152,7 +1134,6 @@ func TestHTTPDBindingsFromEnv(t *testing.T) {
|
|
|
os.Unsetenv("SFTPGO_HTTPD__BINDINGS__2__CERTIFICATE_KEY_FILE")
|
|
|
})
|
|
|
|
|
|
- configDir := ".."
|
|
|
err := config.LoadConfig(configDir, "")
|
|
|
assert.NoError(t, err)
|
|
|
bindings := config.GetHTTPDConfig().Bindings
|
|
@@ -1260,7 +1241,6 @@ func TestHTTPDBindingsFromEnv(t *testing.T) {
|
|
|
func TestHTTPClientCertificatesFromEnv(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|
|
@@ -1321,7 +1301,6 @@ func TestHTTPClientCertificatesFromEnv(t *testing.T) {
|
|
|
func TestHTTPClientHeadersFromEnv(t *testing.T) {
|
|
|
reset()
|
|
|
|
|
|
- configDir := ".."
|
|
|
confName := tempConfigName + ".json"
|
|
|
configFilePath := filepath.Join(configDir, confName)
|
|
|
err := config.LoadConfig(configDir, "")
|