go-common/app/job/main/growup/service/income/av_charge_test.go

94 lines
2.2 KiB
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package income
import (
"context"
"testing"
"time"
model "go-common/app/job/main/growup/model/income"
xtime "go-common/library/time"
. "github.com/smartystreets/goconvey/convey"
)
func Test_GetAvCharge(t *testing.T) {
Convey("GetAvCharge", t, func() {
_, err := charge.GetAvCharge(context.Background(), time.Now(), charge.dao.AvMonthlyCharge)
So(err, ShouldBeNil)
})
}
func Test_AvChargeDBStore(t *testing.T) {
Convey("AvChargeDBStore", t, func() {
monthlyChargeMap := make(map[int64]*model.AvCharge)
value := &model.AvCharge{
AvID: 11,
MID: 11,
TagID: 11,
DBState: 1,
}
monthlyChargeMap[11] = value
err := charge.AvChargeDBStore(context.Background(), monthlyChargeMap, monthlyChargeMap)
So(err, ShouldBeNil)
})
}
func benchmarkAvChargeDBStore(bsize int, size int64, b *testing.B) {
batchSize = bsize
for n := 0; n < b.N; n++ {
var i int64
weeklyChargeMap := make(map[int64]*model.AvCharge, size)
for i = 0; i < size; i++ {
v := int64(n+1) * i
weeklyChargeMap[v] = &model.AvCharge{
AvID: v,
MID: v,
TagID: v,
IsOriginal: int(v),
DanmakuCount: v,
CommentCount: v,
CollectCount: v,
CoinCount: v,
ShareCount: v,
ElecPayCount: v,
TotalPlayCount: v,
WebPlayCount: v,
AppPlayCount: v,
H5PlayCount: v,
LvUnknown: v,
Lv0: v,
Lv1: v,
Lv2: v,
Lv3: v,
Lv4: v,
Lv5: v,
Lv6: v,
VScore: v,
IncCharge: v,
TotalCharge: v,
UploadTime: xtime.Time(time.Now().Unix()),
Date: xtime.Time(time.Now().Unix()),
DBState: 1,
}
}
charge.AvChargeDBStore(context.Background(), weeklyChargeMap, weeklyChargeMap)
}
}
func BenchmarkAvChargeDBStore100(b *testing.B) {
benchmarkAvChargeDBStore(100, 100000, b)
}
func BenchmarkAvChargeDBStore1000(b *testing.B) {
benchmarkAvChargeDBStore(1000, 100000, b)
}
func BenchmarkAvChargeDBStore2000(b *testing.B) {
benchmarkAvChargeDBStore(2000, 100000, b)
}
func BenchmarkAvChargeDBStore10000(b *testing.B) {
benchmarkAvChargeDBStore(10000, 100000, b)
}