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.
119 lines
3.9 KiB
119 lines
3.9 KiB
package dao |
|
|
|
import ( |
|
"context" |
|
"testing" |
|
|
|
"go-common/app/interface/main/push-archive/model" |
|
|
|
"github.com/smartystreets/goconvey/convey" |
|
) |
|
|
|
func Test_onekey(t *testing.T) { |
|
var included bool |
|
var err error |
|
included, err = d.filterFanByUpper(context.TODO(), int64(12312313), int64(275152561), "ai:pushlist_follow_recent", []string{"m"}) |
|
convey.Convey("hbase过滤up主, 不存在", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
convey.So(included, convey.ShouldEqual, false) |
|
}) |
|
|
|
included, err = d.filterFanByUpper(context.TODO(), int64(27515303), int64(27515256), "ai:pushlist_follow_recent", []string{"m", "m1"}) |
|
convey.Convey("hbase过滤up主,增加1个", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
convey.So(included, convey.ShouldEqual, true) |
|
}) |
|
included, err = d.filterFanByUpper(context.TODO(), int64(27515401), int64(27515256), "ai:pushlist_follow_recent", []string{"m"}) |
|
convey.Convey("hbase过滤up主,增加1个", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
convey.So(included, convey.ShouldEqual, true) |
|
}) |
|
included, err = d.filterFanByUpper(context.TODO(), int64(27515300), int64(27515256), "ai:pushlist_follow_recent", []string{"m"}) |
|
convey.Convey("hbase过滤up主,增加1个", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
convey.So(included, convey.ShouldEqual, true) |
|
}) |
|
|
|
} |
|
|
|
func Test_keys(t *testing.T) { |
|
var result, excluded []int64 |
|
params := map[string]interface{}{ |
|
"base": int64(27515256), |
|
"table": "ai:pushlist_follow_recent", |
|
"family": []string{"m"}, |
|
"result": &result, |
|
"excluded": &excluded, |
|
"handler": d.filterFanByUpper, |
|
} |
|
err := d.FilterFans(&[]int64{27515303, 27515401, 27515300, 12312313}, params) |
|
convey.Convey("多协程过滤up主,3个符合,1个排除", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
convey.So(len(result), convey.ShouldEqual, 3) |
|
convey.So(len(excluded), convey.ShouldEqual, 1) |
|
}) |
|
} |
|
|
|
func Test_batchfilter(t *testing.T) { |
|
var result, excluded []int64 |
|
params := model.NewBatchParam(map[string]interface{}{ |
|
"base": int64(27515256), |
|
"table": "ai:pushlist_follow_recent", |
|
"family": []string{"m"}, |
|
"result": &result, |
|
"excluded": &excluded, |
|
"handler": d.filterFanByUpper, |
|
}, nil) |
|
Batch(&[]int64{27515303, 27515401, 27515300, 12312313}, 1, 2, params, d.FilterFans) |
|
convey.Convey("批量过滤up主, ,3个符合,1个排除", t, func() { |
|
convey.So(len(result), convey.ShouldEqual, 3) |
|
convey.So(len(excluded), convey.ShouldEqual, 1) |
|
}) |
|
t.Logf("the result(%v), excluded(%v)", result, excluded) |
|
} |
|
|
|
func Test_addfans(t *testing.T) { |
|
err := d.AddFans(context.TODO(), int64(275152561), int64(121212), model.RelationAttention) |
|
convey.Convey("添加粉丝到up主", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
}) |
|
} |
|
|
|
func Test_delfans(t *testing.T) { |
|
err := d.DelFans(context.TODO(), int64(275152561), int64(121212)) |
|
convey.Convey("删除up主的粉丝", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
}) |
|
} |
|
|
|
func Test_fansbyupper(t *testing.T) { |
|
Test_addfans(t) |
|
fans, err := d.Fans(context.TODO(), int64(275152561), false) |
|
convey.Convey("up主增加一个粉丝后", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
convey.So(len(fans), convey.ShouldEqual, 1) |
|
}) |
|
|
|
fans, err = d.Fans(context.TODO(), int64(275152561), true) |
|
convey.Convey("up主增加一个普通关注粉丝后, pgc稿件只有特殊关注粉丝", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
convey.So(len(fans), convey.ShouldEqual, 0) |
|
}) |
|
|
|
Test_delfans(t) |
|
fans, err = d.Fans(context.TODO(), int64(275152561), false) |
|
convey.Convey("up主删除一个粉丝后", t, func() { |
|
convey.So(err, convey.ShouldBeNil) |
|
convey.So(len(fans), convey.ShouldEqual, 0) |
|
}) |
|
} |
|
|
|
func Test_fansbyactive(t *testing.T) { |
|
// 18507659 + 37118721 + 88889069 |
|
fan := int64(88889069) |
|
hour := 21 |
|
table := "dm_member_push_active_hour" |
|
family := []string{"p"} |
|
included, err := d.filterFanByActive(context.TODO(), fan, hour, table, family) |
|
t.Logf("the included(%v) err(%v)", included, err) |
|
}
|
|
|