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 13:47:31 UTC
[plc4x] branch develop updated: test(plc4go/cbus): replace temp mock with mockery mock
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
The following commit(s) were added to refs/heads/develop by this push:
new 321a0793f7 test(plc4go/cbus): replace temp mock with mockery mock
321a0793f7 is described below
commit 321a0793f736a2f553f92e20a7a1fd65cf23dfbe
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Mon May 8 15:47:24 2023 +0200
test(plc4go/cbus): replace temp mock with mockery mock
---
plc4go/internal/cbus/Reader_test.go | 99 +++++---
.../internal/cbus/mock_RequestTransaction_test.go | 256 +++++++++++++++++++++
.../model => internal/cbus}/mock_requirements.go | 7 +-
plc4go/spi/model/mock_requirements.go | 1 +
4 files changed, 325 insertions(+), 38 deletions(-)
diff --git a/plc4go/internal/cbus/Reader_test.go b/plc4go/internal/cbus/Reader_test.go
index 855a0c3240..54050ce9f3 100644
--- a/plc4go/internal/cbus/Reader_test.go
+++ b/plc4go/internal/cbus/Reader_test.go
@@ -27,7 +27,9 @@ import (
"github.com/apache/plc4x/plc4go/spi"
spiModel "github.com/apache/plc4x/plc4go/spi/model"
"github.com/apache/plc4x/plc4go/spi/transports/test"
+ "github.com/pkg/errors"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/mock"
"net/url"
"strings"
"sync"
@@ -368,28 +370,6 @@ func TestReader_readSync(t *testing.T) {
}
}
-type _TestReader_sendMessageOverTheWire_Transaction struct {
-}
-
-func (_ _TestReader_sendMessageOverTheWire_Transaction) String() string {
- return "_TestReader_sendMessageOverTheWire_Transaction"
-}
-
-func (_ _TestReader_sendMessageOverTheWire_Transaction) FailRequest(err error) error {
- return err
-}
-
-func (_ _TestReader_sendMessageOverTheWire_Transaction) EndRequest() error {
- return nil
-}
-
-func (_ _TestReader_sendMessageOverTheWire_Transaction) Submit(operation spi.RequestTransactionRunnable) {
-}
-
-func (_ _TestReader_sendMessageOverTheWire_Transaction) AwaitCompletion(ctx context.Context) error {
- return nil
-}
-
func TestReader_sendMessageOverTheWire(t *testing.T) {
type fields struct {
alphaGenerator *AlphaGenerator
@@ -405,10 +385,11 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
addPlcValue func(t *testing.T, wg *sync.WaitGroup) func(name string, plcValue apiValues.PlcValue)
}
tests := []struct {
- name string
- fields fields
- args args
- wg *sync.WaitGroup
+ name string
+ fields fields
+ args args
+ mockSetup func(t *testing.T, fields *fields, args *args)
+ wg *sync.WaitGroup
}{
{
name: "Send message empty message",
@@ -444,7 +425,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: nil,
addResponseCode: func(t *testing.T, wg *sync.WaitGroup) func(name string, responseCode apiModel.PlcResponseCode) {
return func(name string, responseCode apiModel.PlcResponseCode) {
@@ -462,6 +442,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.FailRequest(mock.Anything).Return(errors.New("no I say"))
+ args.transaction = transaction
+ },
wg: &sync.WaitGroup{},
},
{
@@ -515,7 +501,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: readWriteModel.NewCBusMessageToServer(
readWriteModel.NewRequestReset(
readWriteModel.RequestType_RESET,
@@ -548,6 +533,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.FailRequest(mock.Anything).Return(errors.New("Nope"))
+ args.transaction = transaction
+ },
wg: &sync.WaitGroup{},
},
{
@@ -601,7 +592,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: readWriteModel.NewCBusMessageToServer(
readWriteModel.NewRequestReset(
readWriteModel.RequestType_RESET,
@@ -634,6 +624,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.EndRequest().Return(nil)
+ args.transaction = transaction
+ },
wg: &sync.WaitGroup{},
},
{
@@ -687,7 +683,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: readWriteModel.NewCBusMessageToServer(
readWriteModel.NewRequestDirectCommandAccess(
readWriteModel.NewCALDataIdentify(
@@ -723,6 +718,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.EndRequest().Return(nil)
+ args.transaction = transaction
+ },
wg: &sync.WaitGroup{},
},
{
@@ -776,7 +777,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: readWriteModel.NewCBusMessageToServer(
readWriteModel.NewRequestDirectCommandAccess(
readWriteModel.NewCALDataIdentify(
@@ -812,6 +812,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.EndRequest().Return(nil)
+ args.transaction = transaction
+ },
wg: &sync.WaitGroup{},
},
{
@@ -865,7 +871,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: readWriteModel.NewCBusMessageToServer(
readWriteModel.NewRequestDirectCommandAccess(
readWriteModel.NewCALDataIdentify(
@@ -901,6 +906,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.EndRequest().Return(nil)
+ args.transaction = transaction
+ },
wg: &sync.WaitGroup{},
},
{
@@ -954,7 +965,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: readWriteModel.NewCBusMessageToServer(
readWriteModel.NewRequestDirectCommandAccess(
readWriteModel.NewCALDataIdentify(
@@ -990,6 +1000,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.EndRequest().Return(nil)
+ args.transaction = transaction
+ },
wg: &sync.WaitGroup{},
},
{
@@ -1043,7 +1059,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: readWriteModel.NewCBusMessageToServer(
readWriteModel.NewRequestDirectCommandAccess(
readWriteModel.NewCALDataIdentify(
@@ -1079,6 +1094,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.EndRequest().Return(nil)
+ args.transaction = transaction
+ },
wg: &sync.WaitGroup{},
},
{
@@ -1132,7 +1153,6 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Cleanup(cancel)
return timeout
}(),
- transaction: _TestReader_sendMessageOverTheWire_Transaction{},
messageToSend: readWriteModel.NewCBusMessageToServer(
readWriteModel.NewRequestDirectCommandAccess(
readWriteModel.NewCALDataIdentify(
@@ -1168,6 +1188,12 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
},
},
+ mockSetup: func(t *testing.T, fields *fields, args *args) {
+ transaction := NewMockRequestTransaction(t)
+ expect := transaction.EXPECT()
+ expect.EndRequest().Return(nil)
+ args.transaction = transaction
+ },
wg: func() *sync.WaitGroup {
wg := &sync.WaitGroup{}
wg.Add(1) // We getting an response and a value
@@ -1177,6 +1203,9 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
+ if tt.mockSetup != nil {
+ tt.mockSetup(t, &tt.fields, &tt.args)
+ }
m := &Reader{
alphaGenerator: tt.fields.alphaGenerator,
messageCodec: tt.fields.messageCodec,
diff --git a/plc4go/internal/cbus/mock_RequestTransaction_test.go b/plc4go/internal/cbus/mock_RequestTransaction_test.go
new file mode 100644
index 0000000000..f490b89bf1
--- /dev/null
+++ b/plc4go/internal/cbus/mock_RequestTransaction_test.go
@@ -0,0 +1,256 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+// Code generated by mockery v2.26.1. DO NOT EDIT.
+
+package cbus
+
+import (
+ context "context"
+
+ spi "github.com/apache/plc4x/plc4go/spi"
+ mock "github.com/stretchr/testify/mock"
+)
+
+// MockRequestTransaction is an autogenerated mock type for the RequestTransaction type
+type MockRequestTransaction struct {
+ mock.Mock
+}
+
+type MockRequestTransaction_Expecter struct {
+ mock *mock.Mock
+}
+
+func (_m *MockRequestTransaction) EXPECT() *MockRequestTransaction_Expecter {
+ return &MockRequestTransaction_Expecter{mock: &_m.Mock}
+}
+
+// AwaitCompletion provides a mock function with given fields: ctx
+func (_m *MockRequestTransaction) AwaitCompletion(ctx context.Context) error {
+ ret := _m.Called(ctx)
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func(context.Context) error); ok {
+ r0 = rf(ctx)
+ } else {
+ r0 = ret.Error(0)
+ }
+
+ return r0
+}
+
+// MockRequestTransaction_AwaitCompletion_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'AwaitCompletion'
+type MockRequestTransaction_AwaitCompletion_Call struct {
+ *mock.Call
+}
+
+// AwaitCompletion is a helper method to define mock.On call
+// - ctx context.Context
+func (_e *MockRequestTransaction_Expecter) AwaitCompletion(ctx interface{}) *MockRequestTransaction_AwaitCompletion_Call {
+ return &MockRequestTransaction_AwaitCompletion_Call{Call: _e.mock.On("AwaitCompletion", ctx)}
+}
+
+func (_c *MockRequestTransaction_AwaitCompletion_Call) Run(run func(ctx context.Context)) *MockRequestTransaction_AwaitCompletion_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ run(args[0].(context.Context))
+ })
+ return _c
+}
+
+func (_c *MockRequestTransaction_AwaitCompletion_Call) Return(_a0 error) *MockRequestTransaction_AwaitCompletion_Call {
+ _c.Call.Return(_a0)
+ return _c
+}
+
+func (_c *MockRequestTransaction_AwaitCompletion_Call) RunAndReturn(run func(context.Context) error) *MockRequestTransaction_AwaitCompletion_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
+// EndRequest provides a mock function with given fields:
+func (_m *MockRequestTransaction) EndRequest() error {
+ ret := _m.Called()
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func() error); ok {
+ r0 = rf()
+ } else {
+ r0 = ret.Error(0)
+ }
+
+ return r0
+}
+
+// MockRequestTransaction_EndRequest_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'EndRequest'
+type MockRequestTransaction_EndRequest_Call struct {
+ *mock.Call
+}
+
+// EndRequest is a helper method to define mock.On call
+func (_e *MockRequestTransaction_Expecter) EndRequest() *MockRequestTransaction_EndRequest_Call {
+ return &MockRequestTransaction_EndRequest_Call{Call: _e.mock.On("EndRequest")}
+}
+
+func (_c *MockRequestTransaction_EndRequest_Call) Run(run func()) *MockRequestTransaction_EndRequest_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ run()
+ })
+ return _c
+}
+
+func (_c *MockRequestTransaction_EndRequest_Call) Return(_a0 error) *MockRequestTransaction_EndRequest_Call {
+ _c.Call.Return(_a0)
+ return _c
+}
+
+func (_c *MockRequestTransaction_EndRequest_Call) RunAndReturn(run func() error) *MockRequestTransaction_EndRequest_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
+// FailRequest provides a mock function with given fields: err
+func (_m *MockRequestTransaction) FailRequest(err error) error {
+ ret := _m.Called(err)
+
+ var r0 error
+ if rf, ok := ret.Get(0).(func(error) error); ok {
+ r0 = rf(err)
+ } else {
+ r0 = ret.Error(0)
+ }
+
+ return r0
+}
+
+// MockRequestTransaction_FailRequest_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'FailRequest'
+type MockRequestTransaction_FailRequest_Call struct {
+ *mock.Call
+}
+
+// FailRequest is a helper method to define mock.On call
+// - err error
+func (_e *MockRequestTransaction_Expecter) FailRequest(err interface{}) *MockRequestTransaction_FailRequest_Call {
+ return &MockRequestTransaction_FailRequest_Call{Call: _e.mock.On("FailRequest", err)}
+}
+
+func (_c *MockRequestTransaction_FailRequest_Call) Run(run func(err error)) *MockRequestTransaction_FailRequest_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ run(args[0].(error))
+ })
+ return _c
+}
+
+func (_c *MockRequestTransaction_FailRequest_Call) Return(_a0 error) *MockRequestTransaction_FailRequest_Call {
+ _c.Call.Return(_a0)
+ return _c
+}
+
+func (_c *MockRequestTransaction_FailRequest_Call) RunAndReturn(run func(error) error) *MockRequestTransaction_FailRequest_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
+// String provides a mock function with given fields:
+func (_m *MockRequestTransaction) String() string {
+ ret := _m.Called()
+
+ var r0 string
+ if rf, ok := ret.Get(0).(func() string); ok {
+ r0 = rf()
+ } else {
+ r0 = ret.Get(0).(string)
+ }
+
+ return r0
+}
+
+// MockRequestTransaction_String_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'String'
+type MockRequestTransaction_String_Call struct {
+ *mock.Call
+}
+
+// String is a helper method to define mock.On call
+func (_e *MockRequestTransaction_Expecter) String() *MockRequestTransaction_String_Call {
+ return &MockRequestTransaction_String_Call{Call: _e.mock.On("String")}
+}
+
+func (_c *MockRequestTransaction_String_Call) Run(run func()) *MockRequestTransaction_String_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ run()
+ })
+ return _c
+}
+
+func (_c *MockRequestTransaction_String_Call) Return(_a0 string) *MockRequestTransaction_String_Call {
+ _c.Call.Return(_a0)
+ return _c
+}
+
+func (_c *MockRequestTransaction_String_Call) RunAndReturn(run func() string) *MockRequestTransaction_String_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
+// Submit provides a mock function with given fields: operation
+func (_m *MockRequestTransaction) Submit(operation spi.RequestTransactionRunnable) {
+ _m.Called(operation)
+}
+
+// MockRequestTransaction_Submit_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Submit'
+type MockRequestTransaction_Submit_Call struct {
+ *mock.Call
+}
+
+// Submit is a helper method to define mock.On call
+// - operation spi.RequestTransactionRunnable
+func (_e *MockRequestTransaction_Expecter) Submit(operation interface{}) *MockRequestTransaction_Submit_Call {
+ return &MockRequestTransaction_Submit_Call{Call: _e.mock.On("Submit", operation)}
+}
+
+func (_c *MockRequestTransaction_Submit_Call) Run(run func(operation spi.RequestTransactionRunnable)) *MockRequestTransaction_Submit_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ run(args[0].(spi.RequestTransactionRunnable))
+ })
+ return _c
+}
+
+func (_c *MockRequestTransaction_Submit_Call) Return() *MockRequestTransaction_Submit_Call {
+ _c.Call.Return()
+ return _c
+}
+
+func (_c *MockRequestTransaction_Submit_Call) RunAndReturn(run func(spi.RequestTransactionRunnable)) *MockRequestTransaction_Submit_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
+type mockConstructorTestingTNewMockRequestTransaction interface {
+ mock.TestingT
+ Cleanup(func())
+}
+
+// NewMockRequestTransaction creates a new instance of MockRequestTransaction. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
+func NewMockRequestTransaction(t mockConstructorTestingTNewMockRequestTransaction) *MockRequestTransaction {
+ mock := &MockRequestTransaction{}
+ mock.Mock.Test(t)
+
+ t.Cleanup(func() { mock.AssertExpectations(t) })
+
+ return mock
+}
diff --git a/plc4go/spi/model/mock_requirements.go b/plc4go/internal/cbus/mock_requirements.go
similarity index 88%
copy from plc4go/spi/model/mock_requirements.go
copy to plc4go/internal/cbus/mock_requirements.go
index 88cc1d8e9e..69bb4c4e7c 100644
--- a/plc4go/spi/model/mock_requirements.go
+++ b/plc4go/internal/cbus/mock_requirements.go
@@ -17,12 +17,13 @@
* under the License.
*/
-package model
+package cbus
import "github.com/apache/plc4x/plc4go/spi"
// Note this file is a Helper for mockery to generate use mocks from other package
-type PlcTagHandler interface {
- spi.PlcTagHandler
+// Deprecated: don't use it in productive code
+type RequestTransaction interface {
+ spi.RequestTransaction
}
diff --git a/plc4go/spi/model/mock_requirements.go b/plc4go/spi/model/mock_requirements.go
index 88cc1d8e9e..154989fa3b 100644
--- a/plc4go/spi/model/mock_requirements.go
+++ b/plc4go/spi/model/mock_requirements.go
@@ -23,6 +23,7 @@ import "github.com/apache/plc4x/plc4go/spi"
// Note this file is a Helper for mockery to generate use mocks from other package
+// Deprecated: don't use it in productive code
type PlcTagHandler interface {
spi.PlcTagHandler
}