github.com/argoproj/argo-events@v1.9.1/sensors/triggers/log/log_test.go (about)

     1  package log
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  	"time"
     7  
     8  	"github.com/stretchr/testify/assert"
     9  	"go.uber.org/zap/zaptest"
    10  
    11  	sv1 "github.com/argoproj/argo-events/pkg/apis/sensor/v1alpha1"
    12  )
    13  
    14  func TestLogTrigger(t *testing.T) {
    15  	logger := zaptest.NewLogger(t).Sugar()
    16  	l := &LogTrigger{
    17  		Logger:  logger,
    18  		Trigger: &sv1.Trigger{Template: &sv1.TriggerTemplate{}},
    19  	}
    20  	_, err := l.Execute(context.TODO(), map[string]*sv1.Event{"my-event": {}}, &sv1.LogTrigger{})
    21  	assert.NoError(t, err)
    22  
    23  	assert.True(t, l.shouldLog(&sv1.LogTrigger{}))
    24  	assert.False(t, l.shouldLog(&sv1.LogTrigger{IntervalSeconds: 1}))
    25  
    26  	time.Sleep(1 * time.Second)
    27  
    28  	assert.True(t, l.shouldLog(&sv1.LogTrigger{}))
    29  	assert.True(t, l.shouldLog(&sv1.LogTrigger{IntervalSeconds: 1}))
    30  }