You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2023/05/08 18:09:45 UTC

[plc4x] 02/02: test(plc4go/spi): replace temp mock with mockery mock in transport instances

This is an automated email from the ASF dual-hosted git repository.

sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x.git

commit 3497e558fb732bd19ae8d6a1bab20856ec090773
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Mon May 8 20:09:31 2023 +0200

    test(plc4go/spi): replace temp mock with mockery mock in transport instances
---
 plc4go/spi/transports/TransportInstance.go      |   6 +
 plc4go/spi/transports/TransportInstance_test.go | 154 +++++++++++-------------
 2 files changed, 76 insertions(+), 84 deletions(-)

diff --git a/plc4go/spi/transports/TransportInstance.go b/plc4go/spi/transports/TransportInstance.go
index 1a922fdc86..34005e3c24 100644
--- a/plc4go/spi/transports/TransportInstance.go
+++ b/plc4go/spi/transports/TransportInstance.go
@@ -24,6 +24,7 @@ import (
 	"context"
 	"fmt"
 	"github.com/pkg/errors"
+	"github.com/rs/zerolog/log"
 )
 
 type TransportInstance interface {
@@ -69,6 +70,11 @@ type defaultBufferedTransportInstance struct {
 func (m *defaultBufferedTransportInstance) ConnectWithContext(ctx context.Context) error {
 	ch := make(chan error, 1)
 	go func() {
+		defer func() {
+			if err := recover(); err != nil {
+				log.Fatal().Interface("err", err).Msg("connect panic-ed")
+			}
+		}()
 		ch <- m.Connect()
 		close(ch)
 	}()
diff --git a/plc4go/spi/transports/TransportInstance_test.go b/plc4go/spi/transports/TransportInstance_test.go
index 7d99bd2332..e1ac2c8fa5 100644
--- a/plc4go/spi/transports/TransportInstance_test.go
+++ b/plc4go/spi/transports/TransportInstance_test.go
@@ -25,6 +25,7 @@ import (
 	"context"
 	"github.com/stretchr/testify/assert"
 	"testing"
+	"time"
 )
 
 func TestNewDefaultBufferedTransportInstance(t *testing.T) {
@@ -50,17 +51,6 @@ func TestNewDefaultBufferedTransportInstance(t *testing.T) {
 	}
 }
 
-type _Test_defaultBufferedTransportInstance_ConnectWithContext_DefaultBufferedTransportInstanceRequirements struct {
-}
-
-func (_ _Test_defaultBufferedTransportInstance_ConnectWithContext_DefaultBufferedTransportInstanceRequirements) GetReader() *bufio.Reader {
-	return nil
-}
-
-func (_ _Test_defaultBufferedTransportInstance_ConnectWithContext_DefaultBufferedTransportInstanceRequirements) Connect() error {
-	return nil
-}
-
 func Test_defaultBufferedTransportInstance_ConnectWithContext(t *testing.T) {
 	type fields struct {
 		DefaultBufferedTransportInstanceRequirements DefaultBufferedTransportInstanceRequirements
@@ -77,14 +67,24 @@ func Test_defaultBufferedTransportInstance_ConnectWithContext(t *testing.T) {
 		{
 			name: "connect",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_ConnectWithContext_DefaultBufferedTransportInstanceRequirements{},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					requirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					requirements.EXPECT().Connect().Return(nil)
+					return requirements
+				}(),
+			},
+			args: args{
+				func() context.Context {
+					ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
+					t.Cleanup(cancel)
+					return ctx
+				}(),
 			},
-			args: args{ctx: context.Background()},
 		},
 		{
 			name: "connect canceled",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_ConnectWithContext_DefaultBufferedTransportInstanceRequirements{},
+				DefaultBufferedTransportInstanceRequirements: NewMockDefaultBufferedTransportInstanceRequirements(t),
 			},
 			args: args{
 				func() context.Context {
@@ -108,18 +108,6 @@ func Test_defaultBufferedTransportInstance_ConnectWithContext(t *testing.T) {
 	}
 }
 
-type _Test_defaultBufferedTransportInstance_FillBuffer_DefaultBufferedTransportInstanceRequirements struct {
-	reader *bufio.Reader
-}
-
-func (t _Test_defaultBufferedTransportInstance_FillBuffer_DefaultBufferedTransportInstanceRequirements) GetReader() *bufio.Reader {
-	return t.reader
-}
-
-func (_ _Test_defaultBufferedTransportInstance_FillBuffer_DefaultBufferedTransportInstanceRequirements) Connect() error {
-	return nil
-}
-
 func Test_defaultBufferedTransportInstance_FillBuffer(t *testing.T) {
 	type fields struct {
 		DefaultBufferedTransportInstanceRequirements DefaultBufferedTransportInstanceRequirements
@@ -136,15 +124,22 @@ func Test_defaultBufferedTransportInstance_FillBuffer(t *testing.T) {
 		{
 			name: "fill it",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_FillBuffer_DefaultBufferedTransportInstanceRequirements{},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					requirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					requirements.EXPECT().GetReader().Return(nil)
+					return requirements
+				}(),
 			},
 		},
 		{
 			name: "fill it with reader",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_FillBuffer_DefaultBufferedTransportInstanceRequirements{
-					reader: bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})),
-				},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					defaultBufferedTransportInstanceRequirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					expect := defaultBufferedTransportInstanceRequirements.EXPECT()
+					expect.GetReader().Return(bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})))
+					return defaultBufferedTransportInstanceRequirements
+				}(),
 			},
 			args: args{func(pos uint, currentByte byte, reader *bufio.Reader) bool {
 				return pos < 1
@@ -153,9 +148,12 @@ func Test_defaultBufferedTransportInstance_FillBuffer(t *testing.T) {
 		{
 			name: "fill it with reader errors",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_FillBuffer_DefaultBufferedTransportInstanceRequirements{
-					reader: bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})),
-				},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					defaultBufferedTransportInstanceRequirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					expect := defaultBufferedTransportInstanceRequirements.EXPECT()
+					expect.GetReader().Return(bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})))
+					return defaultBufferedTransportInstanceRequirements
+				}(),
 			},
 			args: args{func(pos uint, currentByte byte, reader *bufio.Reader) bool {
 				return pos < 2
@@ -175,18 +173,6 @@ func Test_defaultBufferedTransportInstance_FillBuffer(t *testing.T) {
 	}
 }
 
-type _Test_defaultBufferedTransportInstance_GetNumBytesAvailableInBuffer_DefaultBufferedTransportInstanceRequirements struct {
-	reader *bufio.Reader
-}
-
-func (t _Test_defaultBufferedTransportInstance_GetNumBytesAvailableInBuffer_DefaultBufferedTransportInstanceRequirements) GetReader() *bufio.Reader {
-	return t.reader
-}
-
-func (_ _Test_defaultBufferedTransportInstance_GetNumBytesAvailableInBuffer_DefaultBufferedTransportInstanceRequirements) Connect() error {
-	return nil
-}
-
 func Test_defaultBufferedTransportInstance_GetNumBytesAvailableInBuffer(t *testing.T) {
 	type fields struct {
 		DefaultBufferedTransportInstanceRequirements DefaultBufferedTransportInstanceRequirements
@@ -200,15 +186,22 @@ func Test_defaultBufferedTransportInstance_GetNumBytesAvailableInBuffer(t *testi
 		{
 			name: "get it without reader",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_GetNumBytesAvailableInBuffer_DefaultBufferedTransportInstanceRequirements{},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					requirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					requirements.EXPECT().GetReader().Return(nil)
+					return requirements
+				}(),
 			},
 		},
 		{
 			name: "get it with reader",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_GetNumBytesAvailableInBuffer_DefaultBufferedTransportInstanceRequirements{
-					reader: bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})),
-				},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					defaultBufferedTransportInstanceRequirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					expect := defaultBufferedTransportInstanceRequirements.EXPECT()
+					expect.GetReader().Return(bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})))
+					return defaultBufferedTransportInstanceRequirements
+				}(),
 			},
 			want: 2,
 		},
