github.com/argoproj/argo-cd/v3@v3.2.1/util/buffered_context/buffered_context_test.go (about) 1 package buffered_context_test 2 3 import ( 4 "context" 5 "testing" 6 "time" 7 8 "github.com/stretchr/testify/assert" 9 10 "github.com/argoproj/argo-cd/v3/util/buffered_context" 11 ) 12 13 func TestWithEarlierDeadline_NoDeadline(t *testing.T) { 14 ctx := t.Context() 15 16 bufferedCtx, cancel := buffered_context.WithEarlierDeadline(ctx, 100*time.Millisecond) 17 defer cancel() 18 19 assert.Equal(t, ctx, bufferedCtx) 20 21 _, hasDeadline := bufferedCtx.Deadline() 22 assert.False(t, hasDeadline) 23 } 24 25 func TestWithEarlierDeadline_WithDeadline(t *testing.T) { 26 ctx, cancel := context.WithDeadline(t.Context(), time.Now()) 27 defer cancel() 28 29 buffer := 100 * time.Millisecond 30 bufferedCtx, cancel := buffered_context.WithEarlierDeadline(ctx, buffer) 31 defer cancel() 32 33 assert.NotEqual(t, ctx, bufferedCtx) 34 originalDeadline, _ := ctx.Deadline() 35 newDeadline, _ := bufferedCtx.Deadline() 36 assert.Equal(t, originalDeadline.Add(-1*buffer), newDeadline) 37 }