mirror of https://github.com/dtm-labs/dtm.git
csharpjavadistributed-transactionsdtmgogolangmicroservicenodejsphpdatabasesagaseatatcctransactiontransactionsxapythondistributed
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.
154 lines
3.7 KiB
154 lines
3.7 KiB
package dtmgrpc
|
|
|
|
import (
|
|
"context"
|
|
"reflect"
|
|
"testing"
|
|
|
|
"github.com/dtm-labs/dtm/client/dtmcli"
|
|
)
|
|
|
|
// TestNewMsgGrpc ut for NewMsgGrpc
|
|
func TestNewMsgGrpc(t *testing.T) {
|
|
var (
|
|
server = "dmt_server_address"
|
|
gidNoOptions = "msg_no_setup_options"
|
|
gidTraceIDXXX = "msg_setup_options_trace_id_xxx"
|
|
msgWithTraceIDXXX = &MsgGrpc{Msg: *dtmcli.NewMsg(server, gidTraceIDXXX)}
|
|
traceIDHeaders = map[string]string{
|
|
"x-trace-id": "xxx",
|
|
}
|
|
)
|
|
msgWithTraceIDXXX.BranchHeaders = traceIDHeaders
|
|
type args struct {
|
|
gid string
|
|
opts []TransBaseOption
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want *MsgGrpc
|
|
}{
|
|
{
|
|
name: "no setup options",
|
|
args: args{gid: gidNoOptions},
|
|
want: &MsgGrpc{Msg: *dtmcli.NewMsg(server, gidNoOptions)},
|
|
},
|
|
{
|
|
name: "msg with trace_id",
|
|
args: args{
|
|
gid: gidTraceIDXXX,
|
|
opts: []TransBaseOption{
|
|
WithBranchHeaders(traceIDHeaders),
|
|
},
|
|
},
|
|
want: msgWithTraceIDXXX,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := NewMsgGrpc(server, tt.args.gid, tt.args.opts...)
|
|
t.Logf("TestNewMsgGrpc %s got %+v\n", tt.name, got)
|
|
if !reflect.DeepEqual(got, tt.want) {
|
|
t.Errorf("NewMsgGrpc() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
// TestNewSagaGrpc ut for NewSagaGrpc
|
|
func TestNewSagaGrpc(t *testing.T) {
|
|
var (
|
|
server = "dmt_server_address"
|
|
gidNoOptions = "msg_no_setup_options"
|
|
gidTraceIDXXX = "msg_setup_options_trace_id_xxx"
|
|
sagaWithTraceIDXXX = &SagaGrpc{Saga: *dtmcli.NewSaga(server, gidTraceIDXXX)}
|
|
traceIDHeaders = map[string]string{
|
|
"x-trace-id": "xxx",
|
|
}
|
|
)
|
|
sagaWithTraceIDXXX.BranchHeaders = traceIDHeaders
|
|
type args struct {
|
|
gid string
|
|
opts []TransBaseOption
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want *SagaGrpc
|
|
}{
|
|
{
|
|
name: "no setup options",
|
|
args: args{gid: gidNoOptions},
|
|
want: &SagaGrpc{Saga: *dtmcli.NewSaga(server, gidNoOptions)},
|
|
},
|
|
{
|
|
name: "msg with trace_id",
|
|
args: args{
|
|
gid: gidTraceIDXXX,
|
|
opts: []TransBaseOption{
|
|
WithBranchHeaders(traceIDHeaders),
|
|
},
|
|
},
|
|
want: sagaWithTraceIDXXX,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := NewSagaGrpc(server, tt.args.gid, tt.args.opts...)
|
|
t.Logf("TestNewSagaGrpc %s got %+v\n", tt.name, got)
|
|
if !reflect.DeepEqual(got, tt.want) {
|
|
t.Errorf("NewSagaGrpc() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
// TestNewSagaGrpcWithContext ut for NewSagaGrpcWithContext
|
|
func TestNewSagaGrpcWithContext(t *testing.T) {
|
|
var (
|
|
ctx = context.Background()
|
|
server = "dmt_server_address"
|
|
gidNoOptions = "msg_no_setup_options"
|
|
gidTraceIDXXX = "msg_setup_options_trace_id_xxx"
|
|
sagaWithTraceIDXXX = &SagaGrpc{Saga: *dtmcli.NewSagaWithContext(ctx, server, gidTraceIDXXX)}
|
|
traceIDHeaders = map[string]string{
|
|
"x-trace-id": "xxx",
|
|
}
|
|
)
|
|
sagaWithTraceIDXXX.BranchHeaders = traceIDHeaders
|
|
type args struct {
|
|
gid string
|
|
opts []TransBaseOption
|
|
}
|
|
tests := []struct {
|
|
name string
|
|
args args
|
|
want *SagaGrpc
|
|
}{
|
|
{
|
|
name: "no setup options",
|
|
args: args{gid: gidNoOptions},
|
|
want: &SagaGrpc{Saga: *dtmcli.NewSaga(server, gidNoOptions)},
|
|
},
|
|
{
|
|
name: "msg with trace_id",
|
|
args: args{
|
|
gid: gidTraceIDXXX,
|
|
opts: []TransBaseOption{
|
|
WithBranchHeaders(traceIDHeaders),
|
|
},
|
|
},
|
|
want: sagaWithTraceIDXXX,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := NewSagaGrpcWithContext(ctx, server, tt.args.gid, tt.args.opts...)
|
|
t.Logf("TestNewSagaGrpc %s got %+v\n", tt.name, got)
|
|
if !reflect.DeepEqual(got, tt.want) {
|
|
t.Errorf("NewSagaGrpc() = %v, want %v", got, tt.want)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|