@@ -230,18 +223,6 @@ func Test_defaultBufferedTransportInstance_GetNumBytesAvailableInBuffer(t *testi
 	}
 }
 
-type _Test_defaultBufferedTransportInstance_PeekReadableByteser_DefaultBufferedTransportInstanceRequirements struct {
-	reader *bufio.Reader
-}
-
-func (t _Test_defaultBufferedTransportInstance_PeekReadableByteser_DefaultBufferedTransportInstanceRequirements) GetReader() *bufio.Reader {
-	return t.reader
-}
-
-func (_ _Test_defaultBufferedTransportInstance_PeekReadableByteser_DefaultBufferedTransportInstanceRequirements) Connect() error {
-	return nil
-}
-
 func Test_defaultBufferedTransportInstance_PeekReadableBytes(t *testing.T) {
 	type fields struct {
 		DefaultBufferedTransportInstanceRequirements DefaultBufferedTransportInstanceRequirements
@@ -259,16 +240,23 @@ func Test_defaultBufferedTransportInstance_PeekReadableBytes(t *testing.T) {
 		{
 			name: "peek it without reader",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_PeekReadableByteser_DefaultBufferedTransportInstanceRequirements{},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					requirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					requirements.EXPECT().GetReader().Return(nil)
+					return requirements
+				}(),
 			},
 			wantErr: true,
 		},
 		{
 			name: "peek it with reader",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_PeekReadableByteser_DefaultBufferedTransportInstanceRequirements{
-					reader: bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})),
-				},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					defaultBufferedTransportInstanceRequirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					expect := defaultBufferedTransportInstanceRequirements.EXPECT()
+					expect.GetReader().Return(bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})))
+					return defaultBufferedTransportInstanceRequirements
+				}(),
 			},
 			args: args{numBytes: 2},
 			want: []byte{0x0, 0x0},
