mirror of
https://github.com/halejohn/Cloudreve.git
synced 2026-01-27 10:01:56 +08:00
Test: get source URL of files
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package filesystem
|
||||
|
||||
import (
|
||||
"github.com/DATA-DOG/go-sqlmock"
|
||||
model "github.com/HFO4/cloudreve/models"
|
||||
"github.com/HFO4/cloudreve/pkg/filesystem/local"
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -63,3 +64,63 @@ func TestDispatchHandler(t *testing.T) {
|
||||
err = fs.dispatchHandler()
|
||||
asserts.Error(err)
|
||||
}
|
||||
|
||||
func TestFileSystem_SetTargetFileByIDs(t *testing.T) {
|
||||
asserts := assert.New(t)
|
||||
|
||||
// 成功
|
||||
{
|
||||
fs := &FileSystem{}
|
||||
mock.ExpectQuery("SELECT(.+)").
|
||||
WithArgs(1, 2).
|
||||
WillReturnRows(sqlmock.NewRows([]string{"id", "name"}).AddRow(1, "1.txt"))
|
||||
err := fs.SetTargetFileByIDs([]uint{1, 2})
|
||||
asserts.NoError(mock.ExpectationsWereMet())
|
||||
asserts.Len(fs.FileTarget, 1)
|
||||
asserts.NoError(err)
|
||||
}
|
||||
|
||||
// 未找到
|
||||
{
|
||||
fs := &FileSystem{}
|
||||
mock.ExpectQuery("SELECT(.+)").WithArgs(1, 2).WillReturnRows(sqlmock.NewRows([]string{"id", "name"}))
|
||||
err := fs.SetTargetFileByIDs([]uint{1, 2})
|
||||
asserts.NoError(mock.ExpectationsWereMet())
|
||||
asserts.Len(fs.FileTarget, 0)
|
||||
asserts.Error(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestFileSystem_CleanTargets(t *testing.T) {
|
||||
asserts := assert.New(t)
|
||||
fs := &FileSystem{
|
||||
FileTarget: []model.File{{}, {}},
|
||||
DirTarget: []model.Folder{{}, {}},
|
||||
}
|
||||
|
||||
fs.CleanTargets()
|
||||
asserts.Len(fs.FileTarget, 0)
|
||||
asserts.Len(fs.DirTarget, 0)
|
||||
}
|
||||
|
||||
func TestNewAnonymousFileSystem(t *testing.T) {
|
||||
asserts := assert.New(t)
|
||||
|
||||
// 正常
|
||||
{
|
||||
mock.ExpectQuery("SELECT(.+)").WillReturnRows(sqlmock.NewRows([]string{"id", "name", "policies"}).AddRow(3, "游客", "[]"))
|
||||
fs, err := NewAnonymousFileSystem()
|
||||
asserts.NoError(mock.ExpectationsWereMet())
|
||||
asserts.NoError(err)
|
||||
asserts.Equal("游客", fs.User.Group.Name)
|
||||
}
|
||||
|
||||
// 游客用户组不存在
|
||||
{
|
||||
mock.ExpectQuery("SELECT(.+)").WillReturnRows(sqlmock.NewRows([]string{"id", "name", "policies"}))
|
||||
fs, err := NewAnonymousFileSystem()
|
||||
asserts.NoError(mock.ExpectationsWereMet())
|
||||
asserts.Error(err)
|
||||
asserts.Nil(fs)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user