11 type OssErrorSuite struct{}
13 var _ = Suite(&OssErrorSuite{})
15 func (s *OssErrorSuite) TestCheckCRCHasCRCInResp(c *C) {
16 headers := http.Header{
18 "Content-Length": {"0"},
19 "Content-Encoding": {"gzip"},
20 "X-Oss-Hash-Crc64ecma": {"0"},
27 ClientCRC: math.MaxUint64,
28 ServerCRC: math.MaxUint64,
31 err := CheckCRC(resp, "test")
35 func (s *OssErrorSuite) TestCheckCRCNotHasCRCInResp(c *C) {
36 headers := http.Header{
38 "Content-Length": {"0"},
39 "Content-Encoding": {"gzip"},
46 ClientCRC: math.MaxUint64,
47 ServerCRC: math.MaxUint32,
50 err := CheckCRC(resp, "test")
54 func (s *OssErrorSuite) TestCheckCRCCNegative(c *C) {
55 headers := http.Header{
57 "Content-Length": {"0"},
58 "Content-Encoding": {"gzip"},
59 "X-Oss-Hash-Crc64ecma": {"0"},
67 ServerCRC: math.MaxUint64,
70 err := CheckCRC(resp, "test")
72 testLogger.Println("error:", err)
75 func (s *OssErrorSuite) TestCheckDownloadCRC(c *C) {
76 err := CheckDownloadCRC(0xFBF9D9603A6FA020, 0xFBF9D9603A6FA020)
79 err = CheckDownloadCRC(0, 0)
82 err = CheckDownloadCRC(0xDB6EFFF26AA94946, 0)
84 testLogger.Println("error:", err)
87 func (s *OssErrorSuite) TestServiceErrorEndPoint(c *C) {
88 xmlBody := `<?xml version="1.0" encoding="UTF-8"?>
90 <Code>AccessDenied</Code>
91 <Message>The bucket you visit is not belong to you.</Message>
92 <RequestId>5C1B5E9BD79A6B9B6466166E</RequestId>
93 <HostId>oss-c-sdk-test-verify-b.oss-cn-shenzhen.aliyuncs.com</HostId>
95 serverError, _ := serviceErrFromXML([]byte(xmlBody), 403, "5C1B5E9BD79A6B9B6466166E")
96 errMsg := serverError.Error()
97 c.Assert(strings.Contains(errMsg, "Endpoint="), Equals, false)
99 xmlBodyWithEndPoint := `<?xml version="1.0" encoding="UTF-8"?>
101 <Code>AccessDenied</Code>
102 <Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message>
103 <RequestId>5C1B595ED51820B569C6A12F</RequestId>
104 <HostId>hello-hangzws.oss-cn-qingdao.aliyuncs.com</HostId>
105 <Bucket>hello-hangzws</Bucket>
106 <Endpoint>oss-cn-shenzhen.aliyuncs.com</Endpoint>
108 serverError, _ = serviceErrFromXML([]byte(xmlBodyWithEndPoint), 406, "5C1B595ED51820B569C6A12F")
109 errMsg = serverError.Error()
110 c.Assert(strings.Contains(errMsg, "Endpoint=oss-cn-shenzhen.aliyuncs.com"), Equals, true)