Test: new modifications in filesystem pkg

This commit is contained in:
HFO4
2021-11-16 20:54:21 +08:00
parent fcd9eddc54
commit 532bff820a
13 changed files with 170 additions and 110 deletions

View File

@@ -1,6 +1,9 @@
package filesystem
import (
"github.com/cloudreve/Cloudreve/v3/pkg/cluster"
"github.com/cloudreve/Cloudreve/v3/pkg/filesystem/driver/shadow/masterinslave"
"github.com/cloudreve/Cloudreve/v3/pkg/filesystem/driver/shadow/slaveinmaster"
"net/http/httptest"
"github.com/DATA-DOG/go-sqlmock"
@@ -104,6 +107,10 @@ func TestDispatchHandler(t *testing.T) {
err = fs.DispatchHandler()
asserts.NoError(err)
fs.Policy = &model.Policy{Type: "cos"}
err = fs.DispatchHandler()
asserts.NoError(err)
fs.Policy = &model.Policy{Type: "s3"}
err = fs.DispatchHandler()
asserts.NoError(err)
@@ -262,3 +269,40 @@ func TestFileSystem_SetTargetByInterface(t *testing.T) {
asserts.Len(fs.FileTarget, 1)
}
}
func TestFileSystem_SwitchToSlaveHandler(t *testing.T) {
a := assert.New(t)
fs := FileSystem{
User: &model.User{},
}
mockNode := &cluster.MasterNode{
Model: &model.Node{},
}
fs.SwitchToSlaveHandler(mockNode)
a.IsType(&slaveinmaster.Driver{}, fs.Handler)
}
func TestFileSystem_SwitchToShadowHandler(t *testing.T) {
a := assert.New(t)
fs := FileSystem{
User: &model.User{},
Policy: &model.Policy{},
}
mockNode := &cluster.MasterNode{
Model: &model.Node{},
}
// remote to local
{
fs.Policy.Type = "remote"
fs.SwitchToShadowHandler(mockNode, "", "")
a.IsType(&masterinslave.Driver{}, fs.Handler)
}
// local to remote
{
fs.Policy.Type = "local"
fs.SwitchToShadowHandler(mockNode, "", "")
a.IsType(&masterinslave.Driver{}, fs.Handler)
}
}