@@ -9,9 +9,11 @@ import (
99
1010 "google.golang.org/protobuf/types/known/emptypb"
1111
12+ "github.com/smartcontractkit/chainlink-common/pkg/capabilities/v2/protoc/pkg/test_capabilities/basictrigger"
1213 "github.com/smartcontractkit/chainlink-common/pkg/logger"
1314 "github.com/smartcontractkit/chainlink-protos/cre/go/sdk"
1415
16+ mock "github.com/stretchr/testify/mock"
1517 "github.com/stretchr/testify/require"
1618)
1719
@@ -89,6 +91,44 @@ func Test_NoDag_Run(t *testing.T) {
8991 })
9092}
9193
94+ func Test_NoDAG_LoggingWithLimits (t * testing.T ) {
95+ t .Parallel ()
96+ mockExecutionHelper := NewMockExecutionHelper (t )
97+ mockExecutionHelper .EXPECT ().GetWorkflowExecutionID ().Return ("id" )
98+ mockExecutionHelper .EXPECT ().GetNodeTime ().RunAndReturn (func () time.Time {
99+ return time .Now ()
100+ }).Maybe ()
101+ mockExecutionHelper .EXPECT ().GetDONTime ().RunAndReturn (func () (time.Time , error ) {
102+ return time .Now (), nil
103+ }).Maybe ()
104+
105+ logs := []string {}
106+ mockExecutionHelper .EXPECT ().EmitUserLog (mock .Anything ).RunAndReturn (func (s string ) error {
107+ logs = append (logs , s )
108+ return nil
109+ })
110+
111+ trigger := & basictrigger.Outputs {CoolOutput : anyTestTriggerValue }
112+ executeRequest := triggerExecuteRequest (t , 0 , trigger )
113+ cfg := & ModuleConfig {
114+ Logger : logger .Test (t ),
115+ IsUncompressed : true ,
116+ MaxLogLenBytes : 20 ,
117+ MaxLogCountDONMode : 3 ,
118+ MaxLogCountNodeMode : 3 ,
119+ }
120+
121+ m := makeTestModuleByName (t , "logging_limits" , cfg )
122+ _ , err := m .Execute (t .Context (), executeRequest , mockExecutionHelper )
123+ require .NoError (t , err )
124+
125+ // allowed 3 logs max, one of which got rejected because it was too long
126+ // so expect 2 logs to be emitted
127+ require .Equal (t , 2 , len (logs ))
128+ require .Equal (t , "short log 1" , logs [0 ])
129+ require .Equal (t , "short log 3" , logs [1 ])
130+ }
131+
92132func defaultNoDAGModCfg (t testing.TB ) * ModuleConfig {
93133 return & ModuleConfig {
94134 Logger : logger .Test (t ),
0 commit comments