github.com/aavshr/aws-sdk-go@v1.41.3/aws/context_test.go (about)

     1  package aws_test
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  	"time"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/awstesting"
    10  )
    11  
    12  func 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  
    21  func 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  }