From 70caea1d1a973ec9483128b38d4e12984e7f0812 Mon Sep 17 00:00:00 2001 From: Matthew Lam Date: Wed, 20 Sep 2023 19:29:56 +0000 Subject: [PATCH] add error case unit test --- messages/teleporter/message_manager_test.go | 2 +- utils/utils_test.go | 2 +- vms/evm/contract_message_test.go | 42 +++++++++++++++------ 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/messages/teleporter/message_manager_test.go b/messages/teleporter/message_manager_test.go index 54eb2d6b..da62f4e8 100644 --- a/messages/teleporter/message_manager_test.go +++ b/messages/teleporter/message_manager_test.go @@ -163,8 +163,8 @@ func TestShouldSendMessage(t *testing.T) { require.Error(t, err) } else { require.NoError(t, err) + require.Equal(t, test.expectedResult, result) } - require.Equal(t, test.expectedResult, result) }) } } diff --git a/utils/utils_test.go b/utils/utils_test.go index 160fe71f..f8b5b151 100644 --- a/utils/utils_test.go +++ b/utils/utils_test.go @@ -58,8 +58,8 @@ func TestConvertProtocol(t *testing.T) { require.Error(t, err) } else { require.NoError(t, err) + require.Equal(t, testCase.expectedUrl, actualUrl) } - require.Equal(t, testCase.expectedUrl, actualUrl) }) } } diff --git a/vms/evm/contract_message_test.go b/vms/evm/contract_message_test.go index 7c34cfa5..fbc50c91 100644 --- a/vms/evm/contract_message_test.go +++ b/vms/evm/contract_message_test.go @@ -47,26 +47,44 @@ func createUnsignedMessage() *warp.UnsignedMessage { } func TestUnpack(t *testing.T) { - ctrl := logging.NewMockLogger(gomock.NewController(t)) - m := NewContractMessage(ctrl, config.SourceSubnet{}) + mockLogger := logging.NewMockLogger(gomock.NewController(t)) + m := NewContractMessage(mockLogger, config.SourceSubnet{}) testCases := []struct { - input string - networkID uint32 + name string + input string + networkID uint32 + errorLogTimes int + expectError bool }{ { - input: "0000000000007fc93d85c6d62c5b2ac0b519c87010ea5294012d1e407030d6acd0021cac10d50000005200000000000027ae10273d17cd7e80de8580a51f476960626e5f0000000000000000000000000000000000000000000000000000000000000000123412341234123412341234123412341234123400000000", - networkID: 0, + name: "valid", + input: "0000000000007fc93d85c6d62c5b2ac0b519c87010ea5294012d1e407030d6acd0021cac10d50000005200000000000027ae10273d17cd7e80de8580a51f476960626e5f0000000000000000000000000000000000000000000000000000000000000000123412341234123412341234123412341234123400000000", + networkID: 0, + errorLogTimes: 0, + expectError: false, + }, + { + name: "invalid", + errorLogTimes: 1, + input: "1000000000007fc93d85c6d62c5b2ac0b519c87010ea5294012d1e407030d6acd0021cac10d50000005200000000000027ae10273d17cd7e80de8580a51f476960626e5f0000000000000000000000000000000000000000000000000000000000000000123412341234123412341234123412341234123400000000", + expectError: true, }, } for _, testCase := range testCases { - input, err := hex.DecodeString(testCase.input) - require.NoError(t, err) - - msg, err := m.UnpackWarpMessage(input) - require.NoError(t, err) + t.Run(testCase.name, func(t *testing.T) { + input, err := hex.DecodeString(testCase.input) + require.NoError(t, err) - require.Equal(t, testCase.networkID, msg.WarpUnsignedMessage.NetworkID) + mockLogger.EXPECT().Error(gomock.Any(), gomock.Any()).Times(testCase.errorLogTimes) + msg, err := m.UnpackWarpMessage(input) + if testCase.expectError { + require.Error(t, err) + } else { + require.NoError(t, err) + require.Equal(t, testCase.networkID, msg.WarpUnsignedMessage.NetworkID) + } + }) } }