mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-07 06:40:54 +03:00
add more test cases
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"runtime"
|
||||
"testing"
|
||||
|
||||
"github.com/drakkan/sftpgo/dataprovider"
|
||||
"github.com/pkg/sftp"
|
||||
)
|
||||
|
||||
@@ -70,3 +71,39 @@ func TestUploadResume(t *testing.T) {
|
||||
t.Errorf("file resume is not supported")
|
||||
}
|
||||
}
|
||||
|
||||
func TestUploadFiles(t *testing.T) {
|
||||
oldUploadMode := uploadMode
|
||||
uploadMode = uploadModeAtomic
|
||||
c := Connection{}
|
||||
var flags sftp.FileOpenFlags
|
||||
flags.Write = true
|
||||
flags.Trunc = true
|
||||
_, err := c.handleSFTPUploadToExistingFile(flags, "missing_path", "other_missing_path", 0)
|
||||
if err == nil {
|
||||
t.Errorf("upload to existing file must fail if one or both paths are invalid")
|
||||
}
|
||||
uploadMode = uploadModeStandard
|
||||
_, err = c.handleSFTPUploadToExistingFile(flags, "missing_path", "other_missing_path", 0)
|
||||
if err == nil {
|
||||
t.Errorf("upload to existing file must fail if one or both paths are invalid")
|
||||
}
|
||||
missingFile := "missing/relative/file.txt"
|
||||
if runtime.GOOS == "windows" {
|
||||
missingFile = "missing\\relative\\file.txt"
|
||||
}
|
||||
_, err = c.handleSFTPUploadToNewFile(".", missingFile)
|
||||
if err == nil {
|
||||
t.Errorf("upload new file in missing path must fail")
|
||||
}
|
||||
uploadMode = oldUploadMode
|
||||
}
|
||||
|
||||
func TestLoginWithInvalidHome(t *testing.T) {
|
||||
u := dataprovider.User{}
|
||||
u.HomeDir = "home_rel_path"
|
||||
_, err := loginUser(u)
|
||||
if err == nil {
|
||||
t.Errorf("login a user with an invalid home_dir must fail")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user