From cfc6cb9e4275a1276ee79fabcb5ddd2c29653db6 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Mon, 5 Jun 2023 17:53:03 +0200 Subject: [PATCH] api/client_test.go: test segfaults sometimes because of nil pointers. so setup mock structs and functions. --- api/client_test.go | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/api/client_test.go b/api/client_test.go index 2a1061b..8fae00e 100644 --- a/api/client_test.go +++ b/api/client_test.go @@ -2,8 +2,30 @@ package api import ( "testing" + + "github.com/eosswedenorg/thalos/api/message" ) +type mockReader struct{} + +func (m mockReader) Read(channel Channel) ([]byte, error) { + return []byte{}, nil +} + +func (m mockReader) Close() error { + return nil +} + +func mockDecoder([]byte, any) error { + return nil +} + +func mockHbHandler(message.HeartBeat) { +} + +func mockActionHandler(message.ActionTrace) { +} + func TestClient_Subscribe(t *testing.T) { tests := []struct { name string @@ -17,7 +39,9 @@ func TestClient_Subscribe(t *testing.T) { } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - c := Client{} + c := NewClient(&mockReader{}, mockDecoder) + c.OnHeartbeat = mockHbHandler + c.OnAction = mockActionHandler if err := c.Subscribe(tt.channel); (err != nil) != tt.wantErr { t.Errorf("Client.Subscribe() error = %v, wantErr %v", err, tt.wantErr) }