From 663b827a1d10723a9d7f0f94e24eb5d01952bd3d Mon Sep 17 00:00:00 2001
From: HFO4 <912394456@qq.com>
Date: Mon, 17 Feb 2020 14:17:06 +0800
Subject: [PATCH] Test: pkg modifications

---
 pkg/cache/memo_test.go        | 10 ++++++++++
 pkg/filesystem/manage_test.go | 20 ++++++++++++++++++++
 pkg/serializer/share_test.go  | 22 ++++++++++++++++++++++
 3 files changed, 52 insertions(+)

diff --git a/pkg/cache/memo_test.go b/pkg/cache/memo_test.go
index 7a84024..0765e64 100644
--- a/pkg/cache/memo_test.go
+++ b/pkg/cache/memo_test.go
@@ -135,3 +135,13 @@ func TestMemoStore_Delete(t *testing.T) {
 	asserts.Equal([]string{"1", "2"}, miss)
 	asserts.Equal(map[string]interface{}{"3": "3.val", "4": "4.val"}, values)
 }
+
+func TestMemoStore_GarbageCollect(t *testing.T) {
+	asserts := assert.New(t)
+	store := NewMemoStore()
+	store.Set("test", 1, 1)
+	time.Sleep(time.Duration(2000) * time.Millisecond)
+	store.GarbageCollect()
+	_, ok := store.Get("test")
+	asserts.False(ok)
+}
diff --git a/pkg/filesystem/manage_test.go b/pkg/filesystem/manage_test.go
index 64b86ad..83970ba 100644
--- a/pkg/filesystem/manage_test.go
+++ b/pkg/filesystem/manage_test.go
@@ -333,6 +333,11 @@ func TestFileSystem_Delete(t *testing.T) {
 		mock.ExpectExec("DELETE(.+)files").
 			WillReturnResult(sqlmock.NewResult(0, 3))
 		mock.ExpectCommit()
+		// 删除对应分享
+		mock.ExpectBegin()
+		mock.ExpectExec("UPDATE(.+)shares").
+			WillReturnResult(sqlmock.NewResult(0, 3))
+		mock.ExpectCommit()
 		// 归还容量
 		mock.ExpectBegin()
 		mock.ExpectExec("UPDATE(.+)users").
@@ -343,6 +348,11 @@ func TestFileSystem_Delete(t *testing.T) {
 		mock.ExpectExec("DELETE(.+)folders").
 			WillReturnResult(sqlmock.NewResult(0, 3))
 		mock.ExpectCommit()
+		// 删除对应分享
+		mock.ExpectBegin()
+		mock.ExpectExec("UPDATE(.+)shares").
+			WillReturnResult(sqlmock.NewResult(0, 3))
+		mock.ExpectCommit()
 
 		err := fs.Delete(ctx, []uint{1}, []uint{1})
 		asserts.Error(err)
@@ -379,6 +389,11 @@ func TestFileSystem_Delete(t *testing.T) {
 		mock.ExpectExec("DELETE(.+)").
 			WillReturnResult(sqlmock.NewResult(0, 3))
 		mock.ExpectCommit()
+		// 删除对应分享
+		mock.ExpectBegin()
+		mock.ExpectExec("UPDATE(.+)shares").
+			WillReturnResult(sqlmock.NewResult(0, 3))
+		mock.ExpectCommit()
 		// 归还容量
 		mock.ExpectBegin()
 		mock.ExpectExec("UPDATE(.+)").
@@ -389,6 +404,11 @@ func TestFileSystem_Delete(t *testing.T) {
 		mock.ExpectExec("DELETE(.+)").
 			WillReturnResult(sqlmock.NewResult(0, 3))
 		mock.ExpectCommit()
+		// 删除对应分享
+		mock.ExpectBegin()
+		mock.ExpectExec("UPDATE(.+)shares").
+			WillReturnResult(sqlmock.NewResult(0, 3))
+		mock.ExpectCommit()
 
 		fs.FileTarget = []model.File{}
 		fs.DirTarget = []model.Folder{}
diff --git a/pkg/serializer/share_test.go b/pkg/serializer/share_test.go
index 78c8d9c..c53ab87 100644
--- a/pkg/serializer/share_test.go
+++ b/pkg/serializer/share_test.go
@@ -8,6 +8,28 @@ import (
 	"time"
 )
 
+func TestBuildShareList(t *testing.T) {
+	asserts := assert.New(t)
+	timeNow := time.Now()
+
+	shares := []model.Share{
+		{
+			Expires: &timeNow,
+			File: model.File{
+				Model: gorm.Model{ID: 1},
+			},
+		},
+		{
+			Folder: model.Folder{
+				Model: gorm.Model{ID: 1},
+			},
+		},
+	}
+
+	res := BuildShareList(shares, 2)
+	asserts.Equal(0, res.Code)
+}
+
 func TestBuildShareResponse(t *testing.T) {
 	asserts := assert.New(t)