util_test.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package awstesting_test
  2. import (
  3. "io"
  4. "testing"
  5. "github.com/aws/aws-sdk-go/awstesting"
  6. )
  7. func TestReadCloserClose(t *testing.T) {
  8. rc := awstesting.ReadCloser{Size: 1}
  9. err := rc.Close()
  10. if err != nil {
  11. t.Errorf("expect nil, got %v", err)
  12. }
  13. if !rc.Closed {
  14. t.Errorf("expect closed, was not")
  15. }
  16. if e, a := rc.Size, 1; e != a {
  17. t.Errorf("expect %v, got %v", e, a)
  18. }
  19. }
  20. func TestReadCloserRead(t *testing.T) {
  21. rc := awstesting.ReadCloser{Size: 5}
  22. b := make([]byte, 2)
  23. n, err := rc.Read(b)
  24. if err != nil {
  25. t.Errorf("expect nil, got %v", err)
  26. }
  27. if e, a := n, 2; e != a {
  28. t.Errorf("expect %v, got %v", e, a)
  29. }
  30. if rc.Closed {
  31. t.Errorf("expect not to be closed")
  32. }
  33. if e, a := rc.Size, 3; e != a {
  34. t.Errorf("expect %v, got %v", e, a)
  35. }
  36. err = rc.Close()
  37. if err != nil {
  38. t.Errorf("expect nil, got %v", err)
  39. }
  40. n, err = rc.Read(b)
  41. if e, a := err, io.EOF; e != a {
  42. t.Errorf("expect %v, got %v", e, a)
  43. }
  44. if e, a := n, 0; e != a {
  45. t.Errorf("expect %v, got %v", e, a)
  46. }
  47. }
  48. func TestReadCloserReadAll(t *testing.T) {
  49. rc := awstesting.ReadCloser{Size: 5}
  50. b := make([]byte, 5)
  51. n, err := rc.Read(b)
  52. if e, a := err, io.EOF; e != a {
  53. t.Errorf("expect %v, got %v", e, a)
  54. }
  55. if e, a := n, 5; e != a {
  56. t.Errorf("expect %v, got %v", e, a)
  57. }
  58. if rc.Closed {
  59. t.Errorf("expect not to be closed")
  60. }
  61. if e, a := rc.Size, 0; e != a {
  62. t.Errorf("expect %v, got %v", e, a)
  63. }
  64. }