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