deadline_test.go 648 B

123456789101112131415161718192021222324252627
  1. package contextx
  2. import (
  3. "context"
  4. "testing"
  5. "time"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. func TestShrinkDeadlineLess(t *testing.T) {
  9. deadline := time.Now().Add(time.Second)
  10. ctx, _ := context.WithDeadline(context.Background(), deadline)
  11. ctx, _ = ShrinkDeadline(ctx, time.Minute)
  12. dl, ok := ctx.Deadline()
  13. assert.True(t, ok)
  14. assert.Equal(t, deadline, dl)
  15. }
  16. func TestShrinkDeadlineMore(t *testing.T) {
  17. deadline := time.Now().Add(time.Minute)
  18. ctx, _ := context.WithDeadline(context.Background(), deadline)
  19. ctx, _ = ShrinkDeadline(ctx, time.Second)
  20. dl, ok := ctx.Deadline()
  21. assert.True(t, ok)
  22. assert.True(t, dl.Before(deadline))
  23. }