@@ -291,18 +279,6 @@ func Test_defaultBufferedTransportInstance_PeekReadableBytes(t *testing.T) {
 	}
 }
 
-type _Test_defaultBufferedTransportInstance_Read_DefaultBufferedTransportInstanceRequirements struct {
-	reader *bufio.Reader
-}
-
-func (t _Test_defaultBufferedTransportInstance_Read_DefaultBufferedTransportInstanceRequirements) GetReader() *bufio.Reader {
-	return t.reader
-}
-
-func (_ _Test_defaultBufferedTransportInstance_Read_DefaultBufferedTransportInstanceRequirements) Connect() error {
-	return nil
-}
-
 func Test_defaultBufferedTransportInstance_Read(t *testing.T) {
 	type fields struct {
 		DefaultBufferedTransportInstanceRequirements DefaultBufferedTransportInstanceRequirements
@@ -320,16 +296,23 @@ func Test_defaultBufferedTransportInstance_Read(t *testing.T) {
 		{
 			name: "read it without reader",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_Read_DefaultBufferedTransportInstanceRequirements{},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					requirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					requirements.EXPECT().GetReader().Return(nil)
+					return requirements
+				}(),
 			},
 			wantErr: true,
 		},
 		{
 			name: "read it with reader",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_Read_DefaultBufferedTransportInstanceRequirements{
-					reader: bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})),
-				},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					defaultBufferedTransportInstanceRequirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					expect := defaultBufferedTransportInstanceRequirements.EXPECT()
+					expect.GetReader().Return(bufio.NewReader(bytes.NewReader([]byte{0x0, 0x0})))
+					return defaultBufferedTransportInstanceRequirements
+				}(),
 			},
 			args: args{numBytes: 2},
 			want: []byte{0x0, 0x0},
@@ -337,9 +320,12 @@ func Test_defaultBufferedTransportInstance_Read(t *testing.T) {
 		{
 			name: "read it with reader errors",
 			fields: fields{
-				DefaultBufferedTransportInstanceRequirements: _Test_defaultBufferedTransportInstance_Read_DefaultBufferedTransportInstanceRequirements{
-					reader: bufio.NewReader(bytes.NewReader([]byte{0x0})),
-				},
+				DefaultBufferedTransportInstanceRequirements: func() DefaultBufferedTransportInstanceRequirements {
+					defaultBufferedTransportInstanceRequirements := NewMockDefaultBufferedTransportInstanceRequirements(t)
+					expect := defaultBufferedTransportInstanceRequirements.EXPECT()
+					expect.GetReader().Return(bufio.NewReader(bytes.NewReader([]byte{0x0})))
+					return defaultBufferedTransportInstanceRequirements
+				}(),
 			},
 			args:    args{numBytes: 2},
 			wantErr: true,