mirror of https://github.com/cloudreve/Cloudreve
Modify: travis CI build and test
parent
210af8f9e1
commit
83b292c9ba
12
.travis.yml
12
.travis.yml
|
@ -5,12 +5,16 @@ git:
|
||||||
depth: 1
|
depth: 1
|
||||||
install:
|
install:
|
||||||
- go get github.com/rakyll/statik
|
- go get github.com/rakyll/statik
|
||||||
- sudo apt-get -y install gcc-mingw-w64-x86-64
|
|
||||||
- sudo apt-get -y install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross
|
|
||||||
before_script:
|
before_script:
|
||||||
- statik -src=models -f
|
- statik -src=models -f
|
||||||
- chmod +x ./build.sh
|
|
||||||
script:
|
script:
|
||||||
|
- go test -coverprofile=coverage.txt -covermode=atomic ./...
|
||||||
|
after_success:
|
||||||
|
- bash <(curl -s https://codecov.io/bash)
|
||||||
|
before_deploy:
|
||||||
|
- sudo apt-get -y install gcc-mingw-w64-x86-64
|
||||||
|
- sudo apt-get -y install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross
|
||||||
|
- chmod +x ./build.sh
|
||||||
- ./build.sh -r b
|
- ./build.sh -r b
|
||||||
deploy:
|
deploy:
|
||||||
provider: releases
|
provider: releases
|
||||||
|
@ -19,6 +23,8 @@ deploy:
|
||||||
file: release/*
|
file: release/*
|
||||||
draft: true
|
draft: true
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
|
on:
|
||||||
|
tags: true
|
||||||
# script:
|
# script:
|
||||||
# - go test -coverprofile=coverage.txt -covermode=atomic ./...
|
# - go test -coverprofile=coverage.txt -covermode=atomic ./...
|
||||||
# after_success:
|
# after_success:
|
||||||
|
|
|
@ -23,7 +23,7 @@ func TestGetGroupByID(t *testing.T) {
|
||||||
ID: 1,
|
ID: 1,
|
||||||
},
|
},
|
||||||
Name: "管理员",
|
Name: "管理员",
|
||||||
PolicyID: 1,
|
Policies: "[1]",
|
||||||
PolicyList: []uint{1},
|
PolicyList: []uint{1},
|
||||||
}, group)
|
}, group)
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ func TestGroup_AfterFind(t *testing.T) {
|
||||||
ID: 1,
|
ID: 1,
|
||||||
},
|
},
|
||||||
Name: "管理员",
|
Name: "管理员",
|
||||||
PolicyID: 1,
|
Policies: "[1]",
|
||||||
}
|
}
|
||||||
err := testCase.AfterFind()
|
err := testCase.AfterFind()
|
||||||
asserts.NoError(err)
|
asserts.NoError(err)
|
||||||
|
|
|
@ -196,7 +196,6 @@ func TestShare_CanBeDownloadBy(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
share.Score = 1
|
|
||||||
asserts.Error(share.CanBeDownloadBy(user))
|
asserts.Error(share.CanBeDownloadBy(user))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -210,7 +209,6 @@ func TestShare_CanBeDownloadBy(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
share.Score = 1
|
|
||||||
asserts.NoError(share.CanBeDownloadBy(user))
|
asserts.NoError(share.CanBeDownloadBy(user))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -260,66 +258,6 @@ func TestShare_DownloadBy(t *testing.T) {
|
||||||
asserts.True(ok)
|
asserts.True(ok)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestShare_Purchase(t *testing.T) {
|
|
||||||
asserts := assert.New(t)
|
|
||||||
|
|
||||||
// 不需要购买
|
|
||||||
{
|
|
||||||
share := Share{}
|
|
||||||
user := User{}
|
|
||||||
asserts.NoError(share.Purchase(&user))
|
|
||||||
|
|
||||||
share.Score = 1
|
|
||||||
user.Group.OptionsSerialized.ShareFree = true
|
|
||||||
asserts.NoError(share.Purchase(&user))
|
|
||||||
|
|
||||||
user.Group.OptionsSerialized.ShareFree = false
|
|
||||||
share.UserID = 1
|
|
||||||
user.ID = 1
|
|
||||||
asserts.NoError(share.Purchase(&user))
|
|
||||||
}
|
|
||||||
|
|
||||||
// 积分不足
|
|
||||||
{
|
|
||||||
share := Share{
|
|
||||||
Score: 1,
|
|
||||||
UserID: 2,
|
|
||||||
}
|
|
||||||
user := User{}
|
|
||||||
asserts.Error(share.Purchase(&user))
|
|
||||||
}
|
|
||||||
|
|
||||||
// 成功
|
|
||||||
{
|
|
||||||
cache.Set("setting_share_score_rate", "80", 0)
|
|
||||||
share := Share{
|
|
||||||
Score: 10,
|
|
||||||
UserID: 2,
|
|
||||||
User: User{
|
|
||||||
Model: gorm.Model{
|
|
||||||
ID: 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
user := User{
|
|
||||||
Score: 10,
|
|
||||||
}
|
|
||||||
|
|
||||||
mock.ExpectBegin()
|
|
||||||
mock.ExpectExec("UPDATE(.+)").
|
|
||||||
WillReturnResult(sqlmock.NewResult(1, 1))
|
|
||||||
mock.ExpectCommit()
|
|
||||||
mock.ExpectBegin()
|
|
||||||
mock.ExpectExec("UPDATE(.+)").
|
|
||||||
WillReturnResult(sqlmock.NewResult(1, 1))
|
|
||||||
mock.ExpectCommit()
|
|
||||||
asserts.NoError(share.Purchase(&user))
|
|
||||||
asserts.NoError(mock.ExpectationsWereMet())
|
|
||||||
asserts.EqualValues(0, user.Score)
|
|
||||||
asserts.EqualValues(8, share.User.Score)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestShare_Viewed(t *testing.T) {
|
func TestShare_Viewed(t *testing.T) {
|
||||||
asserts := assert.New(t)
|
asserts := assert.New(t)
|
||||||
share := Share{}
|
share := Share{}
|
||||||
|
|
|
@ -188,37 +188,15 @@ func TestUser_GetPolicyID(t *testing.T) {
|
||||||
asserts := assert.New(t)
|
asserts := assert.New(t)
|
||||||
|
|
||||||
newUser := NewUser()
|
newUser := NewUser()
|
||||||
|
newUser.Group.PolicyList = []uint{1}
|
||||||
|
|
||||||
testCases := []struct {
|
asserts.EqualValues(1, newUser.GetPolicyID(0))
|
||||||
preferred uint
|
|
||||||
available []uint
|
|
||||||
expected uint
|
|
||||||
}{
|
|
||||||
{
|
|
||||||
available: []uint{1},
|
|
||||||
expected: 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
available: []uint{5, 2, 3},
|
|
||||||
expected: 5,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
preferred: 1,
|
|
||||||
available: []uint{5, 1, 3},
|
|
||||||
expected: 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
preferred: 9,
|
|
||||||
available: []uint{5, 1, 3},
|
|
||||||
expected: 5,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for key, testCase := range testCases {
|
newUser.Group.PolicyList = nil
|
||||||
newUser.OptionsSerialized.PreferredPolicy = testCase.preferred
|
asserts.EqualValues(0, newUser.GetPolicyID(0))
|
||||||
newUser.Group.PolicyList = testCase.available
|
|
||||||
asserts.Equal(testCase.expected, newUser.GetPolicyID(0), "测试用例 #%d 未通过", key)
|
newUser.Group.PolicyList = []uint{}
|
||||||
}
|
asserts.EqualValues(0, newUser.GetPolicyID(0))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUser_GetRemainingCapacity(t *testing.T) {
|
func TestUser_GetRemainingCapacity(t *testing.T) {
|
||||||
|
@ -395,33 +373,6 @@ func TestUser_Root(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUser_PayScore(t *testing.T) {
|
|
||||||
asserts := assert.New(t)
|
|
||||||
user := User{Score: 5}
|
|
||||||
|
|
||||||
asserts.True(user.PayScore(0))
|
|
||||||
asserts.False(user.PayScore(10))
|
|
||||||
|
|
||||||
mock.ExpectBegin()
|
|
||||||
mock.ExpectExec("UPDATE(.+)").WillReturnResult(sqlmock.NewResult(1, 1))
|
|
||||||
mock.ExpectCommit()
|
|
||||||
asserts.True(user.PayScore(5))
|
|
||||||
asserts.EqualValues(0, user.Score)
|
|
||||||
asserts.NoError(mock.ExpectationsWereMet())
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestUser_AddScore(t *testing.T) {
|
|
||||||
asserts := assert.New(t)
|
|
||||||
user := User{Score: 5}
|
|
||||||
|
|
||||||
mock.ExpectBegin()
|
|
||||||
mock.ExpectExec("UPDATE(.+)").WillReturnResult(sqlmock.NewResult(1, 1))
|
|
||||||
mock.ExpectCommit()
|
|
||||||
user.AddScore(5)
|
|
||||||
asserts.NoError(mock.ExpectationsWereMet())
|
|
||||||
asserts.EqualValues(10, user.Score)
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestNewAnonymousUser(t *testing.T) {
|
func TestNewAnonymousUser(t *testing.T) {
|
||||||
asserts := assert.New(t)
|
asserts := assert.New(t)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue