error_test.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package oss
  2. import (
  3. "math"
  4. "net/http"
  5. "fmt"
  6. . "gopkg.in/check.v1"
  7. )
  8. type OssErrorSuite struct{}
  9. var _ = Suite(&OssErrorSuite{})
  10. func (s *OssErrorSuite) TestCheckCRCHasCRCInResp(c *C) {
  11. headers := http.Header{
  12. "Expires": {"-1"},
  13. "Content-Length": {"0"},
  14. "Content-Encoding": {"gzip"},
  15. "X-Oss-Hash-Crc64ecma": {"0"},
  16. }
  17. resp := &Response{
  18. StatusCode: 200,
  19. Headers: headers,
  20. Body: nil,
  21. ClientCRC: math.MaxUint64,
  22. ServerCRC: math.MaxUint64,
  23. }
  24. err := checkCRC(resp, "test")
  25. c.Assert(err, IsNil)
  26. fmt.Printf("completed\n")
  27. }
  28. func (s *OssErrorSuite) TestCheckCRCNotHasCRCInResp(c *C) {
  29. headers := http.Header{
  30. "Expires": {"-1"},
  31. "Content-Length": {"0"},
  32. "Content-Encoding": {"gzip"},
  33. }
  34. resp := &Response{
  35. StatusCode: 200,
  36. Headers: headers,
  37. Body: nil,
  38. ClientCRC: math.MaxUint64,
  39. ServerCRC: math.MaxUint32,
  40. }
  41. err := checkCRC(resp, "test")
  42. c.Assert(err, IsNil)
  43. }
  44. func (s *OssErrorSuite) TestCheckCRCCNegative(c *C) {
  45. headers := http.Header{
  46. "Expires": {"-1"},
  47. "Content-Length": {"0"},
  48. "Content-Encoding": {"gzip"},
  49. "X-Oss-Hash-Crc64ecma": {"0"},
  50. }
  51. resp := &Response{
  52. StatusCode: 200,
  53. Headers: headers,
  54. Body: nil,
  55. ClientCRC: 0,
  56. ServerCRC: math.MaxUint64,
  57. }
  58. err := checkCRC(resp, "test")
  59. c.Assert(err, NotNil)
  60. testLogger.Println("error:", err)
  61. }