From be497632ece6da2d6ed937d6e8a38d64f1d24be8 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 31 Oct 2023 13:03:06 -0400 Subject: [PATCH] [CORE-715] fix bridge client tests and add test on empty eth rpc endpoint (#728) (#729) * fix bridge client tests and add test on empty eth rpc endpoint (cherry picked from commit 4d60e8dee87709ce32f9f7f4be4dd07eccaa0ff3) Co-authored-by: Tian --- protocol/daemons/bridge/client/client.go | 1 + protocol/daemons/bridge/client/client_test.go | 30 +++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/protocol/daemons/bridge/client/client.go b/protocol/daemons/bridge/client/client.go index 2292b33903..d5414eb18c 100644 --- a/protocol/daemons/bridge/client/client.go +++ b/protocol/daemons/bridge/client/client.go @@ -36,6 +36,7 @@ func Start( "Starting bridge daemon with flags", "BridgeFlags", flags.Bridge, ) + // Panic if EthRpcEndpoint is empty. if flags.Bridge.EthRpcEndpoint == "" { return fmt.Errorf("flag %s is not set", daemonflags.FlagBridgeDaemonEthRpcEndpoint) diff --git a/protocol/daemons/bridge/client/client_test.go b/protocol/daemons/bridge/client/client_test.go index 7ca53d513f..4abbbed5de 100644 --- a/protocol/daemons/bridge/client/client_test.go +++ b/protocol/daemons/bridge/client/client_test.go @@ -10,7 +10,7 @@ import ( appflags "github.com/dydxprotocol/v4-chain/protocol/app/flags" "github.com/dydxprotocol/v4-chain/protocol/daemons/bridge/client" d_constants "github.com/dydxprotocol/v4-chain/protocol/daemons/constants" - "github.com/dydxprotocol/v4-chain/protocol/daemons/flags" + daemonflags "github.com/dydxprotocol/v4-chain/protocol/daemons/flags" "github.com/dydxprotocol/v4-chain/protocol/mocks" "github.com/dydxprotocol/v4-chain/protocol/testutil/appoptions" "github.com/dydxprotocol/v4-chain/protocol/testutil/constants" @@ -21,6 +21,22 @@ import ( "github.com/stretchr/testify/require" ) +func TestStart_EthRpcEndpointNotSet(t *testing.T) { + errorMsg := "flag bridge-daemon-eth-rpc-endpoint is not set" + + require.EqualError( + t, + client.Start( + grpc.Ctx, + daemonflags.GetDefaultDaemonFlags(), + appflags.GetFlagValuesFromOptions(appoptions.GetDefaultTestAppOptions("", nil)), + log.NewNopLogger(), + &mocks.GrpcClient{}, + ), + errorMsg, + ) +} + func TestStart_TcpConnectionFails(t *testing.T) { errorMsg := "Failed to create connection" @@ -28,11 +44,15 @@ func TestStart_TcpConnectionFails(t *testing.T) { mockGrpcClient := &mocks.GrpcClient{} mockGrpcClient.On("NewTcpConnection", grpc.Ctx, d_constants.DefaultGrpcEndpoint).Return(nil, errors.New(errorMsg)) + // Override default daemon flags with a non-empty EthRpcEndpoint. + daemonFlagsWithEthRpcEndpoint := daemonflags.GetDefaultDaemonFlags() + daemonFlagsWithEthRpcEndpoint.Bridge.EthRpcEndpoint = "http://localhost:8545" + require.EqualError( t, client.Start( grpc.Ctx, - flags.GetDefaultDaemonFlags(), + daemonFlagsWithEthRpcEndpoint, appflags.GetFlagValuesFromOptions(appoptions.GetDefaultTestAppOptions("", nil)), log.NewNopLogger(), mockGrpcClient, @@ -56,11 +76,15 @@ func TestStart_UnixSocketConnectionFails(t *testing.T) { mockGrpcClient.On("NewGrpcConnection", grpc.Ctx, grpc.SocketPath).Return(nil, errors.New(errorMsg)) mockGrpcClient.On("CloseConnection", grpc.GrpcConn).Return(nil) + // Override default daemon flags with a non-empty EthRpcEndpoint. + daemonFlagsWithEthRpcEndpoint := daemonflags.GetDefaultDaemonFlags() + daemonFlagsWithEthRpcEndpoint.Bridge.EthRpcEndpoint = "http://localhost:8545" + require.EqualError( t, client.Start( grpc.Ctx, - flags.GetDefaultDaemonFlags(), + daemonFlagsWithEthRpcEndpoint, appflags.GetFlagValuesFromOptions(appoptions.GetDefaultTestAppOptions("", nil)), log.NewNopLogger(), mockGrpcClient,