Skip to content

Commit

Permalink
fix utest
Browse files Browse the repository at this point in the history
  • Loading branch information
guyinyou committed Dec 19, 2022
1 parent 9e5d43f commit e48fdbb
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 1 deletion.
47 changes: 47 additions & 0 deletions golang/client_manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (
v2 "github.com/apache/rocketmq-clients/golang/protocol/v2"
gomock "github.com/golang/mock/gomock"
"github.com/prashantv/gostub"
"google.golang.org/grpc/metadata"
)

var MOCK_CLIENT_ID = "mock_client_id"
Expand All @@ -35,6 +36,51 @@ var MOCK_GROUP = "mock_group"
var MOCK_CLIENT *MockClient
var MOCK_RPC_CLIENT *MockRpcClient

type Mock_MessagingService_TelemetryClient struct {
}

// CloseSend implements v2.MessagingService_TelemetryClient
func (Mock_MessagingService_TelemetryClient) CloseSend() error {
return nil
}

// Context implements v2.MessagingService_TelemetryClient
func (Mock_MessagingService_TelemetryClient) Context() context.Context {
panic("unimplemented")
}

// Header implements v2.MessagingService_TelemetryClient
func (Mock_MessagingService_TelemetryClient) Header() (metadata.MD, error) {
panic("unimplemented")
}

// RecvMsg implements v2.MessagingService_TelemetryClient
func (Mock_MessagingService_TelemetryClient) RecvMsg(m interface{}) error {
panic("unimplemented")
}

// SendMsg implements v2.MessagingService_TelemetryClient
func (Mock_MessagingService_TelemetryClient) SendMsg(m interface{}) error {
panic("unimplemented")
}

// Trailer implements v2.MessagingService_TelemetryClient
func (Mock_MessagingService_TelemetryClient) Trailer() metadata.MD {
panic("unimplemented")
}

// Recv implements v2.MessagingService_TelemetryClient
func (Mock_MessagingService_TelemetryClient) Recv() (*v2.TelemetryCommand, error) {
return nil, fmt.Errorf("mock test")
}

// Send implements v2.MessagingService_TelemetryClient
func (Mock_MessagingService_TelemetryClient) Send(*v2.TelemetryCommand) error {
return nil
}

var _ = v2.MessagingService_TelemetryClient(Mock_MessagingService_TelemetryClient{})

func TestMain(m *testing.M) {
os.Setenv("mq.consoleAppender.enabled", "true")
ResetLogger()
Expand All @@ -50,6 +96,7 @@ func TestMain(m *testing.M) {
Code: v2.Code_OK,
},
}, nil).AnyTimes()

MOCK_RPC_CLIENT.EXPECT().GracefulStop().Return(nil).AnyTimes()
MOCK_RPC_CLIENT.EXPECT().GetTarget().Return(fakeAddresss).AnyTimes()
stubs := gostub.Stub(&NewRpcClient, func(target string, opts ...RpcClientOption) (RpcClient, error) {
Expand Down
33 changes: 33 additions & 0 deletions golang/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,44 @@ package golang
import (
"fmt"
"testing"
"time"

"github.com/apache/rocketmq-clients/golang/credentials"
gomock "github.com/golang/mock/gomock"
"github.com/prashantv/gostub"
)

func TestCLINewClient(t *testing.T) {
stubs := gostub.Stub(&defaultClientManagerOptions, clientManagerOptions{
RPC_CLIENT_MAX_IDLE_DURATION: time.Second,

RPC_CLIENT_IDLE_CHECK_INITIAL_DELAY: time.Hour,
RPC_CLIENT_IDLE_CHECK_PERIOD: time.Hour,

HEART_BEAT_INITIAL_DELAY: time.Hour,
HEART_BEAT_PERIOD: time.Hour,

LOG_STATS_INITIAL_DELAY: time.Hour,
LOG_STATS_PERIOD: time.Hour,

SYNC_SETTINGS_DELAY: time.Hour,
SYNC_SETTINGS_PERIOD: time.Hour,
})

stubs2 := gostub.Stub(&NewRpcClient, func(target string, opts ...RpcClientOption) (RpcClient, error) {
if target == fakeAddresss {
return MOCK_RPC_CLIENT, nil
}
return nil, fmt.Errorf("invalid target=%s", target)
})

defer func() {
stubs.Reset()
stubs2.Reset()
}()

MOCK_RPC_CLIENT.EXPECT().Telemetry(gomock.Any()).Return(Mock_MessagingService_TelemetryClient{}, nil)

endpoints := fmt.Sprintf("%s:%d", fakeHost, fakePort)
cli, err := NewClient(&Config{
Endpoint: endpoints,
Expand Down
15 changes: 14 additions & 1 deletion golang/producer_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,20 @@ func TestProducer(t *testing.T) {
SYNC_SETTINGS_DELAY: time.Hour,
SYNC_SETTINGS_PERIOD: time.Hour,
})
defer stubs.Reset()

stubs2 := gostub.Stub(&NewRpcClient, func(target string, opts ...RpcClientOption) (RpcClient, error) {
if target == fakeAddresss {
return MOCK_RPC_CLIENT, nil
}
return nil, fmt.Errorf("invalid target=%s", target)
})

defer func() {
stubs.Reset()
stubs2.Reset()
}()

MOCK_RPC_CLIENT.EXPECT().Telemetry(gomock.Any()).Return(Mock_MessagingService_TelemetryClient{}, nil)

endpoints := fmt.Sprintf("%s:%d", fakeHost, fakePort)
p, err := NewProducer(&Config{
Expand Down

0 comments on commit e48fdbb

Please sign in to comment.