You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.7 KiB
91 lines
2.7 KiB
package dao |
|
|
|
import ( |
|
"context" |
|
"flag" |
|
"path/filepath" |
|
"strings" |
|
|
|
"go-common/app/interface/openplatform/article/conf" |
|
artmdl "go-common/app/interface/openplatform/article/model" |
|
"go-common/library/cache/redis" |
|
|
|
_ "github.com/go-sql-driver/mysql" |
|
. "github.com/smartystreets/goconvey/convey" |
|
"gopkg.in/h2non/gock.v1" |
|
) |
|
|
|
var ( |
|
dataMID = int64(1) |
|
noDataMID = int64(10000) |
|
_noData = int64(1000000) |
|
d *Dao |
|
categories = []*artmdl.Category{ |
|
&artmdl.Category{Name: "游戏", ID: 1}, |
|
&artmdl.Category{Name: "动漫", ID: 2}, |
|
} |
|
art = artmdl.Article{ |
|
Meta: &artmdl.Meta{ |
|
ID: 100, |
|
Category: categories[0], |
|
Title: "隐藏于时区记忆中的,是希望还是绝望!", |
|
Summary: "说起日本校服,第一个浮现在我们脑海中的必然是那象征着青春阳光 蓝白色相称的水手服啦. 拉色短裙配上洁白的直袜", |
|
BannerURL: "http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg", |
|
TemplateID: 1, |
|
State: 0, |
|
Author: &artmdl.Author{Mid: 123, Name: "爱蜜莉雅", Face: "http://i1.hdslb.com/bfs/face/5c6109964e78a84021299cdf71739e21cd7bc208.jpg"}, |
|
Reprint: 0, |
|
ImageURLs: []string{"http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg", "http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg", "http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg"}, |
|
OriginImageURLs: []string{"http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg", "http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg", "http://i2.hdslb.com/bfs/archive/b5727f244d5c7a34c1c0e78f49765d09ff30c129.jpg"}, |
|
PublishTime: 1495784507, |
|
Tags: []*artmdl.Tag{}, |
|
Stats: &artmdl.Stats{Favorite: 100, Like: 10, View: 500, Dislike: 1, Share: 99}, |
|
}, |
|
Content: "content", |
|
} |
|
) |
|
|
|
func CleanCache() { |
|
c := context.TODO() |
|
pool := redis.NewPool(conf.Conf.Redis) |
|
pool.Get(c).Do("FLUSHDB") |
|
} |
|
|
|
func init() { |
|
dir, _ := filepath.Abs("../cmd/convey-test.toml") |
|
flag.Set("conf", dir) |
|
conf.Init() |
|
d = New(conf.Conf) |
|
d.httpClient.SetTransport(gock.DefaultTransport) |
|
} |
|
|
|
func WithDao(f func(d *Dao)) func() { |
|
return func() { |
|
Reset(func() { CleanCache() }) |
|
f(d) |
|
} |
|
} |
|
|
|
func WithMysql(f func(d *Dao)) func() { |
|
return func() { |
|
Reset(func() { CleanCache() }) |
|
f(d) |
|
} |
|
} |
|
|
|
func WithCleanCache(f func()) func() { |
|
return func() { |
|
Reset(func() { CleanCache() }) |
|
f() |
|
} |
|
} |
|
|
|
func httpMock(method, url string) *gock.Request { |
|
r := gock.New(url) |
|
r.Method = strings.ToUpper(method) |
|
return r |
|
} |
|
|
|
func ctx() context.Context { |
|
return context.Background() |
|
}
|
|
|