mirror of
https://github.com/go-micro/go-micro.git
synced 2025-06-30 22:33:49 +02:00
add all the plugins
This commit is contained in:
README.mdgo.modgo.sumcleanup.shplugin.gorelease.shtemplate.goservice.go
plugin
plugins
.github
.gitignore.golangci.yml.travis
LICENSEREADME.mdagent
broker
gocloud
googlepubsub
grpc
http
kafka
memory
mqtt
nats
nsq
proxy
rabbitmq
auth.gochannel.goconnection.goconnection_test.gocontext.gogo.modgo.sumoptions.gorabbitmq.gorabbitmq_test.go
redis
segmentio
service
snssqs
sqs
stan
stomp
client
codec
bsonrpc
json-iterator
jsonrpc2
msgpackrpc
segmentio
config
encoder
source
configmap
consul
grpc
mucp
pkger
runtimevar
url
vault
logger
apex
logrus
zap
zerolog
proxy
registry
cache
consul
etcd
etcdv3
eureka
eureka.goeureka_test.gogo.modgo.summarshalling.gomarshalling_test.go
mock
options.gooptions_test.gowatcher.gogossip
kubernetes
README.md
client
go.modgo.sumkubernetes.gokubernetes_test.gowatcher.gomdns
memory
multi
nats
assert_test.goenvironment_test.gogo.modgo.sumnats.gonats_test.gooptions.gooptions_test.goutil.gowatcher.go
proxy
service
zookeeper
selector
label
shard
static
server
http
store
consul
etcd
memcached
mysql
redis
transport
grpc
http
memory
nats
quic
rabbitmq
tcp
utp
wrapper
README.md
breaker
endpoint
monitoring
prometheus
victoriametrics
ratelimiter
select
roundrobin
shard
version
service
trace
awsxray
datadog
opencensus
opentracing
validator
188
plugins/codec/msgpackrpc/rpc_test.go
Normal file
188
plugins/codec/msgpackrpc/rpc_test.go
Normal file
@ -0,0 +1,188 @@
|
||||
package msgpackrpc
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/tinylib/msgp/msgp"
|
||||
)
|
||||
|
||||
func TestRequest(t *testing.T) {
|
||||
r1 := Request{
|
||||
ID: "100",
|
||||
Method: "Call",
|
||||
Body: nil,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
|
||||
if err := msgp.Encode(&buf, &r1); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
var r2 Request
|
||||
|
||||
if err := msgp.Decode(&buf, &r2); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(r1, r2) {
|
||||
t.Error("values are not equal")
|
||||
}
|
||||
}
|
||||
|
||||
func TestResponse(t *testing.T) {
|
||||
r1 := Response{
|
||||
ID: "100",
|
||||
Error: "error",
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
|
||||
if err := msgp.Encode(&buf, &r1); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
var r2 Response
|
||||
|
||||
if err := msgp.Decode(&buf, &r2); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(r1, r2) {
|
||||
t.Error("values are not equal")
|
||||
}
|
||||
}
|
||||
|
||||
func TestNotification(t *testing.T) {
|
||||
r1 := Notification{
|
||||
Method: "Call",
|
||||
Body: nil,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
|
||||
if err := msgp.Encode(&buf, &r1); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
var r2 Notification
|
||||
|
||||
if err := msgp.Decode(&buf, &r2); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if !reflect.DeepEqual(r1, r2) {
|
||||
t.Error("values are not equal")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkRequestEncode(b *testing.B) {
|
||||
r := Request{
|
||||
ID: "100",
|
||||
Method: "Call",
|
||||
Body: nil,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
w := msgp.NewWriter(&buf)
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.EncodeMsg(w)
|
||||
w.Flush()
|
||||
buf.Reset()
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkRequestDecode(b *testing.B) {
|
||||
r := Request{
|
||||
ID: "100",
|
||||
Method: "Call",
|
||||
Body: nil,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
msgp.Encode(&buf, &r)
|
||||
byts := buf.Bytes()
|
||||
|
||||
mr := msgp.NewReader(&buf)
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
buf.Reset()
|
||||
buf.Write(byts)
|
||||
r.DecodeMsg(mr)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkResponseEncode(b *testing.B) {
|
||||
r := Response{
|
||||
ID: "100",
|
||||
Error: "error",
|
||||
Body: nil,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
w := msgp.NewWriter(&buf)
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.EncodeMsg(w)
|
||||
w.Flush()
|
||||
buf.Reset()
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkResponseDecode(b *testing.B) {
|
||||
r := Response{
|
||||
ID: "100",
|
||||
Error: "error",
|
||||
Body: nil,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
msgp.Encode(&buf, &r)
|
||||
byts := buf.Bytes()
|
||||
|
||||
mr := msgp.NewReader(&buf)
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
buf.Reset()
|
||||
buf.Write(byts)
|
||||
r.DecodeMsg(mr)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkNotificationEncode(b *testing.B) {
|
||||
r := Notification{
|
||||
Method: "Call",
|
||||
Body: nil,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
w := msgp.NewWriter(&buf)
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
r.EncodeMsg(w)
|
||||
w.Flush()
|
||||
buf.Reset()
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkNotificationDecode(b *testing.B) {
|
||||
r := Notification{
|
||||
Method: "Call",
|
||||
Body: nil,
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
msgp.Encode(&buf, &r)
|
||||
byts := buf.Bytes()
|
||||
|
||||
mr := msgp.NewReader(&buf)
|
||||
|
||||
for i := 0; i < b.N; i++ {
|
||||
buf.Reset()
|
||||
buf.Write(byts)
|
||||
r.DecodeMsg(mr)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user