gitlab.com/picnic-app/backend/role-api@v0.0.0-20230614140944-06a76ff3696d/internal/util/background/manager_test.go (about)

     1  package background_test
     2  
     3  import (
     4  	"context"
     5  	"testing"
     6  	"time"
     7  
     8  	"github.com/stretchr/testify/require"
     9  
    10  	"gitlab.com/picnic-app/backend/role-api/internal/util/background"
    11  )
    12  
    13  func TestManager(t *testing.T) {
    14  	var m background.Manager
    15  
    16  	ctx, done := background.NotifyWhenCompleted(context.Background())
    17  
    18  	start := time.Now()
    19  	m.RunBackgroundTask(ctx, func(ctx context.Context) { time.Sleep(time.Millisecond) })
    20  	<-done
    21  	m.Wait()
    22  	require.GreaterOrEqual(t, time.Since(start).Milliseconds(), int64(1))
    23  }