diff --git a/plc4go/assets/testing/protocols/modbus/tcp/Modbus-all-datatypes-little-endian.xml b/plc4go/assets/testing/protocols/modbus/tcp/Modbus-all-datatypes-little-endian.xml new file mode 100644 index 00000000000..1c01f468725 --- /dev/null +++ b/plc4go/assets/testing/protocols/modbus/tcp/Modbus-all-datatypes-little-endian.xml @@ -0,0 +1,3410 @@ + + + + + Modbus All Types + + modbus + read-write + + modbus-tcp + + + default-payload-byte-order + LITTLE_ENDIAN + + + + + Single element read request: holding-register:1:BOOL + + + + + + hurz +
holding-register:1:BOOL
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 0 + 1 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 5 + 1 + + + false + 3 + + 2 + 0x0100 + + + + + + + + + + + + + + +
0
+ 1 + BOOL +
+
+
+
+
+
+ + + + OK + + true + + + + +
+
+
+
+ + + Single element write request: holding-register:1:BOOL + + + + + + hurz +
holding-register:1:BOOL
+ true +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 9 + 1 + + + false + 16 + + 0 + 1 + 2 + 0x0100 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 0 + 1 + + + + + + + + + + + + + + +
0
+ 1 + BOOL +
+
+
+
+ + + true + + +
+
+ + + 1 + + +
+
+
+
+ + + 10 Query: Trans: 3; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:2:BYTE
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 1 + 1 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 5 + 1 + + + false + 3 + + 2 + 0x2a00 + + + + + + + + + + + + + + +
1
+ 1 + BYTE +
+
+
+
+
+
+ + + + OK + + 42 + + + + +
+
+
+
+ + + 13 Query: Trans: 4; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:2:BYTE
+ 42 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 9 + 1 + + + false + 16 + + 1 + 1 + 2 + 0x2a00 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 1 + 1 + + + + + + + + + + + + + + +
1
+ 1 + BYTE +
+
+
+
+ + + 42 + + +
+
+ + + 1 + + +
+
+
+
+ + + 16 Query: Trans: 5; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:3:WORD
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 2 + 1 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 5 + 1 + + + false + 3 + + 2 + 0xb8a5 + + + + + + + + + + + + + + +
2
+ 1 + WORD +
+
+
+
+
+
+ + + + OK + + 42424 + + + + +
+
+
+
+ + + 19 Query: Trans: 6; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:3:WORD
+ 42424 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 9 + 1 + + + false + 16 + + 2 + 1 + 2 + 0xb8a5 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 2 + 1 + + + + + + + + + + + + + + +
2
+ 1 + WORD +
+
+
+
+ + + 42424 + + +
+
+ + + 1 + + +
+
+
+
+ + + 22 Query: Trans: 7; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:4:DWORD
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 3 + 2 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 7 + 1 + + + false + 3 + + 4 + 0xb888defc + + + + + + + + + + + + + + +
3
+ 1 + DWORD +
+
+
+
+
+
+ + + + OK + + 4242442424 + + + + +
+
+
+
+ + + 25 Query: Trans: 8; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:4:DWORD
+ 4242442424 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 11 + 1 + + + false + 16 + + 3 + 2 + 4 + 0xb888defc + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 3 + 2 + + + + + + + + + + + + + + +
3
+ 1 + DWORD +
+
+
+
+ + + 4242442424 + + +
+
+ + + 1 + + +
+
+
+
+ + + 28 Query: Trans: 9; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:10:SINT
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 9 + 1 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 5 + 1 + + + false + 3 + + 2 + 0xd600 + + + + + + + + + + + + + + +
9
+ 1 + SINT +
+
+
+
+
+
+ + + + OK + + -42 + + + + +
+
+
+
+ + + 31 Query: Trans: 10; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:10:SINT
+ -42 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 9 + 1 + + + false + 16 + + 9 + 1 + 2 + 0xd600 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 9 + 1 + + + + + + + + + + + + + + +
9
+ 1 + SINT +
+
+
+
+ + + -42 + + +
+
+ + + 1 + + +
+
+
+
+ + + 34 Query: Trans: 11; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:11:USINT
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 10 + 1 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 5 + 1 + + + false + 3 + + 2 + 0x2a00 + + + + + + + + + + + + + + +
10
+ 1 + USINT +
+
+
+
+
+
+ + + + OK + + 42 + + + + +
+
+
+
+ + + 37 Query: Trans: 12; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:11:USINT
+ 42 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 9 + 1 + + + false + 16 + + 10 + 1 + 2 + 0x2a00 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 10 + 1 + + + + + + + + + + + + + + +
10
+ 1 + USINT +
+
+
+
+ + + 42 + + +
+
+ + + 1 + + +
+
+
+
+ + + 40 Query: Trans: 13; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:12:INT
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 11 + 1 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 5 + 1 + + + false + 3 + + 2 + 0x88f6 + + + + + + + + + + + + + + +
11
+ 1 + INT +
+
+
+
+
+
+ + + + OK + + -2424 + + + + +
+
+
+
+ + + 43 Query: Trans: 14; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:12:INT
+ -2424 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 9 + 1 + + + false + 16 + + 11 + 1 + 2 + 0x88f6 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 11 + 1 + + + + + + + + + + + + + + +
11
+ 1 + INT +
+
+
+
+ + + -2424 + + +
+
+ + + 1 + + +
+
+
+
+ + + 46 Query: Trans: 15; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:13:UINT
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 12 + 1 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 5 + 1 + + + false + 3 + + 2 + 0xb8a5 + + + + + + + + + + + + + + +
12
+ 1 + UINT +
+
+
+
+
+
+ + + + OK + + 42424 + + + + +
+
+
+
+ + + 49 Query: Trans: 16; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:13:UINT
+ 42424 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 9 + 1 + + + false + 16 + + 12 + 1 + 2 + 0xb8a5 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 12 + 1 + + + + + + + + + + + + + + +
12
+ 1 + UINT +
+
+
+
+ + + 42424 + + +
+
+ + + 1 + + +
+
+
+
+ + + 52 Query: Trans: 17; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:14:DINT
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 13 + 2 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 7 + 1 + + + false + 3 + + 4 + 0x489f8cf1 + + + + + + + + + + + + + + +
13
+ 1 + DINT +
+
+
+
+
+
+ + + + OK + + -242442424 + + + + +
+
+
+
+ + + 55 Query: Trans: 18; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:14:DINT
+ -242442424 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 11 + 1 + + + false + 16 + + 13 + 2 + 4 + 0x489f8cf1 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 13 + 2 + + + + + + + + + + + + + + +
13
+ 1 + DINT +
+
+
+
+ + + -242442424 + + +
+
+ + + 1 + + +
+
+
+
+ + + 58 Query: Trans: 19; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:16:UDINT
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 15 + 2 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 7 + 1 + + + false + 3 + + 4 + 0xb888defc + + + + + + + + + + + + + + +
15
+ 1 + UDINT +
+
+
+
+
+
+ + + + OK + + 4242442424 + + + + +
+
+
+
+ + + 61 Query: Trans: 20; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:16:UDINT
+ 4242442424 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 11 + 1 + + + false + 16 + + 15 + 2 + 4 + 0xb888defc + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 15 + 2 + + + + + + + + + + + + + + +
15
+ 1 + UDINT +
+
+
+
+ + + 4242442424 + + +
+
+ + + 1 + + +
+
+
+
+ + + 64 Query: Trans: 21; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:18:LINT
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 17 + 4 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 11 + 1 + + + false + 3 + + 8 + 0x4eb6fbb217d11fc5 + + + + + + + + + + + + + + +
17
+ 1 + LINT +
+
+
+
+
+
+ + + + OK + + -4242442424242424242 + + + + +
+
+
+
+ + + 67 Query: Trans: 22; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:18:LINT
+ -4242442424242424242 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 15 + 1 + + + false + 16 + + 17 + 4 + 8 + 0x4eb6fbb217d11fc5 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 17 + 4 + + + + + + + + + + + + + + +
17
+ 1 + LINT +
+
+
+
+ + + -4242442424242424242 + + +
+
+ + + 1 + + +
+
+
+
+ + + 70 Query: Trans: 23; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:22:ULINT
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 21 + 4 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 11 + 1 + + + false + 3 + + 8 + 0xb249044de82ee03a + + + + + + + + + + + + + + +
21
+ 1 + ULINT +
+
+
+
+
+
+ + + + OK + + 4242442424242424242 + + + + +
+
+
+
+ + + 73 Query: Trans: 24; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:22:ULINT
+ 4242442424242424242 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 15 + 1 + + + false + 16 + + 21 + 4 + 8 + 0xb249044de82ee03a + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 21 + 4 + + + + + + + + + + + + + + +
21
+ 1 + ULINT +
+
+
+
+ + + 4242442424242424242 + + +
+
+ + + 1 + + +
+
+
+
+ + + 76 Query: Trans: 25; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:26:REAL
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 25 + 2 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 7 + 1 + + + false + 3 + + 4 + 0xdc0f4940 + + + + + + + + + + + + + + +
25
+ 1 + REAL +
+
+
+
+
+
+ + + + OK + + 3.1415929794311523 + + + + +
+
+
+
+ + + 79 Query: Trans: 26; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:26:REAL
+ 3.141593 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 11 + 1 + + + false + 16 + + 25 + 2 + 4 + 0xdc0f4940 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 25 + 2 + + + + + + + + + + + + + + +
25
+ 1 + REAL +
+
+
+
+ + + 3.1415929794311523 + + +
+
+ + + 1 + + +
+
+
+
+ + + 82 Query: Trans: 27; Unit: 1, Func: 3: Read Holding Registers + + + + + + hurz +
holding-register:28:LREAL
+
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 6 + 1 + + + false + 3 + + 27 + 4 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 11 + 1 + + + false + 3 + + 8 + 0xcf5f148b0abf0540 + + + + + + + + + + + + + + +
27
+ 1 + LREAL +
+
+
+
+
+
+ + + + OK + + 2.71828182846 + + + + +
+
+
+
+ + + 85 Query: Trans: 28; Unit: 1, Func: 16: Write Multiple Registers + + + + + + hurz +
holding-register:28:LREAL
+ 2.71828182846 +
+
+
+
+ + + MODBUS_TCP + false + + + + 1 + 0 + 15 + 1 + + + false + 16 + + 27 + 4 + 8 + 0xcf5f148b0abf0540 + + + + + + + + + MODBUS_TCP + true + + + + 1 + 0 + 6 + 1 + + + false + 16 + + 27 + 4 + + + + + + + + + + + + + + +
27
+ 1 + LREAL +
+
+
+
+ + + 2.71828182846 + + +
+
+ + + 1 + + +
+
+
+
+ + + +
\ No newline at end of file diff --git a/plc4go/spi/testutils/mock_TestingLog_test.go b/plc4go/spi/testutils/mock_TestingLog_test.go new file mode 100644 index 00000000000..00d875de486 --- /dev/null +++ b/plc4go/spi/testutils/mock_TestingLog_test.go @@ -0,0 +1,169 @@ +/* + * 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.42.2. DO NOT EDIT. + +package testutils + +import mock "github.com/stretchr/testify/mock" + +// MockTestingLog is an autogenerated mock type for the TestingLog type +type MockTestingLog struct { + mock.Mock +} + +type MockTestingLog_Expecter struct { + mock *mock.Mock +} + +func (_m *MockTestingLog) EXPECT() *MockTestingLog_Expecter { + return &MockTestingLog_Expecter{mock: &_m.Mock} +} + +// Helper provides a mock function with given fields: +func (_m *MockTestingLog) Helper() { + _m.Called() +} + +// MockTestingLog_Helper_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Helper' +type MockTestingLog_Helper_Call struct { + *mock.Call +} + +// Helper is a helper method to define mock.On call +func (_e *MockTestingLog_Expecter) Helper() *MockTestingLog_Helper_Call { + return &MockTestingLog_Helper_Call{Call: _e.mock.On("Helper")} +} + +func (_c *MockTestingLog_Helper_Call) Run(run func()) *MockTestingLog_Helper_Call { + _c.Call.Run(func(args mock.Arguments) { + run() + }) + return _c +} + +func (_c *MockTestingLog_Helper_Call) Return() *MockTestingLog_Helper_Call { + _c.Call.Return() + return _c +} + +func (_c *MockTestingLog_Helper_Call) RunAndReturn(run func()) *MockTestingLog_Helper_Call { + _c.Call.Return(run) + return _c +} + +// Log provides a mock function with given fields: args +func (_m *MockTestingLog) Log(args ...interface{}) { + var _ca []interface{} + _ca = append(_ca, args...) + _m.Called(_ca...) +} + +// MockTestingLog_Log_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Log' +type MockTestingLog_Log_Call struct { + *mock.Call +} + +// Log is a helper method to define mock.On call +// - args ...interface{} +func (_e *MockTestingLog_Expecter) Log(args ...interface{}) *MockTestingLog_Log_Call { + return &MockTestingLog_Log_Call{Call: _e.mock.On("Log", + append([]interface{}{}, args...)...)} +} + +func (_c *MockTestingLog_Log_Call) Run(run func(args ...interface{})) *MockTestingLog_Log_Call { + _c.Call.Run(func(args mock.Arguments) { + variadicArgs := make([]interface{}, len(args)-0) + for i, a := range args[0:] { + if a != nil { + variadicArgs[i] = a.(interface{}) + } + } + run(variadicArgs...) + }) + return _c +} + +func (_c *MockTestingLog_Log_Call) Return() *MockTestingLog_Log_Call { + _c.Call.Return() + return _c +} + +func (_c *MockTestingLog_Log_Call) RunAndReturn(run func(...interface{})) *MockTestingLog_Log_Call { + _c.Call.Return(run) + return _c +} + +// Logf provides a mock function with given fields: format, args +func (_m *MockTestingLog) Logf(format string, args ...interface{}) { + var _ca []interface{} + _ca = append(_ca, format) + _ca = append(_ca, args...) + _m.Called(_ca...) +} + +// MockTestingLog_Logf_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Logf' +type MockTestingLog_Logf_Call struct { + *mock.Call +} + +// Logf is a helper method to define mock.On call +// - format string +// - args ...interface{} +func (_e *MockTestingLog_Expecter) Logf(format interface{}, args ...interface{}) *MockTestingLog_Logf_Call { + return &MockTestingLog_Logf_Call{Call: _e.mock.On("Logf", + append([]interface{}{format}, args...)...)} +} + +func (_c *MockTestingLog_Logf_Call) Run(run func(format string, args ...interface{})) *MockTestingLog_Logf_Call { + _c.Call.Run(func(args mock.Arguments) { + variadicArgs := make([]interface{}, len(args)-1) + for i, a := range args[1:] { + if a != nil { + variadicArgs[i] = a.(interface{}) + } + } + run(args[0].(string), variadicArgs...) + }) + return _c +} + +func (_c *MockTestingLog_Logf_Call) Return() *MockTestingLog_Logf_Call { + _c.Call.Return() + return _c +} + +func (_c *MockTestingLog_Logf_Call) RunAndReturn(run func(string, ...interface{})) *MockTestingLog_Logf_Call { + _c.Call.Return(run) + return _c +} + +// NewMockTestingLog creates a new instance of MockTestingLog. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +// The first argument is typically a *testing.T value. +func NewMockTestingLog(t interface { + mock.TestingT + Cleanup(func()) +}) *MockTestingLog { + mock := &MockTestingLog{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +}