1package aws_test 2 3import ( 4 "fmt" 5 "testing" 6 "time" 7 8 "github.com/aws/aws-sdk-go/aws" 9 "github.com/aws/aws-sdk-go/awstesting" 10) 11 12func TestSleepWithContext(t *testing.T) { 13 ctx := &awstesting.FakeContext{DoneCh: make(chan struct{})} 14 15 err := aws.SleepWithContext(ctx, 1*time.Millisecond) 16 if err != nil { 17 t.Errorf("expect context to not be canceled, got %v", err) 18 } 19} 20 21func TestSleepWithContext_Canceled(t *testing.T) { 22 ctx := &awstesting.FakeContext{DoneCh: make(chan struct{})} 23 24 expectErr := fmt.Errorf("context canceled") 25 26 ctx.Error = expectErr 27 close(ctx.DoneCh) 28 29 err := aws.SleepWithContext(ctx, 10*time.Second) 30 if err == nil { 31 t.Fatalf("expect error, did not get one") 32 } 33 34 if e, a := expectErr, err; e != a { 35 t.Errorf("expect %v error, got %v", e, a) 36 } 37} 38