|
@@ -3,6 +3,7 @@ package oss
|
|
|
import (
|
|
import (
|
|
|
"math"
|
|
"math"
|
|
|
"net/http"
|
|
"net/http"
|
|
|
|
|
+ "strings"
|
|
|
|
|
|
|
|
. "gopkg.in/check.v1"
|
|
. "gopkg.in/check.v1"
|
|
|
)
|
|
)
|
|
@@ -82,3 +83,29 @@ func (s *OssErrorSuite) TestCheckDownloadCRC(c *C) {
|
|
|
c.Assert(err, NotNil)
|
|
c.Assert(err, NotNil)
|
|
|
testLogger.Println("error:", err)
|
|
testLogger.Println("error:", err)
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+func (s *OssErrorSuite) TestServiceErrorEndPoint(c *C) {
|
|
|
|
|
+ xmlBody := `<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
+ <Error>
|
|
|
|
|
+ <Code>AccessDenied</Code>
|
|
|
|
|
+ <Message>The bucket you visit is not belong to you.</Message>
|
|
|
|
|
+ <RequestId>5C1B5E9BD79A6B9B6466166E</RequestId>
|
|
|
|
|
+ <HostId>oss-c-sdk-test-verify-b.oss-cn-shenzhen.aliyuncs.com</HostId>
|
|
|
|
|
+ </Error>`
|
|
|
|
|
+ serverError, _ := serviceErrFromXML([]byte(xmlBody), 403, "5C1B5E9BD79A6B9B6466166E")
|
|
|
|
|
+ errMsg := serverError.Error()
|
|
|
|
|
+ c.Assert(strings.Contains(errMsg, "Endpoint="), Equals, false)
|
|
|
|
|
+
|
|
|
|
|
+ xmlBodyWithEndPoint := `<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
+ <Error>
|
|
|
|
|
+ <Code>AccessDenied</Code>
|
|
|
|
|
+ <Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message>
|
|
|
|
|
+ <RequestId>5C1B595ED51820B569C6A12F</RequestId>
|
|
|
|
|
+ <HostId>hello-hangzws.oss-cn-qingdao.aliyuncs.com</HostId>
|
|
|
|
|
+ <Bucket>hello-hangzws</Bucket>
|
|
|
|
|
+ <Endpoint>oss-cn-shenzhen.aliyuncs.com</Endpoint>
|
|
|
|
|
+ </Error>`
|
|
|
|
|
+ serverError, _ = serviceErrFromXML([]byte(xmlBodyWithEndPoint), 406, "5C1B595ED51820B569C6A12F")
|
|
|
|
|
+ errMsg = serverError.Error()
|
|
|
|
|
+ c.Assert(strings.Contains(errMsg, "Endpoint=oss-cn-shenzhen.aliyuncs.com"), Equals, false)
|
|
|
|
|
+}
|