util_test.go 891 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package awstesting_test
  2. import (
  3. "io"
  4. "testing"
  5. "github.com/stretchr/testify/assert"
  6. "github.com/aws/aws-sdk-go/awstesting"
  7. )
  8. func TestReadCloserClose(t *testing.T) {
  9. rc := awstesting.ReadCloser{Size: 1}
  10. err := rc.Close()
  11. assert.Nil(t, err)
  12. assert.True(t, rc.Closed)
  13. assert.Equal(t, rc.Size, 1)
  14. }
  15. func TestReadCloserRead(t *testing.T) {
  16. rc := awstesting.ReadCloser{Size: 5}
  17. b := make([]byte, 2)
  18. n, err := rc.Read(b)
  19. assert.Nil(t, err)
  20. assert.Equal(t, n, 2)
  21. assert.False(t, rc.Closed)
  22. assert.Equal(t, rc.Size, 3)
  23. err = rc.Close()
  24. assert.Nil(t, err)
  25. n, err = rc.Read(b)
  26. assert.Equal(t, err, io.EOF)
  27. assert.Equal(t, n, 0)
  28. }
  29. func TestReadCloserReadAll(t *testing.T) {
  30. rc := awstesting.ReadCloser{Size: 5}
  31. b := make([]byte, 5)
  32. n, err := rc.Read(b)
  33. assert.Equal(t, err, io.EOF)
  34. assert.Equal(t, n, 5)
  35. assert.False(t, rc.Closed)
  36. assert.Equal(t, rc.Size, 0)
  37. }