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/15 09:21:00 UTC
[plc4x] branch develop updated: test(plc4go): streamline ...options production
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 4e205c7e20 test(plc4go): streamline ...options production
4e205c7e20 is described below
commit 4e205c7e20bbc5fdd20649e9018849188782b4af
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Thu Jun 15 11:20:51 2023 +0200
test(plc4go): streamline ...options production
---
plc4go/internal/cbus/Browser_test.go | 23 +--
plc4go/internal/cbus/CBusMessageMapper_test.go | 22 +++
plc4go/internal/cbus/Connection_test.go | 238 ++++++++---------------
plc4go/internal/cbus/Discoverer_test.go | 8 +-
plc4go/internal/cbus/Driver_test.go | 2 +-
plc4go/internal/cbus/MessageCodec_test.go | 133 +++++--------
plc4go/internal/cbus/Reader_test.go | 141 +++++---------
plc4go/pkg/api/cache/connectionContainer_test.go | 6 +-
plc4go/spi/pool/WorkerPool.go | 26 +--
plc4go/spi/testutils/TestUtils.go | 16 ++
10 files changed, 245 insertions(+), 370 deletions(-)
diff --git a/plc4go/internal/cbus/Browser_test.go b/plc4go/internal/cbus/Browser_test.go
index 3d3d813143..377e5b4462 100644
--- a/plc4go/internal/cbus/Browser_test.go
+++ b/plc4go/internal/cbus/Browser_test.go
@@ -22,7 +22,6 @@ package cbus
import (
"context"
"fmt"
- "github.com/apache/plc4x/plc4go/spi/pool"
"net/url"
"sync"
"sync/atomic"
@@ -35,7 +34,6 @@ import (
readWriteModel "github.com/apache/plc4x/plc4go/protocols/cbus/readwrite/model"
_default "github.com/apache/plc4x/plc4go/spi/default"
spiModel "github.com/apache/plc4x/plc4go/spi/model"
- "github.com/apache/plc4x/plc4go/spi/options"
"github.com/apache/plc4x/plc4go/spi/testutils"
"github.com/apache/plc4x/plc4go/spi/transports"
"github.com/apache/plc4x/plc4go/spi/transports/test"
@@ -87,15 +85,11 @@ func TestBrowser_BrowseQuery(t *testing.T) {
query: NewUnitInfoQuery(readWriteModel.NewUnitAddress(2), nil, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
t.Cleanup(func() {
assert.NoError(t, transportInstance.Close())
@@ -160,7 +154,7 @@ func TestBrowser_BrowseQuery(t *testing.T) {
})
err = transport.AddPreregisteredInstances(transportUrl, transportInstance)
require.NoError(t, err)
- driver := NewDriver(loggerOption)
+ driver := NewDriver(_options...)
connectionConnectResult := <-driver.GetConnection(transportUrl, map[string]transports.Transport{"test": transport}, map[string][]string{})
if err := connectionConnectResult.GetErr(); err != nil {
t.Error(err)
@@ -358,14 +352,7 @@ func TestBrowser_getInstalledUnitAddressBytes(t *testing.T) {
ctx: context.Background(),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom options for that
- _options := []options.WithOption{
- options.WithCustomLogger(logger),
- pool.WithExecutorOptionTracerWorkers(true),
- }
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
diff --git a/plc4go/internal/cbus/CBusMessageMapper_test.go b/plc4go/internal/cbus/CBusMessageMapper_test.go
index 30c3a32b09..5f6fbe1262 100644
--- a/plc4go/internal/cbus/CBusMessageMapper_test.go
+++ b/plc4go/internal/cbus/CBusMessageMapper_test.go
@@ -1471,6 +1471,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)))),
)
t.Cleanup(func() {
@@ -1542,6 +1543,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -1617,6 +1619,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -1681,6 +1684,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -1735,6 +1739,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -1792,6 +1797,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -1869,6 +1875,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -1964,6 +1971,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2022,6 +2030,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2076,6 +2085,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2130,6 +2140,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2184,6 +2195,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2238,6 +2250,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2312,6 +2325,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2366,6 +2380,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2420,6 +2435,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2474,6 +2490,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2528,6 +2545,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2582,6 +2600,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2652,6 +2671,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2706,6 +2726,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
@@ -2760,6 +2781,7 @@ func TestMapEncodedReply(t *testing.T) {
transactionManager := transactions.NewRequestTransactionManager(
1,
options.WithCustomLogger(testutils.ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
transactions.WithCustomExecutor(
pool.NewFixedSizeExecutor(10, 50, options.WithCustomLogger(testutils.ProduceTestingLogger(t)), pool.WithExecutorOptionTracerWorkers(true)),
),
diff --git a/plc4go/internal/cbus/Connection_test.go b/plc4go/internal/cbus/Connection_test.go
index a70456ac05..4a39a2d69a 100644
--- a/plc4go/internal/cbus/Connection_test.go
+++ b/plc4go/internal/cbus/Connection_test.go
@@ -178,18 +178,14 @@ func TestConnection_ConnectWithContext(t *testing.T) {
},
args: args{ctx: context.Background()},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Build the default connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -854,16 +850,13 @@ func TestConnection_fireConnectionError(t *testing.T) {
{
name: "instant connect",
setup: func(t *testing.T, fields *fields, args *args) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -881,16 +874,13 @@ func TestConnection_fireConnectionError(t *testing.T) {
},
},
setup: func(t *testing.T, fields *fields, args *args) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- loggerOption := options.WithCustomLogger(logger)
-
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -968,17 +958,13 @@ func TestConnection_sendCalDataWrite(t *testing.T) {
}(),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -1049,16 +1035,13 @@ func TestConnection_sendReset(t *testing.T) {
sendOutErrorNotification: false,
},
setup: func(t *testing.T, fields *fields, args *args) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- loggerOption := options.WithCustomLogger(logger)
-
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -1127,18 +1110,14 @@ func TestConnection_setApplicationFilter(t *testing.T) {
}(),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Setup connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -1207,18 +1186,14 @@ func TestConnection_setInterface1PowerUpSettings(t *testing.T) {
}(),
},
setup: func(t *testing.T, fields *fields, args *args) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Setup connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -1287,18 +1262,14 @@ func TestConnection_setInterfaceOptions1(t *testing.T) {
}(),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Setup connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -1367,18 +1338,14 @@ func TestConnection_setInterfaceOptions3(t *testing.T) {
}(),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Setup connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -1436,18 +1403,14 @@ func TestConnection_setupConnection(t *testing.T) {
ch: make(chan plc4go.PlcConnectionConnectResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Setup connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -1461,19 +1424,15 @@ func TestConnection_setupConnection(t *testing.T) {
ch: make(chan plc4go.PlcConnectionConnectResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Build the default connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
// Build the message codec
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- ti, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ ti, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -1495,7 +1454,7 @@ func TestConnection_setupConnection(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
@@ -1511,19 +1470,15 @@ func TestConnection_setupConnection(t *testing.T) {
ch: make(chan plc4go.PlcConnectionConnectResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Build the default connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
// Build the message codec
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- ti, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ ti, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -1557,7 +1512,7 @@ func TestConnection_setupConnection(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
@@ -1573,19 +1528,15 @@ func TestConnection_setupConnection(t *testing.T) {
ch: make(chan plc4go.PlcConnectionConnectResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Build the default connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
// Build the message codec
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- ti, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ ti, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -1625,7 +1576,7 @@ func TestConnection_setupConnection(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
@@ -1641,19 +1592,15 @@ func TestConnection_setupConnection(t *testing.T) {
ch: make(chan plc4go.PlcConnectionConnectResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Build the default connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
// Build the message codec
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- ti, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ ti, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -1699,7 +1646,7 @@ func TestConnection_setupConnection(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
@@ -1718,18 +1665,14 @@ func TestConnection_setupConnection(t *testing.T) {
ch: make(chan plc4go.PlcConnectionConnectResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
// Build the default connection
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
// Build the message codec
- transport := test.NewTransport(loggerOption)
- ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, loggerOption)
+ transport := test.NewTransport(_options...)
+ ti, err := transport.CreateTransportInstance(url.URL{Scheme: "test"}, nil, _options...)
type MockState uint8
const (
@@ -1782,7 +1725,7 @@ func TestConnection_setupConnection(t *testing.T) {
}
})
require.NoError(t, err)
- codec := NewMessageCodec(ti, loggerOption)
+ codec := NewMessageCodec(ti, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -1831,26 +1774,21 @@ func TestConnection_startSubscriptionHandler(t *testing.T) {
{
name: "just start",
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- fields.DefaultConnection = _default.NewDefaultConnection(nil, loggerOption)
+ fields.DefaultConnection = _default.NewDefaultConnection(nil, _options...)
},
},
{
name: "just start and feed (no subs)",
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- defaultConnection := _default.NewDefaultConnection(nil, loggerOption)
+ defaultConnection := _default.NewDefaultConnection(nil, _options...)
defaultConnection.SetConnected(true)
fields.DefaultConnection = defaultConnection
- codec := NewMessageCodec(nil, loggerOption)
+ codec := NewMessageCodec(nil, _options...)
go func() {
codec.monitoredMMIs <- nil
codec.monitoredSALs <- nil
@@ -1864,16 +1802,14 @@ func TestConnection_startSubscriptionHandler(t *testing.T) {
{
name: "just start and feed",
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- defaultConnection := _default.NewDefaultConnection(nil, loggerOption)
+ defaultConnection := _default.NewDefaultConnection(nil, _options...)
defaultConnection.SetConnected(true)
fields.DefaultConnection = defaultConnection
fields.subscribers = []*Subscriber{NewSubscriber(nil, options.WithCustomLogger(testutils.ProduceTestingLogger(t)))}
- codec := NewMessageCodec(nil, loggerOption)
+ codec := NewMessageCodec(nil, _options...)
go func() {
codec.monitoredMMIs <- readWriteModel.NewCALReplyShort(0, nil, nil, nil)
codec.monitoredSALs <- readWriteModel.NewMonitoredSAL(0, nil)
@@ -1922,12 +1858,10 @@ func TestNewConnection(t *testing.T) {
{
name: "just create the connection",
setup: func(t *testing.T, args *args) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- codec := NewMessageCodec(test.NewTransportInstance(transport, loggerOption), loggerOption)
+ transport := test.NewTransport(_options...)
+ codec := NewMessageCodec(test.NewTransportInstance(transport, _options...), _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
diff --git a/plc4go/internal/cbus/Discoverer_test.go b/plc4go/internal/cbus/Discoverer_test.go
index 2620a6da8b..3088d4aa65 100644
--- a/plc4go/internal/cbus/Discoverer_test.go
+++ b/plc4go/internal/cbus/Discoverer_test.go
@@ -198,14 +198,12 @@ func TestDiscoverer_createDeviceScanDispatcher(t *testing.T) {
}
})
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- loggerOption := options.WithCustomLogger(logger)
- transport := tcp.NewTransport(loggerOption)
+ transport := tcp.NewTransport(_options...)
parse, err := url.Parse("tcp://" + listen.Addr().String())
require.NoError(t, err)
- instance, err := transport.CreateTransportInstance(*parse, nil, loggerOption)
+ instance, err := transport.CreateTransportInstance(*parse, nil, _options...)
require.NoError(t, err)
args.tcpTransportInstance = instance.(*tcp.TransportInstance)
},
diff --git a/plc4go/internal/cbus/Driver_test.go b/plc4go/internal/cbus/Driver_test.go
index 54d0d6a6f4..cee718f5ff 100644
--- a/plc4go/internal/cbus/Driver_test.go
+++ b/plc4go/internal/cbus/Driver_test.go
@@ -87,8 +87,8 @@ func TestDriver_DiscoverWithContext(t *testing.T) {
tm: tt.fields.tm,
awaitSetupComplete: tt.fields.awaitSetupComplete,
awaitDisconnectComplete: tt.fields.awaitDisconnectComplete,
+ log: testutils.ProduceTestingLogger(t),
}
- m.log = testutils.ProduceTestingLogger(t)
tt.wantErr(t, m.DiscoverWithContext(tt.args.ctx, tt.args.callback, tt.args.discoveryOptions...), fmt.Sprintf("DiscoverWithContext(%v, func()*, %v)", tt.args.ctx, tt.args.discoveryOptions))
})
}
diff --git a/plc4go/internal/cbus/MessageCodec_test.go b/plc4go/internal/cbus/MessageCodec_test.go
index b3c175f926..142e26b2cc 100644
--- a/plc4go/internal/cbus/MessageCodec_test.go
+++ b/plc4go/internal/cbus/MessageCodec_test.go
@@ -26,7 +26,6 @@ import (
readWriteModel "github.com/apache/plc4x/plc4go/protocols/cbus/readwrite/model"
"github.com/apache/plc4x/plc4go/spi"
_default "github.com/apache/plc4x/plc4go/spi/default"
- "github.com/apache/plc4x/plc4go/spi/options"
"github.com/apache/plc4x/plc4go/spi/testutils"
"github.com/apache/plc4x/plc4go/spi/transports"
"github.com/apache/plc4x/plc4go/spi/transports/test"
@@ -65,14 +64,11 @@ func TestMessageCodec_Send(t *testing.T) {
), nil, nil,
)},
setup: func(t *testing.T, fields *fields, args *args) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
- codec := NewMessageCodec(instance, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -126,14 +122,11 @@ func TestMessageCodec_Receive(t *testing.T) {
monitoredSALs: nil,
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
- codec := NewMessageCodec(instance, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -156,15 +149,12 @@ func TestMessageCodec_Receive(t *testing.T) {
requestContext, cbusOptions,
),
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
instance.FillReadBuffer([]byte("!"))
- codec := NewMessageCodec(instance, loggerOption)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -181,15 +171,12 @@ func TestMessageCodec_Receive(t *testing.T) {
monitoredSALs: nil,
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
instance.FillReadBuffer([]byte("@A62120\r@A62120\r"))
- codec := NewMessageCodec(instance, loggerOption)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -206,15 +193,12 @@ func TestMessageCodec_Receive(t *testing.T) {
monitoredSALs: nil,
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
instance.FillReadBuffer([]byte("what on earth\n\r"))
- codec := NewMessageCodec(instance, loggerOption)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -231,15 +215,12 @@ func TestMessageCodec_Receive(t *testing.T) {
monitoredSALs: nil,
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
instance.FillReadBuffer([]byte("AFFE!!!\r"))
- codec := NewMessageCodec(instance, loggerOption)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -288,15 +269,12 @@ func TestMessageCodec_Receive(t *testing.T) {
requestContext, cbusOptions,
),
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
instance.FillReadBuffer([]byte("@1A2001!!!\r"))
- codec := NewMessageCodec(instance, loggerOption)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -313,15 +291,12 @@ func TestMessageCodec_Receive(t *testing.T) {
monitoredSALs: nil,
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
instance.FillReadBuffer([]byte("86040200F940380001000000000000000008000000000000000000000000FA\r\n"))
- codec := NewMessageCodec(instance, loggerOption)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -523,15 +498,12 @@ func TestMessageCodec_Receive(t *testing.T) {
messageCodec.currentlyReportedServerErrors.Store(9999)
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- instance := test.NewTransportInstance(transport, loggerOption)
+ transport := test.NewTransport(_options...)
+ instance := test.NewTransportInstance(transport, _options...)
instance.FillReadBuffer([]byte("0531AC0079042F0401430316000011\r\n"))
- codec := NewMessageCodec(instance, loggerOption)
+ codec := NewMessageCodec(instance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -618,14 +590,11 @@ func TestMessageCodec_Receive(t *testing.T) {
func TestMessageCodec_Receive_Delayed_Response(t *testing.T) {
t.Run("instant data", func(t *testing.T) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
- transportInstance := test.NewTransportInstance(transport, loggerOption)
- codec := NewMessageCodec(transportInstance, loggerOption)
+ transport := test.NewTransport(_options...)
+ transportInstance := test.NewTransportInstance(transport, _options...)
+ codec := NewMessageCodec(transportInstance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -657,14 +626,11 @@ func TestMessageCodec_Receive_Delayed_Response(t *testing.T) {
assert.True(t, msg.(readWriteModel.CBusMessageToClient).GetReply().GetIsAlpha())
})
t.Run("data after 6 times", func(t *testing.T) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- transportInstance := test.NewTransportInstance(transport, loggerOption)
- codec := NewMessageCodec(transportInstance, loggerOption)
+ transport := test.NewTransport(_options...)
+ transportInstance := test.NewTransportInstance(transport, _options...)
+ codec := NewMessageCodec(transportInstance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
@@ -699,14 +665,11 @@ func TestMessageCodec_Receive_Delayed_Response(t *testing.T) {
assert.True(t, msg.(readWriteModel.CBusMessageToClient).GetReply().GetIsAlpha())
})
t.Run("data after 15 times", func(t *testing.T) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
- transportInstance := test.NewTransportInstance(transport, loggerOption)
- codec := NewMessageCodec(transportInstance, loggerOption)
+ transport := test.NewTransport(_options...)
+ transportInstance := test.NewTransportInstance(transport, _options...)
+ codec := NewMessageCodec(transportInstance, _options...)
t.Cleanup(func() {
assert.Error(t, codec.Disconnect())
})
diff --git a/plc4go/internal/cbus/Reader_test.go b/plc4go/internal/cbus/Reader_test.go
index bf1807f0dd..cc017ac3a0 100644
--- a/plc4go/internal/cbus/Reader_test.go
+++ b/plc4go/internal/cbus/Reader_test.go
@@ -177,23 +177,19 @@ func TestReader_readSync(t *testing.T) {
result: make(chan apiModel.PlcReadRequestResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport()
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
})
fields.messageCodec = codec
- fields.tm = transactions.NewRequestTransactionManager(10, options.WithCustomLogger(testutils.ProduceTestingLogger(t)))
+ fields.tm = transactions.NewRequestTransactionManager(10, _options...)
},
resultEvaluator: func(t *testing.T, results chan apiModel.PlcReadRequestResult) bool {
timer := time.NewTimer(2 * time.Second)
@@ -256,15 +252,12 @@ func TestReader_readSync(t *testing.T) {
result: make(chan apiModel.PlcReadRequestResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- fields.tm = transactions.NewRequestTransactionManager(10, loggerOption)
+ fields.tm = transactions.NewRequestTransactionManager(10, _options...)
transport := test.NewTransport()
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -286,7 +279,7 @@ func TestReader_readSync(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -334,18 +327,15 @@ func TestReader_readSync(t *testing.T) {
result: make(chan apiModel.PlcReadRequestResult, 1),
},
setup: func(t *testing.T, fields *fields) {
- fields.tm = transactions.NewRequestTransactionManager(10, options.WithCustomLogger(testutils.ProduceTestingLogger(t)))
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
+ fields.tm = transactions.NewRequestTransactionManager(10, _options...)
transport := test.NewTransport()
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -428,13 +418,13 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
},
},
setup: func(t *testing.T, fields *fields, args *args, ch chan struct{}) {
- loggerOption := options.WithCustomLogger(testutils.ProduceTestingLogger(t))
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -491,12 +481,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
},
},
setup: func(t *testing.T, fields *fields, args *args, ch chan struct{}) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
-
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
transaction := NewMockRequestTransaction(t)
expect := transaction.EXPECT()
expect.FailRequest(mock.Anything).Return(errors.New("Nope")).Run(func(_ error) {
@@ -504,9 +489,9 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
})
args.transaction = transaction
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -528,7 +513,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -578,15 +563,11 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
},
},
setup: func(t *testing.T, fields *fields, args *args, ch chan struct{}) {
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- // Custom option for that
- loggerOption := options.WithCustomLogger(logger)
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -608,7 +589,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -674,15 +655,11 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
close(ch)
})
args.transaction = transaction
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -704,7 +681,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -763,15 +740,11 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
close(ch)
})
args.transaction = transaction
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -793,7 +766,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -852,15 +825,11 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
close(ch)
})
args.transaction = transaction
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -882,7 +851,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -941,15 +910,11 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
close(ch)
})
args.transaction = transaction
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -971,7 +936,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -1030,15 +995,11 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
close(ch)
})
args.transaction = transaction
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -1060,7 +1021,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
@@ -1119,15 +1080,11 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
close(ch)
})
args.transaction = transaction
+ _options := testutils.EnrichOptionsWithOptionsForTesting(t)
- // Setup logger
- logger := testutils.ProduceTestingLogger(t)
-
- loggerOption := options.WithCustomLogger(logger)
-
- transport := test.NewTransport(loggerOption)
+ transport := test.NewTransport(_options...)
transportUrl := url.URL{Scheme: "test"}
- transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, loggerOption)
+ transportInstance, err := transport.CreateTransportInstance(transportUrl, nil, _options...)
require.NoError(t, err)
type MockState uint8
const (
@@ -1149,7 +1106,7 @@ func TestReader_sendMessageOverTheWire(t *testing.T) {
t.Log("Done")
}
})
- codec := NewMessageCodec(transportInstance, loggerOption)
+ codec := NewMessageCodec(transportInstance, _options...)
require.NoError(t, codec.Connect())
t.Cleanup(func() {
assert.NoError(t, codec.Disconnect())
diff --git a/plc4go/pkg/api/cache/connectionContainer_test.go b/plc4go/pkg/api/cache/connectionContainer_test.go
index 8e8227dc78..fcc74ca2aa 100644
--- a/plc4go/pkg/api/cache/connectionContainer_test.go
+++ b/plc4go/pkg/api/cache/connectionContainer_test.go
@@ -26,7 +26,6 @@ import (
"github.com/apache/plc4x/plc4go/pkg/api/config"
"github.com/apache/plc4x/plc4go/spi/options"
"github.com/apache/plc4x/plc4go/spi/testutils"
- "github.com/rs/zerolog"
"github.com/stretchr/testify/assert"
"github.com/viney-shih/go-lock"
"testing"
@@ -186,7 +185,6 @@ func Test_connectionContainer_connect(t1 *testing.T) {
func Test_connectionContainer_lease(t1 *testing.T) {
type fields struct {
- log zerolog.Logger
lock lock.RWMutex
connectionString string
driverManager plc4go.PlcDriverManager
@@ -214,8 +212,6 @@ func Test_connectionContainer_lease(t1 *testing.T) {
setup: func(t *testing.T, fields *fields) {
logger := testutils.ProduceTestingLogger(t)
- fields.log = logger
-
driverManager := plc4go.NewPlcDriverManager(config.WithCustomLogger(logger))
driverManager.RegisterDriver(simulated.NewDriver(options.WithCustomLogger(logger)))
fields.driverManager = driverManager
@@ -229,7 +225,7 @@ func Test_connectionContainer_lease(t1 *testing.T) {
tt.setup(t, &tt.fields)
}
c := &connectionContainer{
- log: tt.fields.log,
+ log: testutils.ProduceTestingLogger(t),
lock: tt.fields.lock,
connectionString: tt.fields.connectionString,
driverManager: tt.fields.driverManager,
diff --git a/plc4go/spi/pool/WorkerPool.go b/plc4go/spi/pool/WorkerPool.go
index 82d0e7a4a1..bc20ebeaa8 100644
--- a/plc4go/spi/pool/WorkerPool.go
+++ b/plc4go/spi/pool/WorkerPool.go
@@ -58,12 +58,7 @@ func NewFixedSizeExecutor(numberOfWorkers, queueDepth int, _options ...options.W
worker: workers,
log: customLogger,
}
- for _, option := range _options {
- switch option := option.(type) {
- case *tracerWorkersOption:
- _executor.traceWorkers = option.traceWorkers
- }
- }
+ _executor.traceWorkers, _ = ExtractTracerWorkers(_options...)
for i := 0; i < numberOfWorkers; i++ {
workers[i].executor = _executor
}
@@ -80,12 +75,7 @@ func NewDynamicExecutor(maxNumberOfWorkers, queueDepth int, _options ...options.
},
maxNumberOfWorkers: maxNumberOfWorkers,
}
- for _, option := range _options {
- switch option := option.(type) {
- case *tracerWorkersOption:
- _executor.traceWorkers = option.traceWorkers
- }
- }
+ _executor.traceWorkers, _ = ExtractTracerWorkers(_options...)
// We spawn one initial worker
w := worker{
id: 0,
@@ -98,10 +88,22 @@ func NewDynamicExecutor(maxNumberOfWorkers, queueDepth int, _options ...options.
return _executor
}
+// WithExecutorOptionTracerWorkers sets a flag which extends logging for workers
func WithExecutorOptionTracerWorkers(traceWorkers bool) options.WithOption {
return &tracerWorkersOption{traceWorkers: traceWorkers}
}
+// ExtractTracerWorkers returns the value from WithExecutorOptionTracerWorkers
+func ExtractTracerWorkers(_options ...options.WithOption) (traceWorkers bool, found bool) {
+ for _, option := range _options {
+ switch option := option.(type) {
+ case *tracerWorkersOption:
+ return option.traceWorkers, true
+ }
+ }
+ return false, false
+}
+
///////////////////////////////////////
///////////////////////////////////////
//
diff --git a/plc4go/spi/testutils/TestUtils.go b/plc4go/spi/testutils/TestUtils.go
index f51fb75161..2e0752a932 100644
--- a/plc4go/spi/testutils/TestUtils.go
+++ b/plc4go/spi/testutils/TestUtils.go
@@ -26,6 +26,8 @@ import (
"strings"
"testing"
+ "github.com/apache/plc4x/plc4go/spi/options"
+ "github.com/apache/plc4x/plc4go/spi/pool"
"github.com/apache/plc4x/plc4go/spi/utils"
"github.com/ajankovic/xdiff"
@@ -131,6 +133,20 @@ func ProduceTestingLogger(t *testing.T) zerolog.Logger {
)
}
+// EnrichOptionsWithOptionsForTesting appends options useful for testing to config.WithOption s
+func EnrichOptionsWithOptionsForTesting(t *testing.T, _options ...options.WithOption) []options.WithOption {
+ traceWorkers := true
+ if extractedTraceWorkers, found := pool.ExtractTracerWorkers(_options...); found {
+ traceWorkers = extractedTraceWorkers
+ }
+ // TODO: apply to other options like above
+ return append(_options,
+ options.WithCustomLogger(ProduceTestingLogger(t)),
+ options.WithPassLoggerToModel(true),
+ pool.WithExecutorOptionTracerWorkers(traceWorkers),
+ )
+}
+
type _explodingGlobalLogger struct {
hardExplode bool
}