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/06/07 13:08:07 UTC
[plc4x] 02/03: refactor(plc4go): general QC pass
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 41b82bd16f83ed6e0b4f94e64fc6996b2e599523
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Wed Jun 7 14:20:22 2023 +0200
refactor(plc4go): general QC pass
---
plc4go/internal/ads/Browser.go | 2 +-
plc4go/internal/bacnetip/ApplicationModule.go | 2 +-
plc4go/internal/bacnetip/Discoverer.go | 4 +-
plc4go/internal/eip/Reader.go | 8 +-
plc4go/internal/eip/Tag.go | 4 +-
plc4go/internal/eip/Writer.go | 2 +-
plc4go/internal/eip/mock_EIPPlcTag_test.go | 2 +-
plc4go/internal/modbus/Reader.go | 4 +-
plc4go/internal/modbus/Tag.go | 4 +-
plc4go/internal/modbus/Writer.go | 2 +-
plc4go/internal/simulated/Device.go | 21 ++--
plc4go/internal/simulated/Device_test.go | 30 ++++--
plc4go/internal/simulated/Reader_test.go | 8 +-
plc4go/internal/simulated/Tag.go | 6 +-
plc4go/internal/simulated/Tag_test.go | 2 +-
plc4go/internal/simulated/Writer_test.go | 14 +--
plc4go/pkg/api/cache/connectionContainer_test.go | 7 +-
plc4go/pkg/api/model/plc_response_code.go | 2 +-
plc4go/pkg/api/model/plc_response_code_test.go | 7 +-
plc4go/spi/default/testTransportInstance_test.go | 83 ---------------
plc4go/spi/model/DefaultPlcTagRequest_test.go | 17 ++-
plc4go/spi/tracer/Tracer.go | 2 +-
plc4go/spi/tracer/mock_Provider_test.go | 127 +++++++++++++++++++++++
plc4go/spi/tracer/mock_TracerProvider_test.go | 127 -----------------------
plc4go/spi/utils/ReadBufferJsonBased_test.go | 5 +-
plc4go/tools/plc4xgenerator/gen.go | 3 +-
26 files changed, 223 insertions(+), 272 deletions(-)
diff --git a/plc4go/internal/ads/Browser.go b/plc4go/internal/ads/Browser.go
index 4a0590d2ba..e380903fe7 100644
--- a/plc4go/internal/ads/Browser.go
+++ b/plc4go/internal/ads/Browser.go
@@ -109,7 +109,7 @@ func (m *Connection) filterSymbols(filterExpression string) []apiModel.PlcBrowse
func (m *Connection) filterDataTypes(parentName string, currentType driverModel.AdsDataTypeTableEntry, currentPath string, remainingAddressSegments []string) []apiModel.PlcBrowseItem {
if len(remainingAddressSegments) == 0 {
- arrayInfo := []apiModel.ArrayInfo{}
+ var arrayInfo []apiModel.ArrayInfo
for _, ai := range currentType.GetArrayInfo() {
arrayInfo = append(arrayInfo, &spiModel.DefaultArrayInfo{
LowerBound: ai.GetLowerBound(),
diff --git a/plc4go/internal/bacnetip/ApplicationModule.go b/plc4go/internal/bacnetip/ApplicationModule.go
index 7cc45b36ff..39a04d9812 100644
--- a/plc4go/internal/bacnetip/ApplicationModule.go
+++ b/plc4go/internal/bacnetip/ApplicationModule.go
@@ -355,7 +355,7 @@ func (a *Application) IterObjects() []*LocalDeviceObject {
// TODO: match that with readWriteModel.BACnetServicesSupported
func (a *Application) GetServicesSupported() []string {
servicesSupported := make([]string, 0, len(a.helpers))
- for key, _ := range a.helpers {
+ for key := range a.helpers {
servicesSupported = append(servicesSupported, key)
}
return servicesSupported
diff --git a/plc4go/internal/bacnetip/Discoverer.go b/plc4go/internal/bacnetip/Discoverer.go
index 9989a0d6b3..6507a86b96 100644
--- a/plc4go/internal/bacnetip/Discoverer.go
+++ b/plc4go/internal/bacnetip/Discoverer.go
@@ -498,7 +498,7 @@ func whoHasObjectName(objectName string) option {
}
}
-func NewProtocolSpecificOptions(options ...option) (*protocolSpecificOptions, error) {
+func newProtocolSpecificOptions(options ...option) (*protocolSpecificOptions, error) {
var specificOptions protocolSpecificOptions
for _, _option := range options {
if parseErr := _option(&specificOptions); parseErr != nil {
@@ -620,7 +620,7 @@ func extractProtocolSpecificOptions(discoveryOptions []options.WithDiscoveryOpti
collectedOptions = append(collectedOptions, whoHasObjectName(name))
}
}
- return NewProtocolSpecificOptions(collectedOptions...)
+ return newProtocolSpecificOptions(collectedOptions...)
}
func exactlyOneInt(filteredOptionMap map[string][]any, key string) (int, error) {
diff --git a/plc4go/internal/eip/Reader.go b/plc4go/internal/eip/Reader.go
index 81459228a4..83980fc6d2 100644
--- a/plc4go/internal/eip/Reader.go
+++ b/plc4go/internal/eip/Reader.go
@@ -75,7 +75,7 @@ func (m *Reader) Read(ctx context.Context, readRequest apiModel.PlcReadRequest)
classSegment := readWriteModel.NewLogicalSegment(readWriteModel.NewClassID(0, 6))
instanceSegment := readWriteModel.NewLogicalSegment(readWriteModel.NewInstanceID(0, 1))
for _, tagName := range readRequest.GetTagNames() {
- plcTag := readRequest.GetTag(tagName).(EIPPlcTag)
+ plcTag := readRequest.GetTag(tagName).(PlcTag)
tag := plcTag.GetTag()
elementsNb := uint16(1)
if plcTag.GetElementNb() > 1 {
@@ -206,7 +206,7 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.CipService, readReq
case readWriteModel.CipReadResponseExactly: // only 1 tag
cipReadResponse := response
tagName := readRequest.GetTagNames()[0]
- tag := readRequest.GetTag(tagName).(EIPPlcTag)
+ tag := readRequest.GetTag(tagName).(PlcTag)
code := decodeResponseCode(cipReadResponse.GetStatus())
var plcValue values.PlcValue
_type := cipReadResponse.GetData().GetDataType()
@@ -244,7 +244,7 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.CipService, readReq
}
services := readWriteModel.NewServices(multipleServiceResponse.GetOffsets(), arr, uint16(0))
for i, tagName := range readRequest.GetTagNames() {
- tag := readRequest.GetTag(tagName).(EIPPlcTag)
+ tag := readRequest.GetTag(tagName).(PlcTag)
if cipReadResponse, ok := services.Services[i].(readWriteModel.CipReadResponse); ok {
code := decodeResponseCode(cipReadResponse.GetStatus())
_type := cipReadResponse.GetData().GetDataType()
@@ -273,7 +273,7 @@ func (m *Reader) ToPlc4xReadResponse(response readWriteModel.CipService, readReq
return spiModel.NewDefaultPlcReadResponse(readRequest, responseCodes, plcValues), nil
}
-func parsePlcValue(tag EIPPlcTag, data utils.ReadBufferByteBased, _type readWriteModel.CIPDataTypeCode) (values.PlcValue, error) {
+func parsePlcValue(tag PlcTag, data utils.ReadBufferByteBased, _type readWriteModel.CIPDataTypeCode) (values.PlcValue, error) {
nb := tag.GetElementNb()
if nb > 1 {
list := make([]values.PlcValue, 0)
diff --git a/plc4go/internal/eip/Tag.go b/plc4go/internal/eip/Tag.go
index 799e24cbf1..c7029c59c3 100644
--- a/plc4go/internal/eip/Tag.go
+++ b/plc4go/internal/eip/Tag.go
@@ -29,7 +29,7 @@ import (
"github.com/apache/plc4x/plc4go/spi/utils"
)
-type EIPPlcTag interface {
+type PlcTag interface {
apiModel.PlcTag
utils.Serializable
@@ -44,7 +44,7 @@ type plcTag struct {
ElementNb uint16
}
-func NewTag(tag string, _type readWriteModel.CIPDataTypeCode, elementNb uint16) plcTag {
+func NewTag(tag string, _type readWriteModel.CIPDataTypeCode, elementNb uint16) PlcTag {
return plcTag{
Tag: tag,
Type: _type,
diff --git a/plc4go/internal/eip/Writer.go b/plc4go/internal/eip/Writer.go
index 7700df8c60..7b198264d6 100644
--- a/plc4go/internal/eip/Writer.go
+++ b/plc4go/internal/eip/Writer.go
@@ -70,7 +70,7 @@ func (m Writer) Write(ctx context.Context, writeRequest apiModel.PlcWriteRequest
}()
items := make([]readWriteModel.CipService, len(writeRequest.GetTagNames()))
for i, tagName := range writeRequest.GetTagNames() {
- eipTag := writeRequest.GetTag(tagName).(EIPPlcTag)
+ eipTag := writeRequest.GetTag(tagName).(PlcTag)
value := writeRequest.GetValue(tagName)
tag := eipTag.GetTag()
elements := uint16(1)
diff --git a/plc4go/internal/eip/mock_EIPPlcTag_test.go b/plc4go/internal/eip/mock_EIPPlcTag_test.go
index 28a92726fd..449e7f6298 100644
--- a/plc4go/internal/eip/mock_EIPPlcTag_test.go
+++ b/plc4go/internal/eip/mock_EIPPlcTag_test.go
@@ -34,7 +34,7 @@ import (
values "github.com/apache/plc4x/plc4go/pkg/api/values"
)
-// MockEIPPlcTag is an autogenerated mock type for the EIPPlcTag type
+// MockEIPPlcTag is an autogenerated mock type for the PlcTag type
type MockEIPPlcTag struct {
mock.Mock
}
diff --git a/plc4go/internal/modbus/Reader.go b/plc4go/internal/modbus/Reader.go
index 6f37d5ef12..4985f65b26 100644
--- a/plc4go/internal/modbus/Reader.go
+++ b/plc4go/internal/modbus/Reader.go
@@ -72,7 +72,7 @@ func (m *Reader) Read(ctx context.Context, readRequest apiModel.PlcReadRequest)
// If we are requesting only one tag, use a
tagName := readRequest.GetTagNames()[0]
tag := readRequest.GetTag(tagName)
- modbusTagVar, err := CastToModbusTagFromPlcTag(tag)
+ modbusTagVar, err := castToModbusTagFromPlcTag(tag)
if err != nil {
result <- spiModel.NewDefaultPlcReadRequestResult(
readRequest,
@@ -193,7 +193,7 @@ func (m *Reader) ToPlc4xReadResponse(responseAdu readWriteModel.ModbusTcpADU, re
// Get the tag from the request
m.log.Trace().Msg("get a tag from request")
tagName := readRequest.GetTagNames()[0]
- tag, err := CastToModbusTagFromPlcTag(readRequest.GetTag(tagName))
+ tag, err := castToModbusTagFromPlcTag(readRequest.GetTag(tagName))
if err != nil {
return nil, errors.Wrap(err, "error casting to modbus-tag")
}
diff --git a/plc4go/internal/modbus/Tag.go b/plc4go/internal/modbus/Tag.go
index eaa027d317..d8ca982038 100644
--- a/plc4go/internal/modbus/Tag.go
+++ b/plc4go/internal/modbus/Tag.go
@@ -48,7 +48,7 @@ type modbusTag struct {
Datatype readWriteModel.ModbusDataType
}
-func NewTag(tagType TagType, address uint16, quantity uint16, datatype readWriteModel.ModbusDataType) modbusTag {
+func NewTag(tagType TagType, address uint16, quantity uint16, datatype readWriteModel.ModbusDataType) apiModel.PlcTag {
return modbusTag{
TagType: tagType,
Address: address - AddressOffset,
@@ -99,7 +99,7 @@ func (m modbusTag) GetArrayInfo() []apiModel.ArrayInfo {
return []apiModel.ArrayInfo{}
}
-func CastToModbusTagFromPlcTag(plcTag apiModel.PlcTag) (modbusTag, error) {
+func castToModbusTagFromPlcTag(plcTag apiModel.PlcTag) (modbusTag, error) {
if modbusTagVar, ok := plcTag.(modbusTag); ok {
return modbusTagVar, nil
}
diff --git a/plc4go/internal/modbus/Writer.go b/plc4go/internal/modbus/Writer.go
index 6c21dbff56..54da7a4fb3 100644
--- a/plc4go/internal/modbus/Writer.go
+++ b/plc4go/internal/modbus/Writer.go
@@ -65,7 +65,7 @@ func (m Writer) Write(ctx context.Context, writeRequest apiModel.PlcWriteRequest
// Get the modbus tag instance from the request
tag := writeRequest.GetTag(tagName)
- modbusTag, err := CastToModbusTagFromPlcTag(tag)
+ modbusTag, err := castToModbusTagFromPlcTag(tag)
if err != nil {
result <- spiModel.NewDefaultPlcWriteRequestResult(writeRequest, nil, errors.Wrap(err, "invalid tag item type"))
return
diff --git a/plc4go/internal/simulated/Device.go b/plc4go/internal/simulated/Device.go
index 89fcb47ea7..bd4b09a691 100644
--- a/plc4go/internal/simulated/Device.go
+++ b/plc4go/internal/simulated/Device.go
@@ -21,17 +21,17 @@ package simulated
import (
"context"
- "github.com/apache/plc4x/plc4go/spi/options"
"github.com/rs/zerolog"
"math/rand"
- "github.com/apache/plc4x/plc4go/pkg/api/values"
- "github.com/apache/plc4x/plc4go/protocols/simulated/readwrite/model"
+ apiValues "github.com/apache/plc4x/plc4go/pkg/api/values"
+ readWriteModel "github.com/apache/plc4x/plc4go/protocols/simulated/readwrite/model"
+ "github.com/apache/plc4x/plc4go/spi/options"
)
type Device struct {
Name string
- State map[simulatedTag]*values.PlcValue
+ State map[simulatedTag]*apiValues.PlcValue
log zerolog.Logger
}
@@ -39,12 +39,12 @@ type Device struct {
func NewDevice(name string, _options ...options.WithOption) *Device {
return &Device{
Name: name,
- State: make(map[simulatedTag]*values.PlcValue),
+ State: make(map[simulatedTag]*apiValues.PlcValue),
log: options.ExtractCustomLogger(_options...),
}
}
-func (d *Device) Get(tag simulatedTag) *values.PlcValue {
+func (d *Device) Get(tag simulatedTag) *apiValues.PlcValue {
switch tag.TagType {
case TagState:
return d.State[tag]
@@ -54,7 +54,7 @@ func (d *Device) Get(tag simulatedTag) *values.PlcValue {
return nil
}
-func (d *Device) Set(tag simulatedTag, value *values.PlcValue) {
+func (d *Device) Set(tag simulatedTag, value *apiValues.PlcValue) {
switch tag.TagType {
case TagState:
d.State[tag] = value
@@ -68,13 +68,14 @@ func (d *Device) Set(tag simulatedTag, value *values.PlcValue) {
}
}
-func (d *Device) getRandomValue(tag simulatedTag) *values.PlcValue {
+func (d *Device) getRandomValue(tag simulatedTag) *apiValues.PlcValue {
size := tag.GetDataTypeSize().DataTypeSize()
data := make([]byte, uint16(size)*tag.Quantity)
rand.Read(data)
- plcValue, err := model.DataItemParse(context.Background(), data, tag.DataTypeSize.String(), tag.Quantity)
+ plcValue, err := readWriteModel.DataItemParse(context.Background(), data, tag.DataTypeSize.String(), tag.Quantity)
if err != nil {
- panic("Unable to parse random bytes")
+ d.log.Err(err).Msg("Unable to parse random bytes")
+ return nil
}
return &plcValue
}
diff --git a/plc4go/internal/simulated/Device_test.go b/plc4go/internal/simulated/Device_test.go
index 729a694185..04eb113340 100644
--- a/plc4go/internal/simulated/Device_test.go
+++ b/plc4go/internal/simulated/Device_test.go
@@ -20,6 +20,7 @@
package simulated
import (
+ "github.com/apache/plc4x/plc4go/spi/options"
"github.com/stretchr/testify/assert"
"testing"
@@ -48,11 +49,11 @@ func TestDevice_Get(t1 *testing.T) {
fields: fields{
Name: "hurz",
State: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
},
args: args{
- field: NewSimulatedTag(TagState, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1),
+ field: NewSimulatedTag(TagState, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag),
verifyOutput: true,
},
want: ToReference(spiValues.NewPlcBOOL(true)),
@@ -64,7 +65,7 @@ func TestDevice_Get(t1 *testing.T) {
State: map[simulatedTag]*apiValues.PlcValue{},
},
args: args{
- field: NewSimulatedTag(TagRandom, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1),
+ field: NewSimulatedTag(TagRandom, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag),
verifyOutput: false,
},
want: ToReference(spiValues.NewPlcBOOL(true)),
@@ -76,7 +77,7 @@ func TestDevice_Get(t1 *testing.T) {
State: map[simulatedTag]*apiValues.PlcValue{},
},
args: args{
- field: NewSimulatedTag(TagStdOut, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1),
+ field: NewSimulatedTag(TagStdOut, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag),
verifyOutput: false,
},
want: nil,
@@ -127,7 +128,7 @@ func TestDevice_Random(t *testing.T) {
State: map[simulatedTag]*apiValues.PlcValue{},
},
args: args{
- field: NewSimulatedTag(TagRandom, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1),
+ field: NewSimulatedTag(TagRandom, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag),
numRuns: 1000,
},
want: ToReference(spiValues.NewPlcBOOL(true)),
@@ -181,7 +182,7 @@ func TestDevice_Set(t1 *testing.T) {
State: map[simulatedTag]*apiValues.PlcValue{},
},
args: args{
- field: NewSimulatedTag(TagState, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1),
+ field: NewSimulatedTag(TagState, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag),
value: ToReference(spiValues.NewPlcBOOL(true)),
shouldBeSaved: true,
},
@@ -193,7 +194,7 @@ func TestDevice_Set(t1 *testing.T) {
State: map[simulatedTag]*apiValues.PlcValue{},
},
args: args{
- field: NewSimulatedTag(TagRandom, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1),
+ field: NewSimulatedTag(TagRandom, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag),
value: ToReference(spiValues.NewPlcBOOL(true)),
shouldBeSaved: false,
},
@@ -205,7 +206,7 @@ func TestDevice_Set(t1 *testing.T) {
State: map[simulatedTag]*apiValues.PlcValue{},
},
args: args{
- field: NewSimulatedTag(TagStdOut, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1),
+ field: NewSimulatedTag(TagStdOut, "boolTag", readWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag),
value: ToReference(spiValues.NewPlcBOOL(true)),
shouldBeSaved: false,
},
@@ -248,7 +249,9 @@ func TestDevice_getRandomValue(t1 *testing.T) {
args args
want *apiValues.PlcValue
}{
- // TODO: Add test cases.
+ {
+ name: "get it",
+ },
}
for _, tt := range tests {
t1.Run(tt.name, func(t1 *testing.T) {
@@ -272,7 +275,14 @@ func TestNewDevice(t *testing.T) {
args args
want *Device
}{
- // TODO: Add test cases.
+ {
+ name: "create it",
+ want: &Device{
+ Name: "",
+ State: make(map[simulatedTag]*apiValues.PlcValue),
+ log: options.ExtractCustomLogger(),
+ },
+ },
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
diff --git a/plc4go/internal/simulated/Reader_test.go b/plc4go/internal/simulated/Reader_test.go
index 8bf5b1b9b7..f34eac9696 100644
--- a/plc4go/internal/simulated/Reader_test.go
+++ b/plc4go/internal/simulated/Reader_test.go
@@ -59,7 +59,7 @@ func TestReader_Read(t *testing.T) {
device: &Device{
Name: "hurz",
State: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
},
options: map[string][]string{},
@@ -85,7 +85,7 @@ func TestReader_Read(t *testing.T) {
device: &Device{
Name: "hurz",
State: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
},
options: map[string][]string{
@@ -113,7 +113,7 @@ func TestReader_Read(t *testing.T) {
device: &Device{
Name: "hurz",
State: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
},
options: map[string][]string{},
@@ -140,7 +140,7 @@ func TestReader_Read(t *testing.T) {
device: &Device{
Name: "hurz",
State: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
},
options: map[string][]string{},
diff --git a/plc4go/internal/simulated/Tag.go b/plc4go/internal/simulated/Tag.go
index a9fca79db0..6c6d8e73b1 100644
--- a/plc4go/internal/simulated/Tag.go
+++ b/plc4go/internal/simulated/Tag.go
@@ -31,9 +31,9 @@ import (
type Tag interface {
apiModel.PlcTag
- GetTagType() *TagType
+ GetTagType() TagType
GetName() string
- GetDataTypeSize() *model.SimulatedDataTypeSizes
+ GetDataTypeSize() model.SimulatedDataTypeSizes
}
type simulatedTag struct {
@@ -43,7 +43,7 @@ type simulatedTag struct {
Quantity uint16
}
-func NewSimulatedTag(tagType TagType, name string, dataTypeSize model.SimulatedDataTypeSizes, quantity uint16) simulatedTag {
+func NewSimulatedTag(tagType TagType, name string, dataTypeSize model.SimulatedDataTypeSizes, quantity uint16) Tag {
return simulatedTag{
TagType: tagType,
Name: name,
diff --git a/plc4go/internal/simulated/Tag_test.go b/plc4go/internal/simulated/Tag_test.go
index 04616ef6ed..f7a3770c68 100644
--- a/plc4go/internal/simulated/Tag_test.go
+++ b/plc4go/internal/simulated/Tag_test.go
@@ -36,7 +36,7 @@ func TestNewSimulatedField(t *testing.T) {
tests := []struct {
name string
args args
- want simulatedTag
+ want Tag
}{
{
name: "simple",
diff --git a/plc4go/internal/simulated/Writer_test.go b/plc4go/internal/simulated/Writer_test.go
index 4f6adea84b..58eb9d9919 100644
--- a/plc4go/internal/simulated/Writer_test.go
+++ b/plc4go/internal/simulated/Writer_test.go
@@ -78,7 +78,7 @@ func TestWriter_Write(t *testing.T) {
"test": apiModel.PlcResponseCode_OK,
}),
newState: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
delayAtLeast: 0,
},
@@ -88,7 +88,7 @@ func TestWriter_Write(t *testing.T) {
device: &Device{
Name: "hurz",
State: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
},
options: map[string][]string{},
@@ -107,7 +107,7 @@ func TestWriter_Write(t *testing.T) {
"test": apiModel.PlcResponseCode_OK,
}),
newState: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(false)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(false)),
},
delayAtLeast: 0,
},
@@ -117,7 +117,7 @@ func TestWriter_Write(t *testing.T) {
device: &Device{
Name: "hurz",
State: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
},
options: map[string][]string{
@@ -138,7 +138,7 @@ func TestWriter_Write(t *testing.T) {
"test": apiModel.PlcResponseCode_OK,
}),
newState: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(false)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(false)),
},
delayAtLeast: 1000,
},
@@ -149,7 +149,7 @@ func TestWriter_Write(t *testing.T) {
device: &Device{
Name: "hurz",
State: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
},
options: map[string][]string{},
@@ -168,7 +168,7 @@ func TestWriter_Write(t *testing.T) {
"test": apiModel.PlcResponseCode_INVALID_ADDRESS,
}),
newState: map[simulatedTag]*apiValues.PlcValue{
- NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1): ToReference(spiValues.NewPlcBOOL(true)),
+ NewSimulatedTag(TagState, "test", simulatedReadWriteModel.SimulatedDataTypeSizes_BOOL, 1).(simulatedTag): ToReference(spiValues.NewPlcBOOL(true)),
},
delayAtLeast: 0,
},
diff --git a/plc4go/pkg/api/cache/connectionContainer_test.go b/plc4go/pkg/api/cache/connectionContainer_test.go
index 44bb7f2295..863454eeae 100644
--- a/plc4go/pkg/api/cache/connectionContainer_test.go
+++ b/plc4go/pkg/api/cache/connectionContainer_test.go
@@ -105,7 +105,12 @@ func Test_connectionContainer_addListener(t1 *testing.T) {
fields fields
args args
}{
- // TODO: Add test cases.
+ {
+ name: "add it",
+ fields: fields{
+ lock: lock.NewCASMutex(),
+ },
+ },
}
for _, tt := range tests {
t1.Run(tt.name, func(t1 *testing.T) {
diff --git a/plc4go/pkg/api/model/plc_response_code.go b/plc4go/pkg/api/model/plc_response_code.go
index 989a0355ff..ee0fb53cb0 100644
--- a/plc4go/pkg/api/model/plc_response_code.go
+++ b/plc4go/pkg/api/model/plc_response_code.go
@@ -85,6 +85,6 @@ func (m PlcResponseCode) Serialize() ([]byte, error) {
return wb.GetBytes(), nil
}
-func (m PlcResponseCode) SerializeWithWriteBuffer(ctx context.Context, writeBuffer utils.WriteBuffer) error {
+func (m PlcResponseCode) SerializeWithWriteBuffer(_ context.Context, writeBuffer utils.WriteBuffer) error {
return writeBuffer.WriteUint8("ResponseCode", 8, uint8(m), utils.WithAdditionalStringRepresentation(m.GetName()))
}
diff --git a/plc4go/pkg/api/model/plc_response_code_test.go b/plc4go/pkg/api/model/plc_response_code_test.go
index 554d178bdc..927cc14c0a 100644
--- a/plc4go/pkg/api/model/plc_response_code_test.go
+++ b/plc4go/pkg/api/model/plc_response_code_test.go
@@ -92,7 +92,12 @@ func TestPlcResponseCode_SerializeWithWriteBuffer(t *testing.T) {
args args
wantErr bool
}{
- // TODO: Add test cases.
+ {
+ name: "serialize it",
+ args: args{
+ writeBuffer: utils.NewWriteBufferByteBased(),
+ },
+ },
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
diff --git a/plc4go/spi/default/testTransportInstance_test.go b/plc4go/spi/default/testTransportInstance_test.go
deleted file mode 100644
index 5b1c7e107b..0000000000
--- a/plc4go/spi/default/testTransportInstance_test.go
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * 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.
- */
-
-package _default
-
-import (
- "bufio"
- "context"
-)
-
-// TODO: replace with proper mock
-type testTransportInstance struct {
- connected bool
- connectWithContext func(ctx context.Context) error
-}
-
-func (t testTransportInstance) String() string {
- // NO-OP
- return ""
-}
-
-func (t testTransportInstance) Connect() error {
- // NO-OP
- return nil
-}
-
-func (t testTransportInstance) ConnectWithContext(ctx context.Context) error {
- if t.connectWithContext != nil {
- return t.connectWithContext(ctx)
- }
- // NO-OP
- return nil
-}
-
-func (t testTransportInstance) Close() error {
- // NO-OP
- return nil
-}
-
-func (t testTransportInstance) IsConnected() bool {
- return t.connected
-}
-
-func (t testTransportInstance) FillBuffer(until func(pos uint, currentByte byte, reader *bufio.Reader) bool) error {
- // NO-OP
- return nil
-}
-
-func (t testTransportInstance) GetNumBytesAvailableInBuffer() (uint32, error) {
- // NO-OP
- return 0, nil
-}
-
-func (t testTransportInstance) PeekReadableBytes(numBytes uint32) ([]byte, error) {
- // NO-OP
- return nil, nil
-}
-
-func (t testTransportInstance) Read(numBytes uint32) ([]byte, error) {
- // NO-OP
- return nil, nil
-}
-
-func (t testTransportInstance) Write(data []byte) error {
- // NO-OP
- return nil
-}
diff --git a/plc4go/spi/model/DefaultPlcTagRequest_test.go b/plc4go/spi/model/DefaultPlcTagRequest_test.go
index 6ac7c6daaf..2be7b86372 100644
--- a/plc4go/spi/model/DefaultPlcTagRequest_test.go
+++ b/plc4go/spi/model/DefaultPlcTagRequest_test.go
@@ -77,7 +77,9 @@ func TestDefaultPlcTagRequest_GetTagNames(t *testing.T) {
fields fields
want []string
}{
- // TODO: Add test cases.
+ {
+ name: "get em",
+ },
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
@@ -100,7 +102,10 @@ func TestDefaultPlcTagRequest_IsAPlcMessage(t *testing.T) {
fields fields
want bool
}{
- // TODO: Add test cases.
+ {
+ name: "it is",
+ want: true,
+ },
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
@@ -123,7 +128,13 @@ func TestNewDefaultPlcTagRequest(t *testing.T) {
args args
want *DefaultPlcTagRequest
}{
- // TODO: Add test cases.
+ {
+ name: "create it",
+ want: &DefaultPlcTagRequest{
+ tags: func() map[string]apiModel.PlcTag { return nil }(),
+ tagNames: func() []string { return nil }(),
+ },
+ },
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
diff --git a/plc4go/spi/tracer/Tracer.go b/plc4go/spi/tracer/Tracer.go
index 9a78bc7360..9d09de03cf 100644
--- a/plc4go/spi/tracer/Tracer.go
+++ b/plc4go/spi/tracer/Tracer.go
@@ -37,7 +37,7 @@ type TraceEntry struct {
Message string
}
-type TracerProvider interface {
+type Provider interface {
EnableTracer()
GetTracer() *Tracer
}
diff --git a/plc4go/spi/tracer/mock_Provider_test.go b/plc4go/spi/tracer/mock_Provider_test.go
new file mode 100644
index 0000000000..fb1127f7e0
--- /dev/null
+++ b/plc4go/spi/tracer/mock_Provider_test.go
@@ -0,0 +1,127 @@
+/*
+ * 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.28.2. DO NOT EDIT.
+
+package tracer
+
+import mock "github.com/stretchr/testify/mock"
+
+// MockProvider is an autogenerated mock type for the Provider type
+type MockProvider struct {
+ mock.Mock
+}
+
+type MockProvider_Expecter struct {
+ mock *mock.Mock
+}
+
+func (_m *MockProvider) EXPECT() *MockProvider_Expecter {
+ return &MockProvider_Expecter{mock: &_m.Mock}
+}
+
+// EnableTracer provides a mock function with given fields:
+func (_m *MockProvider) EnableTracer() {
+ _m.Called()
+}
+
+// MockProvider_EnableTracer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'EnableTracer'
+type MockProvider_EnableTracer_Call struct {
+ *mock.Call
+}
+
+// EnableTracer is a helper method to define mock.On call
+func (_e *MockProvider_Expecter) EnableTracer() *MockProvider_EnableTracer_Call {
+ return &MockProvider_EnableTracer_Call{Call: _e.mock.On("EnableTracer")}
+}
+
+func (_c *MockProvider_EnableTracer_Call) Run(run func()) *MockProvider_EnableTracer_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ run()
+ })
+ return _c
+}
+
+func (_c *MockProvider_EnableTracer_Call) Return() *MockProvider_EnableTracer_Call {
+ _c.Call.Return()
+ return _c
+}
+
+func (_c *MockProvider_EnableTracer_Call) RunAndReturn(run func()) *MockProvider_EnableTracer_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
+// GetTracer provides a mock function with given fields:
+func (_m *MockProvider) GetTracer() *Tracer {
+ ret := _m.Called()
+
+ var r0 *Tracer
+ if rf, ok := ret.Get(0).(func() *Tracer); ok {
+ r0 = rf()
+ } else {
+ if ret.Get(0) != nil {
+ r0 = ret.Get(0).(*Tracer)
+ }
+ }
+
+ return r0
+}
+
+// MockProvider_GetTracer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTracer'
+type MockProvider_GetTracer_Call struct {
+ *mock.Call
+}
+
+// GetTracer is a helper method to define mock.On call
+func (_e *MockProvider_Expecter) GetTracer() *MockProvider_GetTracer_Call {
+ return &MockProvider_GetTracer_Call{Call: _e.mock.On("GetTracer")}
+}
+
+func (_c *MockProvider_GetTracer_Call) Run(run func()) *MockProvider_GetTracer_Call {
+ _c.Call.Run(func(args mock.Arguments) {
+ run()
+ })
+ return _c
+}
+
+func (_c *MockProvider_GetTracer_Call) Return(_a0 *Tracer) *MockProvider_GetTracer_Call {
+ _c.Call.Return(_a0)
+ return _c
+}
+
+func (_c *MockProvider_GetTracer_Call) RunAndReturn(run func() *Tracer) *MockProvider_GetTracer_Call {
+ _c.Call.Return(run)
+ return _c
+}
+
+type mockConstructorTestingTNewMockProvider interface {
+ mock.TestingT
+ Cleanup(func())
+}
+
+// NewMockProvider creates a new instance of MockProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
+func NewMockProvider(t mockConstructorTestingTNewMockProvider) *MockProvider {
+ mock := &MockProvider{}
+ mock.Mock.Test(t)
+
+ t.Cleanup(func() { mock.AssertExpectations(t) })
+
+ return mock
+}
diff --git a/plc4go/spi/tracer/mock_TracerProvider_test.go b/plc4go/spi/tracer/mock_TracerProvider_test.go
deleted file mode 100644
index d93aff0bde..0000000000
--- a/plc4go/spi/tracer/mock_TracerProvider_test.go
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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.28.2. DO NOT EDIT.
-
-package tracer
-
-import mock "github.com/stretchr/testify/mock"
-
-// MockTracerProvider is an autogenerated mock type for the TracerProvider type
-type MockTracerProvider struct {
- mock.Mock
-}
-
-type MockTracerProvider_Expecter struct {
- mock *mock.Mock
-}
-
-func (_m *MockTracerProvider) EXPECT() *MockTracerProvider_Expecter {
- return &MockTracerProvider_Expecter{mock: &_m.Mock}
-}
-
-// EnableTracer provides a mock function with given fields:
-func (_m *MockTracerProvider) EnableTracer() {
- _m.Called()
-}
-
-// MockTracerProvider_EnableTracer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'EnableTracer'
-type MockTracerProvider_EnableTracer_Call struct {
- *mock.Call
-}
-
-// EnableTracer is a helper method to define mock.On call
-func (_e *MockTracerProvider_Expecter) EnableTracer() *MockTracerProvider_EnableTracer_Call {
- return &MockTracerProvider_EnableTracer_Call{Call: _e.mock.On("EnableTracer")}
-}
-
-func (_c *MockTracerProvider_EnableTracer_Call) Run(run func()) *MockTracerProvider_EnableTracer_Call {
- _c.Call.Run(func(args mock.Arguments) {
- run()
- })
- return _c
-}
-
-func (_c *MockTracerProvider_EnableTracer_Call) Return() *MockTracerProvider_EnableTracer_Call {
- _c.Call.Return()
- return _c
-}
-
-func (_c *MockTracerProvider_EnableTracer_Call) RunAndReturn(run func()) *MockTracerProvider_EnableTracer_Call {
- _c.Call.Return(run)
- return _c
-}
-
-// GetTracer provides a mock function with given fields:
-func (_m *MockTracerProvider) GetTracer() *Tracer {
- ret := _m.Called()
-
- var r0 *Tracer
- if rf, ok := ret.Get(0).(func() *Tracer); ok {
- r0 = rf()
- } else {
- if ret.Get(0) != nil {
- r0 = ret.Get(0).(*Tracer)
- }
- }
-
- return r0
-}
-
-// MockTracerProvider_GetTracer_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTracer'
-type MockTracerProvider_GetTracer_Call struct {
- *mock.Call
-}
-
-// GetTracer is a helper method to define mock.On call
-func (_e *MockTracerProvider_Expecter) GetTracer() *MockTracerProvider_GetTracer_Call {
- return &MockTracerProvider_GetTracer_Call{Call: _e.mock.On("GetTracer")}
-}
-
-func (_c *MockTracerProvider_GetTracer_Call) Run(run func()) *MockTracerProvider_GetTracer_Call {
- _c.Call.Run(func(args mock.Arguments) {
- run()
- })
- return _c
-}
-
-func (_c *MockTracerProvider_GetTracer_Call) Return(_a0 *Tracer) *MockTracerProvider_GetTracer_Call {
- _c.Call.Return(_a0)
- return _c
-}
-
-func (_c *MockTracerProvider_GetTracer_Call) RunAndReturn(run func() *Tracer) *MockTracerProvider_GetTracer_Call {
- _c.Call.Return(run)
- return _c
-}
-
-type mockConstructorTestingTNewMockTracerProvider interface {
- mock.TestingT
- Cleanup(func())
-}
-
-// NewMockTracerProvider creates a new instance of MockTracerProvider. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
-func NewMockTracerProvider(t mockConstructorTestingTNewMockTracerProvider) *MockTracerProvider {
- mock := &MockTracerProvider{}
- mock.Mock.Test(t)
-
- t.Cleanup(func() { mock.AssertExpectations(t) })
-
- return mock
-}
diff --git a/plc4go/spi/utils/ReadBufferJsonBased_test.go b/plc4go/spi/utils/ReadBufferJsonBased_test.go
index ce06d02a54..9f7aa825c3 100644
--- a/plc4go/spi/utils/ReadBufferJsonBased_test.go
+++ b/plc4go/spi/utils/ReadBufferJsonBased_test.go
@@ -189,7 +189,10 @@ func Test_jsonReadBuffer_HasMore(t *testing.T) {
args args
want bool
}{
- // TODO: Add test cases.
+ {
+ name: "has it",
+ want: true,
+ },
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
diff --git a/plc4go/tools/plc4xgenerator/gen.go b/plc4go/tools/plc4xgenerator/gen.go
index 0591b0d2b9..cd2dbfc2d5 100644
--- a/plc4go/tools/plc4xgenerator/gen.go
+++ b/plc4go/tools/plc4xgenerator/gen.go
@@ -27,7 +27,6 @@ import (
"go/format"
"go/token"
"go/types"
- "io/ioutil"
"log"
"os"
"path/filepath"
@@ -115,7 +114,7 @@ func main() {
baseName := fmt.Sprintf("%s_plc4xgen.go", typeList[0])
outputName = filepath.Join(dir, baseName)
}
- err := ioutil.WriteFile(outputName, src, 0644)
+ err := os.WriteFile(outputName, src, 0644)
if err != nil {
log.Fatalf("writing output: %s", err)
}