Create & Init Project...

This commit is contained in:
2019-04-22 18:49:16 +08:00
commit fc4fa37393
25440 changed files with 4054998 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [
":package-srcs",
"//app/service/main/assist/rpc/client:all-srcs",
"//app/service/main/assist/rpc/server:all-srcs",
],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,45 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = ["assist_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
deps = [
"//app/service/main/assist/model/assist:go_default_library",
"//vendor/github.com/davecgh/go-spew/spew:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = ["assist.go"],
importpath = "go-common/app/service/main/assist/rpc/client",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/assist/model/assist:go_default_library",
"//library/net/rpc:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,112 @@
package client
import (
"context"
"go-common/library/net/rpc"
model "go-common/app/service/main/assist/model/assist"
)
const (
_assists = "RPC.Assists"
_assistIDs = "RPC.AssistIDs"
_assist = "RPC.Assist"
_assistExit = "RPC.AssistExit"
_addAssist = "RPC.AddAssist"
_delAssist = "RPC.DelAssist"
_assistLogs = "RPC.AssistLogs"
_assistLogInfo = "RPC.AssistLogInfo"
_assistLogAdd = "RPC.AssistLogAdd"
_assistLogCancel = "RPC.AssistLogCancel"
_assistUps = "RPC.AssistUps"
)
const (
_appid = "archive.service.assist"
)
var (
_noArg = &struct{}{}
)
// Service def
type Service struct {
client *rpc.Client2
}
// New def
func New(c *rpc.ClientConfig) (s *Service) {
s = &Service{}
s.client = rpc.NewDiscoveryCli(_appid, c)
return s
}
// Assists def
func (s *Service) Assists(c context.Context, arg *model.ArgAssists) (res []*model.Assist, err error) {
err = s.client.Call(c, _assists, arg, &res)
return
}
// AssistIDs def
func (s *Service) AssistIDs(c context.Context, arg *model.ArgAssists) (res []int64, err error) {
err = s.client.Call(c, _assistIDs, arg, &res)
return
}
// Assist def
func (s *Service) Assist(c context.Context, arg *model.ArgAssist) (res *model.AssistRes, err error) {
res = new(model.AssistRes)
err = s.client.Call(c, _assist, arg, &res)
return
}
// AddAssist def
func (s *Service) AddAssist(c context.Context, arg *model.ArgAssist) (err error) {
err = s.client.Call(c, _addAssist, arg, _noArg)
return
}
// DelAssist def
func (s *Service) DelAssist(c context.Context, arg *model.ArgAssist) (err error) {
err = s.client.Call(c, _delAssist, arg, _noArg)
return
}
// AssistLogs def
func (s *Service) AssistLogs(c context.Context, arg *model.ArgAssistLogs) (res []*model.Log, err error) {
err = s.client.Call(c, _assistLogs, arg, &res)
return
}
// AssistLogInfo def
func (s *Service) AssistLogInfo(c context.Context, arg *model.ArgAssistLog) (res *model.Log, err error) {
res = new(model.Log)
err = s.client.Call(c, _assistLogInfo, arg, &res)
return
}
// AssistLogAdd def
func (s *Service) AssistLogAdd(c context.Context, arg *model.ArgAssistLogAdd) (err error) {
err = s.client.Call(c, _assistLogAdd, arg, _noArg)
return
}
// AssistLogCancel def
func (s *Service) AssistLogCancel(c context.Context, arg *model.ArgAssistLog) (err error) {
err = s.client.Call(c, _assistLogCancel, arg, _noArg)
return
}
// AssistUps def
func (s *Service) AssistUps(c context.Context, arg *model.ArgAssistUps) (res *model.AssistUpsPager, err error) {
res = new(model.AssistUpsPager)
err = s.client.Call(c, _assistUps, arg, &res)
return
}
// AssistExit def
func (s *Service) AssistExit(c context.Context, arg *model.ArgAssist) (err error) {
err = s.client.Call(c, _assistExit, arg, _noArg)
return
}

View File

@@ -0,0 +1,175 @@
package client
import (
"context"
"testing"
"time"
model "go-common/app/service/main/assist/model/assist"
"github.com/davecgh/go-spew/spew"
)
const (
mid = 27515256
assistMid = 27515255
realIP = "127.0.0.1"
logID = 692
subjectID = 111
objectID = "222"
detail = "testing"
pn = 1
ps = 20
)
func TestAssistRpcService(t *testing.T) {
s := New(nil)
time.Sleep(1 * time.Second)
// test assist relation
delAssist(t, s)
addAssist(t, s)
assist(t, s)
assists(t, s)
assistIDs(t, s)
assistUps(t, s)
assistExit(t, s)
// test assistlog
assistLogAdd(t, s)
assistLogInfo(t, s)
assistLogCancel(t, s)
assistLogs(t, s)
}
func delAssist(t *testing.T, s *Service) {
arg := &model.ArgAssist{
Mid: mid,
AssistMid: assistMid,
RealIP: realIP,
}
if err := s.DelAssist(context.TODO(), arg); err != nil {
t.Logf("call error(%v)", err)
}
}
func addAssist(t *testing.T, s *Service) {
arg := &model.ArgAssist{
Mid: mid,
AssistMid: assistMid,
RealIP: realIP,
}
if err := s.AddAssist(context.TODO(), arg); err != nil {
t.Logf("call error(%v)", err)
}
}
func assistLogAdd(t *testing.T, s *Service) {
arg := &model.ArgAssistLogAdd{
Mid: mid,
AssistMid: assistMid,
Type: model.TypeComment,
Action: model.ActDelete,
SubjectID: subjectID,
ObjectID: objectID,
Detail: detail,
RealIP: realIP,
}
if err := s.AssistLogAdd(context.TODO(), arg); err != nil {
t.Logf("call error(%v)", err)
}
}
func assists(t *testing.T, s *Service) {
arg := &model.ArgAssists{
Mid: mid,
RealIP: realIP,
}
if res, err := s.Assists(context.TODO(), arg); err != nil && res != nil {
t.Logf("call error(%v)", err)
}
}
func assistIDs(t *testing.T, s *Service) {
arg := &model.ArgAssists{
Mid: mid,
RealIP: realIP,
}
if res, err := s.AssistIDs(context.TODO(), arg); err != nil && res != nil {
t.Logf("call error(%v)", err)
}
}
func assistUps(t *testing.T, s *Service) {
arg := &model.ArgAssistUps{
AssistMid: assistMid,
Ps: 20,
Pn: 1,
RealIP: realIP,
}
if res, err := s.AssistUps(context.TODO(), arg); err != nil && res != nil {
spew.Dump(res)
t.Logf("call error(%v)", err)
}
}
func assistExit(t *testing.T, s *Service) {
arg := &model.ArgAssist{
AssistMid: assistMid,
Mid: mid,
RealIP: realIP,
}
if err := s.AssistExit(context.TODO(), arg); err != nil {
t.Logf("call error(%v)", err)
}
}
func assistLogInfo(t *testing.T, s *Service) {
arg := &model.ArgAssistLog{
Mid: mid,
AssistMid: assistMid,
LogID: logID,
RealIP: realIP,
}
if res, err := s.AssistLogInfo(context.TODO(), arg); err != nil && res != nil {
t.Logf("call error(%v)", err)
}
}
func assist(t *testing.T, s *Service) {
arg := &model.ArgAssist{
Mid: mid,
AssistMid: assistMid,
RealIP: realIP,
}
if res, err := s.Assist(context.TODO(), arg); err != nil && res != nil {
spew.Dump(res)
t.Logf("call error(%v)", err)
}
}
func assistLogs(t *testing.T, s *Service) {
arg := &model.ArgAssistLogs{
Mid: mid,
AssistMid: assistMid,
Stime: time.Unix(time.Now().Unix(), 0),
Etime: time.Unix(time.Now().Add(48*time.Hour).Unix(), 0),
Pn: ps,
Ps: pn,
RealIP: realIP,
}
if res, err := s.AssistLogs(context.TODO(), arg); err != nil && res != nil {
t.Logf("call error(%v)", err)
}
}
func assistLogCancel(t *testing.T, s *Service) {
arg := &model.ArgAssistLog{
Mid: mid,
AssistMid: assistMid,
LogID: logID,
RealIP: realIP,
}
if err := s.AssistLogCancel(context.TODO(), arg); err != nil {
t.Logf("call error(%v)", err)
}
}

View File

@@ -0,0 +1,54 @@
package(default_visibility = ["//visibility:public"])
load(
"@io_bazel_rules_go//go:def.bzl",
"go_test",
"go_library",
)
go_test(
name = "go_default_test",
srcs = ["rpc_test.go"],
embed = [":go_default_library"],
rundir = ".",
tags = ["automanaged"],
deps = [
"//app/service/main/assist/conf:go_default_library",
"//app/service/main/assist/model/assist:go_default_library",
"//app/service/main/assist/service:go_default_library",
"//vendor/github.com/davecgh/go-spew/spew:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = [
"rpc.go",
"rpc_assist.go",
"rpc_log.go",
],
importpath = "go-common/app/service/main/assist/rpc/server",
tags = ["automanaged"],
visibility = ["//visibility:public"],
deps = [
"//app/service/main/assist/conf:go_default_library",
"//app/service/main/assist/model/assist:go_default_library",
"//app/service/main/assist/service:go_default_library",
"//library/net/rpc:go_default_library",
"//library/net/rpc/context:go_default_library",
],
)
filegroup(
name = "package-srcs",
srcs = glob(["**"]),
tags = ["automanaged"],
visibility = ["//visibility:private"],
)
filegroup(
name = "all-srcs",
srcs = [":package-srcs"],
tags = ["automanaged"],
visibility = ["//visibility:public"],
)

View File

@@ -0,0 +1,33 @@
package server
import (
"go-common/app/service/main/assist/conf"
"go-common/app/service/main/assist/service"
"go-common/library/net/rpc"
"go-common/library/net/rpc/context"
)
// RPC rpc.
type RPC struct {
s *service.Service
}
// New new rpc server.
func New(c *conf.Config, s *service.Service) (svr *rpc.Server) {
r := &RPC{s: s}
svr = rpc.NewServer(c.RPCServer)
if err := svr.Register(r); err != nil {
panic(err)
}
return
}
// Auth check connection success.
func (r *RPC) Auth(c context.Context, arg *rpc.Auth, res *struct{}) (err error) {
return
}
// Ping check connection success.
func (r *RPC) Ping(c context.Context, arg *struct{}, res *struct{}) (err error) {
return
}

View File

@@ -0,0 +1,49 @@
package server
import (
"go-common/app/service/main/assist/model/assist"
"go-common/library/net/rpc/context"
)
func (r *RPC) Assists(c context.Context, arg *assist.ArgAssists, res *[]*assist.Assist) (err error) {
*res, err = r.s.Assists(c, arg.Mid)
return
}
func (r *RPC) AssistIDs(c context.Context, arg *assist.ArgAssists, res *[]int64) (err error) {
*res, err = r.s.AssistIDs(c, arg.Mid)
return
}
func (r *RPC) Assist(c context.Context, arg *assist.ArgAssist, res *assist.AssistRes) (err error) {
var info *assist.AssistRes
if info, err = r.s.Assist(c, arg.Mid, arg.AssistMid, arg.Type); err == nil && info != nil {
*res = *info
}
return
}
func (r *RPC) AddAssist(c context.Context, arg *assist.ArgAssist, res *struct{}) (err error) {
err = r.s.AddAssist(c, arg.Mid, arg.AssistMid)
return
}
func (r *RPC) DelAssist(c context.Context, arg *assist.ArgAssist, res *struct{}) (err error) {
err = r.s.DelAssist(c, arg.Mid, arg.AssistMid)
return
}
func (r *RPC) AssistUps(c context.Context, arg *assist.ArgAssistUps, res *assist.AssistUpsPager) (err error) {
var info *assist.AssistUpsPager
if info, err = r.s.AssistUps(c, arg.AssistMid, arg.Pn, arg.Ps); err == nil && info != nil {
*res = *info
}
return
}
// AssistExit notice: reuse arg *assist.ArgAssist, except Type field
func (r *RPC) AssistExit(c context.Context, arg *assist.ArgAssist, res *struct{}) (err error) {
err = r.s.Exit(c, arg.Mid, arg.AssistMid)
return
}

View File

@@ -0,0 +1,30 @@
package server
import (
"go-common/app/service/main/assist/model/assist"
"go-common/library/net/rpc/context"
)
func (r *RPC) AssistLogAdd(c context.Context, arg *assist.ArgAssistLogAdd, res *struct{}) (err error) {
err = r.s.AddLog(c, arg.Mid, arg.AssistMid, arg.Type, arg.Action, arg.SubjectID, arg.ObjectID, arg.Detail)
return
}
func (r *RPC) AssistLogCancel(c context.Context, arg *assist.ArgAssistLog, res *struct{}) (err error) {
err = r.s.CancelLog(c, arg.Mid, arg.AssistMid, arg.LogID)
return
}
func (r *RPC) AssistLogs(c context.Context, arg *assist.ArgAssistLogs, res *[]*assist.Log) (err error) {
*res, err = r.s.Logs(c, arg.Mid, arg.AssistMid, arg.Stime, arg.Etime, arg.Pn, arg.Ps)
return
}
func (r *RPC) AssistLogInfo(c context.Context, arg *assist.ArgAssistLog, res *assist.Log) (err error) {
var info *assist.Log
if info, err = r.s.LogInfo(c, arg.LogID, arg.Mid, arg.AssistMid); err == nil && info != nil {
*res = *info
}
return
}

View File

@@ -0,0 +1,342 @@
package server
import (
"go-common/app/service/main/assist/conf"
"go-common/app/service/main/assist/model/assist"
model "go-common/app/service/main/assist/model/assist"
"go-common/app/service/main/assist/service"
"net/rpc"
"testing"
"time"
"github.com/davecgh/go-spew/spew"
)
const (
addr = "127.0.0.1:6729"
_assists = "RPC.Assists"
_assist = "RPC.Assist"
_addAssist = "RPC.AddAssist"
_delAssist = "RPC.DelAssist"
_assistExit = "RPC.AssistExit"
_assistLogInfo = "RPC.AssistLogInfo"
_assistLogs = "RPC.AssistLogs"
_assistLogAdd = "RPC.AssistLogAdd"
_assistLogCancel = "RPC.AssistLogCancel"
_assistUps = "RPC.AssistUps"
)
func TestAssistExit(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
assistExit(client, t)
}
func assistExit(client *rpc.Client, t *testing.T) {
assistInfo := new(struct{})
arg := &model.ArgAssist{
Mid: 254386,
AssistMid: 2,
RealIP: "127.0.0.1",
}
err := client.Call(_assistExit, arg, assistInfo)
if err != nil {
t.Logf("err:%v.", err)
}
spew.Dump(assistInfo)
}
func TestAssistUps(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
assistUps(client, t)
}
func assistUps(client *rpc.Client, t *testing.T) {
var res = &assist.AssistUpsPager{}
arg := &model.ArgAssistUps{
AssistMid: 88889017,
Pn: 1,
Ps: 20,
RealIP: "127.0.0.1",
}
err := client.Call(_assistUps, arg, &res)
if err != nil {
t.Logf("err:%v.", err)
}
t.Logf("%+v", res)
spew.Dump(res)
}
func TestAssists(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
assists(client, t)
}
func TestAssistInfo(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
assistInfo(client, t)
}
func TestAddAssist(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
addAssist(client, t)
}
func TestDelAssist(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
delAssist(client, t)
}
func TestAssistLogInfo(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
assistLogInfo(client, t)
}
func TestAssistLogAdd(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
assistLogAdd(client, t)
}
func TestAssistLogCancel(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
assistLogCancel(client, t)
}
func TestAssistLogs(t *testing.T) {
if err := conf.Init(); err != nil {
t.Errorf("conf.Init() error(%v)", err)
t.FailNow()
}
svr := service.New(conf.Conf)
New(conf.Conf, svr)
client, err := rpc.Dial("tcp", addr)
defer client.Close()
if err != nil {
t.Errorf("rpc.Dial(tcp, \"%s\") error(%v)", addr, err)
t.FailNow()
}
assistLogs(client, t)
}
func assistLogCancel(client *rpc.Client, t *testing.T) {
res := new(struct{})
arg := &model.ArgAssistLog{
Mid: 254386,
AssistMid: 2089809,
LogID: 670,
RealIP: "127.0.0.1",
}
err := client.Call(_assistLogCancel, arg, &res)
if err != nil {
t.Logf("err:%v.", err)
}
t.Logf("%+v", res)
}
func assistLogAdd(client *rpc.Client, t *testing.T) {
res := new(struct{})
arg := &model.ArgAssistLogAdd{
Mid: 254386,
AssistMid: 2089809,
Type: model.TypeComment,
Action: model.ActDelete,
SubjectID: 111,
ObjectID: "444",
Detail: "testing",
RealIP: "127.0.0.1",
}
err := client.Call(_assistLogAdd, arg, &res)
if err != nil {
t.Logf("err:%v.", err)
}
t.Logf("%+v", res)
}
func assistInfo(client *rpc.Client, t *testing.T) {
var res = &assist.AssistRes{}
arg := &model.ArgAssist{
Mid: 27515256,
AssistMid: 27515255,
RealIP: "127.0.0.1",
}
err := client.Call(_assist, arg, &res)
if err != nil {
t.Logf("err:%v.", err)
}
t.Logf("%+v", res)
}
func addAssist(client *rpc.Client, t *testing.T) {
assistInfo := new(struct{})
arg := &model.ArgAssist{
Mid: 27515256,
AssistMid: 27515255,
RealIP: "127.0.0.1",
}
err := client.Call(_addAssist, arg, assistInfo)
if err != nil {
t.Logf("err:%v.", err)
}
spew.Dump(assistInfo)
}
func delAssist(client *rpc.Client, t *testing.T) {
assistInfo := new(struct{})
arg := &model.ArgAssist{
Mid: 27515256,
AssistMid: 27515255,
RealIP: "127.0.0.1",
}
err := client.Call(_delAssist, arg, assistInfo)
if err != nil {
t.Logf("err:%v.", err)
}
spew.Dump(assistInfo)
}
func assists(client *rpc.Client, t *testing.T) {
var res = make([]*assist.Assist, 0)
arg := &model.ArgAssists{
Mid: 254386,
RealIP: "127.0.0.1",
}
err := client.Call(_assists, arg, &res)
if err != nil {
t.Logf("err:%v.", err)
}
t.Logf("%+v", res)
spew.Dump(res)
}
func assistLogs(client *rpc.Client, t *testing.T) {
var res = make([]*assist.Log, 0)
arg := &model.ArgAssistLogs{
Mid: 254386,
AssistMid: 2089809,
Stime: time.Unix(1496205563, 0),
Etime: time.Unix(1496291963, 0),
Pn: 1,
Ps: 30,
RealIP: "127.0.0.1",
}
err := client.Call(_assistLogs, arg, &res)
if err != nil {
t.Logf("err:%v.", err)
}
t.Logf("%+v", res)
spew.Dump(res)
}
func assistLogInfo(client *rpc.Client, t *testing.T) {
var res = &assist.Log{}
arg := &model.ArgAssistLog{
Mid: 254386,
AssistMid: 2089809,
LogID: 15,
RealIP: "127.0.0.1",
}
err := client.Call(_assistLogInfo, arg, &res)
if err != nil {
t.Logf("err:%v.", err)
}
t.Logf("%+v", res)
spew.Dump(res)
}