From ade2bf1812fb7d186a6f9bc5c3b8f6f0ed637422 Mon Sep 17 00:00:00 2001 From: HFO4 <912394456@qq.com> Date: Thu, 14 Nov 2019 14:45:06 +0800 Subject: [PATCH] Test: policy model --- models/migration.go | 8 ++++---- models/policy_test.go | 40 ++++++++++++++++++++++++++++++++++++++++ models/user_test.go | 4 ++++ routers/router.go | 2 +- 4 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 models/policy_test.go diff --git a/models/migration.go b/models/migration.go index 5fdfb49..98658d7 100644 --- a/models/migration.go +++ b/models/migration.go @@ -162,7 +162,7 @@ func addDefaultGroups() { Aria2Option: "0,0,0", } if err := DB.Create(&defaultAdminGroup).Error; err != nil { - util.Log().Panic("无法创建管理用户组, ", err) + util.Log().Panic("无法创建管理用户组, %s", err) } } @@ -180,7 +180,7 @@ func addDefaultGroups() { Aria2Option: "0,0,0", } if err := DB.Create(&defaultAdminGroup).Error; err != nil { - util.Log().Panic("无法创建初始注册会员用户组, ", err) + util.Log().Panic("无法创建初始注册会员用户组, %s", err) } } } @@ -199,10 +199,10 @@ func addDefaultUser() { defaultUser.PrimaryGroup = 1 err := defaultUser.SetPassword("admin") if err != nil { - util.Log().Panic("无法创建密码, ", err) + util.Log().Panic("无法创建密码, %s", err) } if err := DB.Create(&defaultUser).Error; err != nil { - util.Log().Panic("无法创建初始用户, ", err) + util.Log().Panic("无法创建初始用户, %s", err) } } } diff --git a/models/policy_test.go b/models/policy_test.go new file mode 100644 index 0000000..f0742a1 --- /dev/null +++ b/models/policy_test.go @@ -0,0 +1,40 @@ +package model + +import ( + "encoding/json" + "github.com/DATA-DOG/go-sqlmock" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestGetPolicyByID(t *testing.T) { + asserts := assert.New(t) + + rows := sqlmock.NewRows([]string{"name", "type", "options"}). + AddRow("默认上传策略", "local", "{\"op_name\":\"123\"}") + mock.ExpectQuery("^SELECT \\* FROM `(.+)` WHERE `(.+)`\\.`deleted_at` IS NULL AND \\(\\(`policies`.`id` = 1\\)\\)(.+)$").WillReturnRows(rows) + policy, err := GetPolicyByID(1) + asserts.NoError(err) + asserts.Equal("默认上传策略", policy.Name) + asserts.Equal("123", policy.OptionsSerialized.OPName) + + rows = sqlmock.NewRows([]string{"name", "type", "options"}) + mock.ExpectQuery("^SELECT \\* FROM `(.+)` WHERE `(.+)`\\.`deleted_at` IS NULL AND \\(\\(`policies`.`id` = 1\\)\\)(.+)$").WillReturnRows(rows) + policy, err = GetPolicyByID(1) + asserts.Error(err) +} + +func TestPolicy_BeforeSave(t *testing.T) { + asserts := assert.New(t) + + testPolicy := Policy{ + OptionsSerialized: PolicyOption{ + OPName: "123", + }, + } + expected, _ := json.Marshal(testPolicy.OptionsSerialized) + err := testPolicy.BeforeSave() + asserts.NoError(err) + asserts.Equal(string(expected), testPolicy.Options) + +} diff --git a/models/user_test.go b/models/user_test.go index a309b52..8629995 100644 --- a/models/user_test.go +++ b/models/user_test.go @@ -21,6 +21,10 @@ func TestGetUserByID(t *testing.T) { AddRow(1, "管理员", "[1]") mock.ExpectQuery("^SELECT (.+)").WillReturnRows(groupRows) + policyRows := sqlmock.NewRows([]string{"id", "name"}). + AddRow(1, "默认上传策略") + mock.ExpectQuery("^SELECT (.+)").WillReturnRows(policyRows) + user, err := GetUserByID(1) asserts.NoError(err) asserts.Equal(User{ diff --git a/routers/router.go b/routers/router.go index 13c6259..584c8b0 100644 --- a/routers/router.go +++ b/routers/router.go @@ -16,7 +16,7 @@ func InitRouter() *gin.Engine { */ r.Use(middleware.Session(conf.SystemConfig.SessionSecret)) - // 测试模式加加入Mock助手中间件 + // 测试模式加入Mock助手中间件 if gin.Mode() == gin.TestMode { r.Use(middleware.MockHelper()) }