From 1ff1084179fa3e2113221fe1a1ee68cf2428136c Mon Sep 17 00:00:00 2001 From: Peter Broadhurst Date: Thu, 3 Feb 2022 09:20:40 -0500 Subject: [PATCH] wsReader cannot rely on testing.T as it might extend past test scope Signed-off-by: Peter Broadhurst --- test/e2e/e2e_test.go | 18 ++++++++++++------ test/e2e/ethereum_contract_test.go | 6 +++--- test/e2e/fabric_contract_test.go | 2 +- test/e2e/onchain_offchain_test.go | 28 ++++++++++++++-------------- test/e2e/tokens_test.go | 8 ++++---- 5 files changed, 34 insertions(+), 28 deletions(-) diff --git a/test/e2e/e2e_test.go b/test/e2e/e2e_test.go index 3ddb41557e..5f4280aeb1 100644 --- a/test/e2e/e2e_test.go +++ b/test/e2e/e2e_test.go @@ -259,32 +259,38 @@ func beforeE2ETest(t *testing.T) *testState { return ts } -func wsReader(t *testing.T, conn *websocket.Conn) (chan *fftypes.EventDelivery, chan *fftypes.ChangeEvent) { +func wsReader(conn *websocket.Conn) (chan *fftypes.EventDelivery, chan *fftypes.ChangeEvent) { events := make(chan *fftypes.EventDelivery, 100) changeEvents := make(chan *fftypes.ChangeEvent, 100) go func() { for { _, b, err := conn.ReadMessage() if err != nil { - t.Logf("Websocket %s closing, error: %s", conn.RemoteAddr(), err) + fmt.Printf("Websocket %s closing, error: %s", conn.RemoteAddr(), err) return } - t.Logf("Websocket %s receive: %s", conn.RemoteAddr(), b) + fmt.Printf("Websocket %s receive: %s", conn.RemoteAddr(), b) var wsa fftypes.WSClientActionBase err = json.Unmarshal(b, &wsa) - assert.NoError(t, err) + if err != nil { + panic(fmt.Errorf("Invalid JSON received on WebSocket: %s", err)) + } switch wsa.Type { case fftypes.WSClientActionChangeNotifcation: var wscn fftypes.WSChangeNotification err = json.Unmarshal(b, &wscn) - assert.NoError(t, err) + if err != nil { + panic(fmt.Errorf("Invalid JSON received on WebSocket: %s", err)) + } if err == nil { changeEvents <- wscn.ChangeEvent } default: var ed fftypes.EventDelivery err = json.Unmarshal(b, &ed) - assert.NoError(t, err) + if err != nil { + panic(fmt.Errorf("Invalid JSON received on WebSocket: %s", err)) + } if err == nil { events <- &ed } diff --git a/test/e2e/ethereum_contract_test.go b/test/e2e/ethereum_contract_test.go index e5795026d7..1d9a6f0d50 100644 --- a/test/e2e/ethereum_contract_test.go +++ b/test/e2e/ethereum_contract_test.go @@ -192,7 +192,7 @@ func (suite *EthereumContractTestSuite) BeforeTest(suiteName, testName string) { func (suite *EthereumContractTestSuite) TestE2EContractEvents() { defer suite.testState.done() - received1, changes1 := wsReader(suite.T(), suite.testState.ws1) + received1, changes1 := wsReader(suite.testState.ws1) sub := CreateContractSubscription(suite.T(), suite.testState.client1, simpleStorageFFIChanged(), &fftypes.JSONObject{ "address": suite.contractAddress, @@ -230,7 +230,7 @@ func (suite *EthereumContractTestSuite) TestE2EContractEvents() { func (suite *EthereumContractTestSuite) TestDirectInvokeMethod() { defer suite.testState.done() - received1, changes1 := wsReader(suite.T(), suite.testState.ws1) + received1, changes1 := wsReader(suite.testState.ws1) sub := CreateContractSubscription(suite.T(), suite.testState.client1, simpleStorageFFIChanged(), &fftypes.JSONObject{ "address": suite.contractAddress, @@ -286,7 +286,7 @@ func (suite *EthereumContractTestSuite) TestDirectInvokeMethod() { func (suite *EthereumContractTestSuite) TestFFIInvokeMethod() { defer suite.testState.done() - received1, changes1 := wsReader(suite.T(), suite.testState.ws1) + received1, changes1 := wsReader(suite.testState.ws1) sub := CreateContractSubscription(suite.T(), suite.testState.client1, simpleStorageFFIChanged(), &fftypes.JSONObject{ "address": suite.contractAddress, diff --git a/test/e2e/fabric_contract_test.go b/test/e2e/fabric_contract_test.go index c40b069628..768980d24f 100644 --- a/test/e2e/fabric_contract_test.go +++ b/test/e2e/fabric_contract_test.go @@ -108,7 +108,7 @@ func (suite *FabricContractTestSuite) BeforeTest(suiteName, testName string) { func (suite *FabricContractTestSuite) TestE2EContractEvents() { defer suite.testState.done() - received1, changes1 := wsReader(suite.T(), suite.testState.ws1) + received1, changes1 := wsReader(suite.testState.ws1) sub := CreateContractSubscription(suite.T(), suite.testState.client1, assetCreatedEvent, &fftypes.JSONObject{ "channel": "firefly", diff --git a/test/e2e/onchain_offchain_test.go b/test/e2e/onchain_offchain_test.go index ad30c6b2c4..0466f9c9d1 100644 --- a/test/e2e/onchain_offchain_test.go +++ b/test/e2e/onchain_offchain_test.go @@ -46,8 +46,8 @@ func (suite *OnChainOffChainTestSuite) BeforeTest(suiteName, testName string) { func (suite *OnChainOffChainTestSuite) TestE2EBroadcast() { defer suite.testState.done() - received1, changes1 := wsReader(suite.T(), suite.testState.ws1) - received2, changes2 := wsReader(suite.T(), suite.testState.ws2) + received1, changes1 := wsReader(suite.testState.ws1) + received2, changes2 := wsReader(suite.testState.ws2) var resp *resty.Response value := fftypes.JSONAnyPtr(`"Hello"`) @@ -74,8 +74,8 @@ func (suite *OnChainOffChainTestSuite) TestE2EBroadcast() { func (suite *OnChainOffChainTestSuite) TestStrongDatatypesBroadcast() { defer suite.testState.done() - received1, changes1 := wsReader(suite.T(), suite.testState.ws1) - received2, changes2 := wsReader(suite.T(), suite.testState.ws2) + received1, changes1 := wsReader(suite.testState.ws1) + received2, changes2 := wsReader(suite.testState.ws2) var resp *resty.Response value := fftypes.JSONAnyPtr(`"Hello"`) @@ -125,8 +125,8 @@ func (suite *OnChainOffChainTestSuite) TestStrongDatatypesBroadcast() { func (suite *OnChainOffChainTestSuite) TestStrongDatatypesPrivate() { defer suite.testState.done() - received1, changes1 := wsReader(suite.T(), suite.testState.ws1) - received2, changes2 := wsReader(suite.T(), suite.testState.ws2) + received1, changes1 := wsReader(suite.testState.ws1) + received2, changes2 := wsReader(suite.testState.ws2) var resp *resty.Response value := fftypes.JSONAnyPtr(`{"foo":"bar"}`) @@ -185,8 +185,8 @@ func (suite *OnChainOffChainTestSuite) TestStrongDatatypesPrivate() { func (suite *OnChainOffChainTestSuite) TestE2EPrivate() { defer suite.testState.done() - received1, _ := wsReader(suite.T(), suite.testState.ws1) - received2, _ := wsReader(suite.T(), suite.testState.ws2) + received1, _ := wsReader(suite.testState.ws1) + received2, _ := wsReader(suite.testState.ws2) var resp *resty.Response value := fftypes.JSONAnyPtr(`"Hello"`) @@ -213,8 +213,8 @@ func (suite *OnChainOffChainTestSuite) TestE2EPrivate() { func (suite *OnChainOffChainTestSuite) TestE2EBroadcastBlob() { defer suite.testState.done() - received1, _ := wsReader(suite.T(), suite.testState.ws1) - received2, _ := wsReader(suite.T(), suite.testState.ws2) + received1, _ := wsReader(suite.testState.ws1) + received2, _ := wsReader(suite.testState.ws2) var resp *resty.Response @@ -239,8 +239,8 @@ func (suite *OnChainOffChainTestSuite) TestE2EBroadcastBlob() { func (suite *OnChainOffChainTestSuite) TestE2EPrivateBlobDatatypeTagged() { defer suite.testState.done() - received1, _ := wsReader(suite.T(), suite.testState.ws1) - received2, _ := wsReader(suite.T(), suite.testState.ws2) + received1, _ := wsReader(suite.testState.ws1) + received2, _ := wsReader(suite.testState.ws2) var resp *resty.Response @@ -269,8 +269,8 @@ func (suite *OnChainOffChainTestSuite) TestE2EPrivateBlobDatatypeTagged() { func (suite *OnChainOffChainTestSuite) TestE2EWebhookExchange() { defer suite.testState.done() - received1, _ := wsReader(suite.T(), suite.testState.ws1) - received2, _ := wsReader(suite.T(), suite.testState.ws2) + received1, _ := wsReader(suite.testState.ws1) + received2, _ := wsReader(suite.testState.ws2) subJSON := `{ "transport": "webhooks", diff --git a/test/e2e/tokens_test.go b/test/e2e/tokens_test.go index 589a9666cb..e929a03b07 100644 --- a/test/e2e/tokens_test.go +++ b/test/e2e/tokens_test.go @@ -37,8 +37,8 @@ func (suite *TokensTestSuite) BeforeTest(suiteName, testName string) { func (suite *TokensTestSuite) TestE2EFungibleTokensAsync() { defer suite.testState.done() - received1, _ := wsReader(suite.T(), suite.testState.ws1) - received2, _ := wsReader(suite.T(), suite.testState.ws2) + received1, _ := wsReader(suite.testState.ws1) + received2, _ := wsReader(suite.testState.ws2) pools := GetTokenPools(suite.T(), suite.testState.client1, time.Unix(0, 0)) poolName := fmt.Sprintf("pool%d", len(pools)) @@ -184,8 +184,8 @@ func (suite *TokensTestSuite) TestE2EFungibleTokensAsync() { func (suite *TokensTestSuite) TestE2ENonFungibleTokensSync() { defer suite.testState.done() - received1, _ := wsReader(suite.T(), suite.testState.ws1) - received2, _ := wsReader(suite.T(), suite.testState.ws2) + received1, _ := wsReader(suite.testState.ws1) + received2, _ := wsReader(suite.testState.ws2) pools := GetTokenPools(suite.T(), suite.testState.client1, time.Unix(0, 0)) poolName := fmt.Sprintf("pool%d", len(pools))