From 2b8f98cbed1d573a8a7877effce14e6843df5ec1 Mon Sep 17 00:00:00 2001 From: Gabriel Paradiso Date: Mon, 10 Feb 2025 16:37:54 +0100 Subject: [PATCH] fix: tests --- .../workflows/syncer/workflow_syncer_test.go | 21 +++++++++++++++++-- .../workflows/syncerlimiter/limiter_test.go | 3 ++- .../testdata/config-empty-effective.toml | 4 ++++ core/web/resolver/testdata/config-full.toml | 4 ++++ .../config-multi-chain-effective.toml | 4 ++++ go.mod | 1 - .../scripts/config/merge_raw_configs.txtar | 2 ++ testdata/scripts/node/validate/default.txtar | 4 ++++ .../node/validate/defaults-override.txtar | 4 ++++ .../disk-based-logging-disabled.txtar | 4 ++++ .../validate/disk-based-logging-no-dir.txtar | 4 ++++ .../node/validate/disk-based-logging.txtar | 4 ++++ .../node/validate/fallback-override.txtar | 4 ++++ .../node/validate/invalid-ocr-p2p.txtar | 4 ++++ testdata/scripts/node/validate/invalid.txtar | 4 ++++ testdata/scripts/node/validate/valid.txtar | 4 ++++ testdata/scripts/node/validate/warnings.txtar | 4 ++++ 17 files changed, 75 insertions(+), 4 deletions(-) diff --git a/core/services/relay/evm/capabilities/workflows/syncer/workflow_syncer_test.go b/core/services/relay/evm/capabilities/workflows/syncer/workflow_syncer_test.go index ca9674700c9..36feeeea95b 100644 --- a/core/services/relay/evm/capabilities/workflows/syncer/workflow_syncer_test.go +++ b/core/services/relay/evm/capabilities/workflows/syncer/workflow_syncer_test.go @@ -33,6 +33,7 @@ import ( "github.com/smartcontractkit/chainlink/v2/core/services/workflows" "github.com/smartcontractkit/chainlink/v2/core/services/workflows/ratelimiter" "github.com/smartcontractkit/chainlink/v2/core/services/workflows/syncer" + "github.com/smartcontractkit/chainlink/v2/core/services/workflows/syncerlimiter" "github.com/smartcontractkit/chainlink/v2/core/utils/crypto" "github.com/stretchr/testify/require" @@ -47,6 +48,11 @@ var rlConfig = ratelimiter.Config{ PerSenderBurst: 30, } +var wlConfig = syncerlimiter.Config{ + Global: 50, + PerOwner: 10, +} + type testEvtHandler struct { events []syncer.Event mux sync.Mutex @@ -354,9 +360,13 @@ func Test_SecretsWorker(t *testing.T) { rl, err := ratelimiter.NewRateLimiter(rlConfig) require.NoError(t, err) + + wl, err := syncerlimiter.NewWorkflowLimits(wlConfig) + require.NoError(t, err) + handler := &testSecretsWorkEventHandler{ wrappedHandler: syncer.NewEventHandler(lggr, orm, fetcherFn, nil, nil, - emitter, clockwork.NewFakeClock(), workflowkey.Key{}, rl), + emitter, clockwork.NewFakeClock(), workflowkey.Key{}, rl, wl), registeredCh: make(chan syncer.Event, 1), } @@ -438,8 +448,12 @@ func Test_RegistrySyncer_WorkflowRegistered_InitiallyPaused(t *testing.T) { er := syncer.NewEngineRegistry() rl, err := ratelimiter.NewRateLimiter(rlConfig) require.NoError(t, err) + + wl, err := syncerlimiter.NewWorkflowLimits(wlConfig) + require.NoError(t, err) + handler := syncer.NewEventHandler(lggr, orm, fetcherFn, nil, nil, - emitter, clockwork.NewFakeClock(), workflowkey.Key{}, rl, syncer.WithEngineRegistry(er)) + emitter, clockwork.NewFakeClock(), workflowkey.Key{}, rl, wl, syncer.WithEngineRegistry(er)) worker := syncer.NewWorkflowRegistry( lggr, @@ -538,6 +552,8 @@ func Test_RegistrySyncer_WorkflowRegistered_InitiallyActivated(t *testing.T) { er := syncer.NewEngineRegistry() rl, err := ratelimiter.NewRateLimiter(rlConfig) require.NoError(t, err) + wl, err := syncerlimiter.NewWorkflowLimits(wlConfig) + require.NoError(t, err) handler := syncer.NewEventHandler( lggr, orm, @@ -548,6 +564,7 @@ func Test_RegistrySyncer_WorkflowRegistered_InitiallyActivated(t *testing.T) { clockwork.NewFakeClock(), workflowkey.Key{}, rl, + wl, syncer.WithEngineRegistry(er), syncer.WithEngineFactoryFn(mf.new), ) diff --git a/core/services/workflows/syncerlimiter/limiter_test.go b/core/services/workflows/syncerlimiter/limiter_test.go index 4929597381a..6c5165f4b15 100644 --- a/core/services/workflows/syncerlimiter/limiter_test.go +++ b/core/services/workflows/syncerlimiter/limiter_test.go @@ -3,8 +3,9 @@ package syncerlimiter_test import ( "testing" + "github.com/stretchr/testify/require" + "github.com/smartcontractkit/chainlink/v2/core/services/workflows/syncerlimiter" - "github.com/test-go/testify/require" ) func TestWorkflowLimits(t *testing.T) { diff --git a/core/web/resolver/testdata/config-empty-effective.toml b/core/web/resolver/testdata/config-empty-effective.toml index c592e0e5fd5..f9fb54a7548 100644 --- a/core/web/resolver/testdata/config-empty-effective.toml +++ b/core/web/resolver/testdata/config-empty-effective.toml @@ -287,6 +287,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/core/web/resolver/testdata/config-full.toml b/core/web/resolver/testdata/config-full.toml index 9888e2583fe..707aa9a198f 100644 --- a/core/web/resolver/testdata/config-full.toml +++ b/core/web/resolver/testdata/config-full.toml @@ -297,6 +297,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '11155111' NodeAddress = '0x68902d681c28119f9b2531473a417088bf008e59' diff --git a/core/web/resolver/testdata/config-multi-chain-effective.toml b/core/web/resolver/testdata/config-multi-chain-effective.toml index 54d9527801f..bde5e39a504 100644 --- a/core/web/resolver/testdata/config-multi-chain-effective.toml +++ b/core/web/resolver/testdata/config-multi-chain-effective.toml @@ -287,6 +287,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/go.mod b/go.mod index 42ca3495581..754a29d8eb8 100644 --- a/go.mod +++ b/go.mod @@ -324,7 +324,6 @@ require ( github.com/supranational/blst v0.3.13 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect - github.com/test-go/testify v1.1.4 github.com/tidwall/match v1.1.1 // indirect github.com/tidwall/pretty v1.2.1 // indirect github.com/tklauser/go-sysconf v0.3.12 // indirect diff --git a/testdata/scripts/config/merge_raw_configs.txtar b/testdata/scripts/config/merge_raw_configs.txtar index 8d170316a3c..54645a53093 100644 --- a/testdata/scripts/config/merge_raw_configs.txtar +++ b/testdata/scripts/config/merge_raw_configs.txtar @@ -433,6 +433,8 @@ ChainID = '1' MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' + +[Capabilities.WorkflowRegistry.Limits] WorkflowsGlobalLimit = 50 WorkflowsPerOwnerLimit = 5 diff --git a/testdata/scripts/node/validate/default.txtar b/testdata/scripts/node/validate/default.txtar index 0fac0605378..b1c76963c95 100644 --- a/testdata/scripts/node/validate/default.txtar +++ b/testdata/scripts/node/validate/default.txtar @@ -299,6 +299,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/defaults-override.txtar b/testdata/scripts/node/validate/defaults-override.txtar index a8f6e49d7ad..c138122cc2f 100644 --- a/testdata/scripts/node/validate/defaults-override.txtar +++ b/testdata/scripts/node/validate/defaults-override.txtar @@ -360,6 +360,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/disk-based-logging-disabled.txtar b/testdata/scripts/node/validate/disk-based-logging-disabled.txtar index 1710fcbda3c..922a998d379 100644 --- a/testdata/scripts/node/validate/disk-based-logging-disabled.txtar +++ b/testdata/scripts/node/validate/disk-based-logging-disabled.txtar @@ -343,6 +343,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar b/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar index c7130459520..4378a5f051d 100644 --- a/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar +++ b/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar @@ -343,6 +343,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/disk-based-logging.txtar b/testdata/scripts/node/validate/disk-based-logging.txtar index 38b1a862264..53646a5c76b 100644 --- a/testdata/scripts/node/validate/disk-based-logging.txtar +++ b/testdata/scripts/node/validate/disk-based-logging.txtar @@ -343,6 +343,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/fallback-override.txtar b/testdata/scripts/node/validate/fallback-override.txtar index 5d2b722a524..55790703695 100644 --- a/testdata/scripts/node/validate/fallback-override.txtar +++ b/testdata/scripts/node/validate/fallback-override.txtar @@ -437,6 +437,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/invalid-ocr-p2p.txtar b/testdata/scripts/node/validate/invalid-ocr-p2p.txtar index 8f88cce9eed..d3b9fd6e479 100644 --- a/testdata/scripts/node/validate/invalid-ocr-p2p.txtar +++ b/testdata/scripts/node/validate/invalid-ocr-p2p.txtar @@ -328,6 +328,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/invalid.txtar b/testdata/scripts/node/validate/invalid.txtar index 87628948b54..986201f5e22 100644 --- a/testdata/scripts/node/validate/invalid.txtar +++ b/testdata/scripts/node/validate/invalid.txtar @@ -333,6 +333,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/valid.txtar b/testdata/scripts/node/validate/valid.txtar index 4695a4ac99b..5f548a99c19 100644 --- a/testdata/scripts/node/validate/valid.txtar +++ b/testdata/scripts/node/validate/valid.txtar @@ -340,6 +340,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = '' diff --git a/testdata/scripts/node/validate/warnings.txtar b/testdata/scripts/node/validate/warnings.txtar index ce0a094de79..22dc0f58a81 100644 --- a/testdata/scripts/node/validate/warnings.txtar +++ b/testdata/scripts/node/validate/warnings.txtar @@ -322,6 +322,10 @@ MaxBinarySize = '20.00mb' MaxEncryptedSecretsSize = '26.40kb' MaxConfigSize = '50.00kb' +[Capabilities.WorkflowRegistry.Limits] +WorkflowsGlobalLimit = 50 +WorkflowsPerOwnerLimit = 5 + [Capabilities.GatewayConnector] ChainIDForNodeKey = '' NodeAddress = ''