mirror of
				https://github.com/cloudreve/cloudreve.git
				synced 2025-10-31 16:49:03 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package filesystem
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 	model "github.com/HFO4/cloudreve/models"
 | |
| 	"github.com/HFO4/cloudreve/pkg/filesystem/local"
 | |
| 	"github.com/stretchr/testify/assert"
 | |
| 	"os"
 | |
| 	"testing"
 | |
| )
 | |
| 
 | |
| func TestGenericBeforeUpload(t *testing.T) {
 | |
| 	asserts := assert.New(t)
 | |
| 	file := local.FileData{
 | |
| 		Size: 5,
 | |
| 		Name: "1.txt",
 | |
| 	}
 | |
| 	ctx := context.WithValue(context.Background(), FileHeaderCtx, file)
 | |
| 	fs := FileSystem{
 | |
| 		User: &model.User{
 | |
| 			Storage: 0,
 | |
| 			Group: model.Group{
 | |
| 				MaxStorage: 11,
 | |
| 			},
 | |
| 			Policy: model.Policy{
 | |
| 				MaxSize: 4,
 | |
| 				OptionsSerialized: model.PolicyOption{
 | |
| 					FileType: []string{"txt"},
 | |
| 				},
 | |
| 			},
 | |
| 		},
 | |
| 	}
 | |
| 
 | |
| 	asserts.Error(GenericBeforeUpload(ctx, &fs))
 | |
| 
 | |
| 	file.Size = 1
 | |
| 	file.Name = "1"
 | |
| 	ctx = context.WithValue(context.Background(), FileHeaderCtx, file)
 | |
| 	asserts.Error(GenericBeforeUpload(ctx, &fs))
 | |
| 
 | |
| 	file.Name = "1.txt"
 | |
| 	ctx = context.WithValue(context.Background(), FileHeaderCtx, file)
 | |
| 	asserts.NoError(GenericBeforeUpload(ctx, &fs))
 | |
| 
 | |
| 	file.Name = "1.t/xt"
 | |
| 	ctx = context.WithValue(context.Background(), FileHeaderCtx, file)
 | |
| 	asserts.Error(GenericBeforeUpload(ctx, &fs))
 | |
| }
 | |
| 
 | |
| func TestGenericAfterUploadCanceled(t *testing.T) {
 | |
| 	asserts := assert.New(t)
 | |
| 	f, err := os.Create("TestGenericAfterUploadCanceled")
 | |
| 	asserts.NoError(err)
 | |
| 	f.Close()
 | |
| 	file := local.FileStream{
 | |
| 		Size: 5,
 | |
| 		Name: "TestGenericAfterUploadCanceled",
 | |
| 	}
 | |
| 	ctx := context.WithValue(context.Background(), SavePathCtx, "TestGenericAfterUploadCanceled")
 | |
| 	ctx = context.WithValue(ctx, FileHeaderCtx, file)
 | |
| 	fs := FileSystem{
 | |
| 		User:    &model.User{Storage: 5},
 | |
| 		Handler: local.Handler{},
 | |
| 	}
 | |
| 
 | |
| 	// 成功
 | |
| 	err = GenericAfterUploadCanceled(ctx, &fs)
 | |
| 	asserts.NoError(err)
 | |
| 	asserts.Equal(uint64(0), fs.User.Storage)
 | |
| 
 | |
| 	f, err = os.Create("TestGenericAfterUploadCanceled")
 | |
| 	asserts.NoError(err)
 | |
| 	f.Close()
 | |
| 
 | |
| 	// 容量不能再降低
 | |
| 	err = GenericAfterUploadCanceled(ctx, &fs)
 | |
| 	asserts.Error(err)
 | |
| 
 | |
| 	//文件不存在
 | |
| 	fs.User.Storage = 5
 | |
| 	err = GenericAfterUploadCanceled(ctx, &fs)
 | |
| 	asserts.NoError(err)
 | |
| }
 | |
| 
 | |
| //func TestGenericAfterUpload(t *testing.T) {
 | |
| //	asserts := assert.New(t)
 | |
| //	testObj := FileSystem{}
 | |
| //	ctx := context.WithValue(context.Background(),FileHeaderCtx,local.FileStream{
 | |
| //		VirtualPath: "/我的文件",
 | |
| //		Name:        "test.txt",
 | |
| //	})
 | |
| //
 | |
| //
 | |
| //}
 | 
