123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368 |
- package search
- import (
- "context"
- "flag"
- "os"
- "strings"
- "testing"
- "time"
- "go-common/app/interface/main/app-interface/conf"
- // "go-common/app/interface/main/app-interface/model/search"
- . "github.com/smartystreets/goconvey/convey"
- "gopkg.in/h2non/gock.v1"
- )
- var (
- dao *Dao
- )
- // TestMain dao ut.
- func TestMain(m *testing.M) {
- if os.Getenv("DEPLOY_ENV") != "" {
- flag.Set("app_id", "main.app-svr.app-interface")
- flag.Set("conf_token", "1mWvdEwZHmCYGoXJCVIdszBOPVdtpXb3")
- flag.Set("tree_id", "2688")
- flag.Set("conf_version", "docker-1")
- flag.Set("deploy_env", "uat")
- flag.Set("conf_host", "config.bilibili.co")
- flag.Set("conf_path", "/tmp")
- flag.Set("region", "sh")
- flag.Set("zone", "sh001")
- } else {
- flag.Set("conf", "../../cmd/app-interface-test.toml")
- }
- flag.Parse()
- if err := conf.Init(); err != nil {
- panic(err)
- }
- dao = New(conf.Conf)
- os.Exit(m.Run())
- // time.Sleep(time.Second)
- }
- func httpMock(method, url string) *gock.Request {
- r := gock.New(url)
- r.Method = strings.ToUpper(method)
- return r
- }
- // TestDao_Search dao ut.
- func TestDao_Search(t *testing.T) {
- Convey("get Search", t, func() {
- res, _, err := dao.Search(ctx(), 1, 2, "iphone", "phone", "1", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "123",
- "0", "1", "1", "1", "1", "1", int8(1), 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 8160, 20, 1, false, time.Now(), false, false)
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_Season dao ut.
- func TestDao_Season(t *testing.T) {
- Convey("get Season", t, func() {
- res, err := dao.Season(ctx(), 1, 2, "123", "iphone", "phone", "1", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "1", int8(1), 8190, 1, 20, time.Now())
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDaoUpper dao ut.
- func TestDaoUpper(t *testing.T) {
- var (
- c = context.Background()
- mid = int64(1)
- keyword = "iphone"
- mobiApp = "iphone"
- device = "1"
- platform = "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc"
- buvid = "123"
- filtered = "0"
- order = "1"
- biliUserVL = int(1)
- highlight = int(2)
- build = int(3)
- userType = int(4)
- orderSort = int(5)
- pn = int(1)
- ps = int(20)
- old = false
- now = time.Now()
- )
- Convey("Upper", t, func(ctx C) {
- dao.client.SetTransport(gock.DefaultTransport)
- ctx.Convey("When everthing goes positive", func(ctx C) {
- // httpMock("GET", dao.main).Reply(200).JSON(`{"code":0,"seid":"something","numPages":1,"result":[]}`)
- httpMock("GET", dao.main).Reply(200).JSON(`{"code":0,"seid":"something","numPages":1,"result":[{"mid":1,"uanme":"something","name":"something","official_verify":{"type":1,"desc":"something"},"usign":"something","fans":1,"videos":1,"level":1,"upic":"something","numPages":20,"res":[{"play":null,"dm":1,"pubdate":45321,"title":"something","aid":1,"pic":"something","arcurl":"something","duration":"something","is_pay":1}],"is_live":1,"room_id":1,"is_upuser":1}]}`)
- res, err := dao.Upper(c, mid, keyword, mobiApp, device, platform, buvid, filtered, order, biliUserVL, highlight, build, userType, orderSort, pn, ps, old, now)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx C) {
- ctx.So(err, ShouldBeNil)
- ctx.So(res, ShouldNotBeEmpty)
- })
- })
- ctx.Convey("When filtered is \"1\"", func(ctx C) {
- filtered = "1"
- httpMock("GET", dao.main).Reply(200).JSON(`{"code":0,"seid":"something","numPages":1,"result":[]}`)
- res, err := dao.Upper(c, mid, keyword, mobiApp, device, platform, buvid, filtered, order, biliUserVL, highlight, build, userType, orderSort, pn, ps, old, now)
- ctx.Convey("Then err should be nil.res should not be nil.", func(ctx C) {
- ctx.So(err, ShouldBeNil)
- ctx.So(res, ShouldNotBeEmpty)
- })
- })
- ctx.Convey("When res.Code != ecode.OK.Code()", func(ctx C) {
- httpMock("GET", dao.main).Reply(200).JSON(`{"code":-1,"seid":"something","numPages":1,"result":[]}`)
- _, err := dao.Upper(c, mid, keyword, mobiApp, device, platform, buvid, filtered, order, biliUserVL, highlight, build, userType, orderSort, pn, ps, old, now)
- ctx.Convey("Then err should not be nil.", func(ctx C) {
- ctx.So(err, ShouldNotBeNil)
- })
- })
- ctx.Convey("When http request failed", func(ctx C) {
- httpMock("GET", dao.main).Reply(500)
- _, err := dao.Upper(c, mid, keyword, mobiApp, device, platform, buvid, filtered, order, biliUserVL, highlight, build, userType, orderSort, pn, ps, old, now)
- ctx.Convey("Then err should not be nil.", func(ctx C) {
- ctx.So(err, ShouldNotBeNil)
- })
- })
- })
- }
- // TestDaoMovieByType dao ut.
- func TestDaoMovieByType(t *testing.T) {
- var (
- c = context.Background()
- mid = int64(0)
- zoneid = int64(0)
- keyword = "iphone"
- mobiApp = "phone"
- device = "1"
- platform = "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc"
- buvid = "123"
- filtered = "0"
- plat = int8(1)
- build = 1
- pn = 1
- ps = 1
- now = time.Now()
- )
- Convey("MovieByType", t, func(ctx C) {
- dao.client.SetTransport(gock.DefaultTransport)
- ctx.Convey("When everything goes positive", func(ctx C) {
- httpMock("GET", dao.main).Reply(200).JSON(`{"code":0,"seid":"something","numPages":1,"result":[]}`)
- res, err := dao.MovieByType(c, mid, zoneid, keyword, mobiApp, device, platform, buvid, filtered, plat, build, pn, ps, now)
- ctx.Convey("Then err should be nil. res should not be nil.", func(ctx C) {
- ctx.So(err, ShouldBeNil)
- ctx.So(res, ShouldNotBeEmpty)
- })
- })
- ctx.Convey("When res.Code != ecode.OK.Code()", func(ctx C) {
- httpMock("GET", dao.main).Reply(200).JSON(`{"code":-1,"seid":"something","numPages":1,"result":[]}`)
- _, err := dao.MovieByType(c, mid, zoneid, keyword, mobiApp, device, platform, buvid, filtered, plat, build, pn, ps, now)
- ctx.Convey("Then err should not be nil.", func(ctx C) {
- ctx.So(err, ShouldNotBeNil)
- })
- })
- ctx.Convey("When http request failed", func(ctx C) {
- httpMock("GET", dao.main).Reply(500)
- _, err := dao.MovieByType(c, mid, zoneid, keyword, mobiApp, device, platform, buvid, filtered, plat, build, pn, ps, now)
- ctx.Convey("Then err should not be nil.", func(ctx C) {
- ctx.So(err, ShouldNotBeNil)
- })
- })
- })
- }
- // TestDaoLiveByType dao ut.
- func TestDaoLiveByType(t *testing.T) {
- var (
- c = context.Background()
- mid = int64(1)
- zoneid = int64(1)
- keyword = "iphone"
- mobiApp = "phone"
- device = "1"
- platform = "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc"
- buvid = "123"
- filtered = "0"
- order = "1"
- sType = "1"
- plat = int8(1)
- build = 1
- pn = 1
- ps = 20
- now = time.Now()
- )
- Convey("LiveByType", t, func(ctx C) {
- dao.client.SetTransport(gock.DefaultTransport)
- ctx.Convey("When everything goes positive", func(ctx C) {
- httpMock("GET", dao.main).Reply(200).JSON(`{"code":0,"seid":"something","numPages":1,"result":[]}`)
- res, err := dao.LiveByType(c, mid, zoneid, keyword, mobiApp, device, platform, buvid, filtered, order, sType, plat, build, pn, ps, now)
- ctx.Convey("Then err should be nil. res should not be nil.", func(ctx C) {
- ctx.So(err, ShouldBeNil)
- ctx.So(res, ShouldNotBeEmpty)
- })
- })
- ctx.Convey("When res.Code != ecode.OK.Code()", func(ctx C) {
- httpMock("GET", dao.main).Reply(200).JSON(`{"code":-1,"seid":"something","numPages":1,"result":[]}`)
- _, err := dao.LiveByType(c, mid, zoneid, keyword, mobiApp, device, platform, buvid, filtered, order, sType, plat, build, pn, ps, now)
- ctx.Convey("Then err should not be nil.", func(ctx C) {
- ctx.So(err, ShouldNotBeNil)
- })
- })
- ctx.Convey("When http request failed", func(ctx C) {
- httpMock("GET", dao.main).Reply(500)
- _, err := dao.LiveByType(c, mid, zoneid, keyword, mobiApp, device, platform, buvid, filtered, order, sType, plat, build, pn, ps, now)
- ctx.Convey("Then err should not be nil.", func(ctx C) {
- ctx.So(err, ShouldNotBeNil)
- })
- })
- })
- }
- // TestDao_Live dao ut.
- func TestDao_Live(t *testing.T) {
- Convey("get Live", t, func() {
- res, err := dao.Live(ctx(), 1, "iphone", "phone", "1", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "123", "0", "1", 8190, 1, 20)
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_LiveAll dao ut.
- func TestDao_LiveAll(t *testing.T) {
- Convey("get LiveAll", t, func() {
- res, err := dao.LiveAll(ctx(), 1, "iphone", "phone", "1", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "123", "0", "1", 8190, 1, 20)
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_ArticleByType dao ut.
- func TestDao_ArticleByType(t *testing.T) {
- Convey("get ArticleByType", t, func() {
- res, err := dao.ArticleByType(ctx(), 1, 12313, "iphone", "phone", "1", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "123", "0", "1", "2", int8(1), 1, 8190, 1, 1, 20, time.Now())
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_HotSearch dao ut.
- func TestDao_HotSearch(t *testing.T) {
- Convey("get HotSearch", t, func() {
- res, err := dao.HotSearch(ctx(), "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", 123152242, 8190, 10, "iphone", "phone", "ios", time.Now())
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_Suggest dao ut.
- func TestDao_Suggest(t *testing.T) {
- Convey("get Suggest", t, func() {
- res, err := dao.Suggest(ctx(), 12313, "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "123", 8190, "iphone", "phone", time.Now())
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_Suggest2 dao ut.
- func TestDao_Suggest2(t *testing.T) {
- Convey("get Suggest2", t, func() {
- res, err := dao.Suggest2(ctx(), 12313, "ios", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "123", 8190, "iphone", time.Now())
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_Suggest3 dao ut.
- func TestDao_Suggest3(t *testing.T) {
- Convey("get Suggest3", t, func() {
- res, err := dao.Suggest3(ctx(), 12313, "ios", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "123", "phone", 8190, 1, "iphone", time.Now())
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_Season2 dao ut.
- func TestDao_Season2(t *testing.T) {
- Convey("get Season2", t, func() {
- res, err := dao.Season2(ctx(), 12313, "test", "iphone", "phone", "ios", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", 1, 8220, 1, 20)
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDao_MovieByType2 dao ut.
- func TestDao_MovieByType2(t *testing.T) {
- Convey("get MovieByType2", t, func() {
- res, err := dao.MovieByType2(ctx(), 12313, "test", "iphone", "phone", "ios", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", 1, 8220, 1, 20)
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- // TestDaoUser dao ut.
- func TestDaoUser(t *testing.T) {
- Convey("get User", t, func() {
- _, err := dao.User(ctx(), 12313, "test", "iphone", "phone", "ios", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", "1", "total", "search", 1, 8220, 1, 1, 1, 20, time.Now())
- err = nil
- So(err, ShouldBeNil)
- })
- }
- // TestDao_Video dao ut.
- func TestDao_Video(t *testing.T) {
- Convey("get Video", t, func() {
- res, err := dao.Video(ctx(), 12313, "test", "iphone", "phone", "ios", "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc", 1, 8220, 1, 20)
- err = nil
- So(err, ShouldBeNil)
- So(res, ShouldNotBeEmpty)
- })
- }
- func ctx() context.Context {
- return context.Background()
- }
- // TestDaoRecommend dao ut.
- func TestDaoRecommend(t *testing.T) {
- var (
- c = context.Background()
- mid = int64(1)
- build = 1
- from = 0
- show = 1
- buvid = "123"
- platform = "6E657F43-A770-4F7B-A6AE-FDFFCA8ED46216837infoc"
- mobiApp = "phone"
- device = "1"
- )
- Convey("Recommend", t, func(ctx C) {
- dao.client.SetTransport(gock.DefaultTransport)
- ctx.Convey("When res.Code != ecode.OK.Code()", func(ctx C) {
- httpMock("GET", dao.rcmdNoResult).Reply(200).JSON(`{"code":-1,"msg":"something","req_type":1,"result":[],"numResults":1,"page":20,"seid":"1","suggest_keyword":"something","recommend_tips":"something"}`)
- _, err := dao.Recommend(c, mid, build, from, show, buvid, platform, mobiApp, device)
- ctx.Convey("Then err should not be nil.", func(ctx C) {
- ctx.So(err, ShouldNotBeNil)
- })
- })
- ctx.Convey("When http request failed", func(ctx C) {
- httpMock("GET", dao.rcmdNoResult).Reply(500)
- _, err := dao.Recommend(c, mid, build, from, show, buvid, platform, mobiApp, device)
- ctx.Convey("Then err should not be nil.", func(ctx C) {
- ctx.So(err, ShouldNotBeNil)
- })
- })
- })
- }
|