浏览代码

Merge pull request #15 from aliyun/travis-ci

Travis ci
baiyubin 9 年之前
父节点
当前提交
1f8b2ae636
共有 6 个文件被更改,包括 57 次插入25 次删除
  1. 26 0
      .travis.yml
  2. 2 0
      README.md
  3. 3 4
      oss/bucket_test.go
  4. 23 17
      oss/client_test.go
  5. 1 2
      oss/multicopy_test.go
  6. 2 2
      oss/upload_test.go

+ 26 - 0
.travis.yml

@@ -0,0 +1,26 @@
+language: go
+go:
+- 1.4
+- 1.5
+- 1.6
+- 1.7
+install:
+- go get golang.org/x/tools/cmd/cover
+- go get github.com/mattn/goveralls
+- go get gopkg.in/check.v1
+script:
+- cd oss
+- go test -v -covermode=count -coverprofile=coverage.out -timeout=30m
+- $HOME/gopath/bin/goveralls -coverprofile=coverage.out -service=travis-ci
+env:
+  global:
+  - secure: V1CegZwwIj+G1w9+mXirVPyn4gRfjdYAEQk1NgG3yqUKShiNcXwJxNiLo6/3ZFNannZBAwKrTtKxU+KNdv+oSLwoeHBqxLkvXUedVi2+Ynq6QpMWq8rNRMM/Zgj3l8NOEJGVGoOl+/cMyPReTjvnq2q6/XE/SpJ/NwnOzqJ5uVCA7XjUkWuo6c6nQSvJP0be2kaMt8iw6G9EythreYhZLulOatiei9w7+fTuywgGujNPxeVFrmY5Cq472Cm8gLUXMCxhEf6ZN1MxKd0eYINucZGTbBfsgKPqE9mSQhfik9yA8B7m4V+NlOPmzvsK1O4v7lMzqQrFl2qxXBqPag46cva/4Qb8vw8Mi8oLFbPfPopljcfgLFMAb05iO1Jo2b7dMnM/FF8HymIy1cJBuFIjU4xvB9mzkTC4ULdwqeneXhEhdzyAqnV2FozJv4AmeiJU81al3F/6zNwwuSwNeWNLUgZHCIDqoe3bVsnKbhyxDsKwFoEM8PeD3nC/QDRfgVWY83rOGa5ijiLcZLs/lOIlSujzsfh7mzYva4RuNcFjOvSb4ppYT1XakDOKhgtO2gkEGs8yidjoNqWEcYJ7JkSIGNUE35U8oDTqDV8NyZwK68+/0YiuuVBJoIpTJIR/vwmSbXQpOJbHSAFAmbnRziPtnsh+LUPmb/50JSbpe1q6Od0=
+  - secure: KfIzFCgkjDDW+pzISetH4WZDbFNF5v98hf6EYsBv9aA3XaqeRd/hyZyDN7EHaqqy257fU++GcaPI9X1wkClQz9nUzEQKRTlvAf4G04TKIG4BO37fVn2mVZHtq5UYx6bAf/HRE0par9M92vcsqgUtuMoRhmP26LEUVmqoBwMDCbjuDNsrxQztWZePumozCXPt1GKSQcz0jDSG05yuGKojBhTuhPWU1PTvF+G2UPTThSTiVb0EfwuQrg+hpp28povmkm0ZhKbByp7N7QD6cgy+r5jkj4e1qhFpmEkHIIMVnshFU+sY7eEDFmax0FgSjwav35MSc9W5tmIAJZ3o1hsp2nqgJwM8AeiwGY69nFDNTvC//mIkX/ROOVyNH9KfLs8bpKh2gpumQp76zVxWhy6b+79WWOZWPe2BlyRiyA1ec/zWDXnIELMq8yZBnWGNYntMDkIIJJr5ge70Du9m5gDZlvQSjCF2+5jr0zxtrwD6l2uPPinC7cCiI8Z2YCoPPd1iBOkVD/h0Ax6+ff6BltukISZxZFggZtKxSN5bi5qp5k1FoxrsfLflg2o+fAKro4OOB++fi8yxmYYo8qxzjq0gevUfoMHj7Cpg66TFPwhlu+DXrPN5dZJaoi2cGeuscp2hJOANZYzVz6YwP08OD0r5qmm0vCYI+9nXTf7N2xPPQiQ=
+  - secure: dI8W8B0xE7fRJYTrUmw/VWwIWi29zKS3mhu/x6zYWSnS4YaWR++NcMPeuumrjlCjs4Dpex9RlaXOhPzsuMDZ3XnyE+ldWjtZqR9OZ3IxqJxzjCEKEY245qgt/+uZ8I704r5YXXmO8sNmba8in0AbYP9luWhnE6/iEy/sOwKAtKFVr6zwyLFxYdsWdFIofh9ivNaaJ3gjZJ/w/M+Op8q5lbLz/1wDsvpyJu1Nn3xN39Sdy9l4PxSwgNJAc2HcjD0o57xtx7G7P2v3x/MP/o00P0/vF7flb9e3wLXtNJHimtoS0eytQYLTMpBlzKRjT1uaEExByN7RLnN4sZAp0C6fiRg0pDr8w3cRJWI0+ZjWaKt0OvU6c4txT8T5Djrxt+JkJxwrfuqsEoX0AKXhLl5lTGdQouHJBH6WLe6GMQ0sBufchLusT3vJjqFCM0ixRWGBXg1Fwm41kVtCujJGaGi4i1xSNW5QgcToxpdIq0+MMqHYkPJTaHQzoyHpXh1tpybwS3FanomwHYV4aZr/arDHBwgWmnNqe4aPtyIIKVU//5lnac+QPirtk1K7ampIihhizwMTArF57NuVvArhPm79M04IbgnIBIHEceJowBjYlfCgWTTYxDsBh91sL0HwYCoMW4GBBHdU18Lvc/QMHgk1SzAuUj2e/JD1TGLTyEledEk=
+  - secure: PI4dCeU0A1f+kQV0O7k2C7L7uVgEmQsUIAEAFjexjptZAqYB9/KnRn29TMxG5v8e3eoO9EgZgIAn2VVqrKc4AIpSuDwb+U3ggImByitlReqQrOQVIS/yseIv2QyfU0axTpSrFnJqRpJmbb4+I4Lai4wk1AD7c4jRUY2cQPKOXQX2Xr/X5wszTAnHGQZadI9Js1ltdyRpWfj3ihFh1ekmCs6WlzIpZbj6JMFEc1jX9WKiNWnfglGfnei2H+nX1p92DsNDCMUE+VI1FMZSs19hZUATjOxiNhwpE7sCoOZ/+RZlUXEQN8Z/iRGTjT9qY7YpjgoY+YbyNsqdUjc4lrF8ojvTgsvr1qQ6JM/UuM4n229KjTFhjtz+gntjLaaDHSMztBAiiFKigkfqMhlNsVhjjmmx/XmALasIM7Q2oSpIVL5XBH8KMdzZ7qoGDVyI1CXpOsGvPNGsVfKKQdYimE7J6PpNWdpu7Mx+7HbP9KqWZqLH8I1iXsC3QcBAt3fzJUSQ3g/ZzpEbhUYKP4eZBa6CuXXSQfr1YhMLPt5iJHf/lWvz/jnk777hw3/RZjp6CXc6c/FsYWqWFIca32L6qWiiHYywfo26mszbvK0pF7V+hqgWl2fs4EAaWnHjnY6zsvdQ2rVJWxx2JFj1rIcNPLJ1oCEfUCaak/dRSKnjj5glUrQ=
+  - secure: Hp0Cwx7S+OzDeC8R5LTaAoUQuBcXWJCYynYYjGVWjj1On0Jas1rGN8d/KVIHMd/doV/zgCOTS0+96TSzQKJHp9URiA4OWz2KbWjEi9gy9NIUOn/OAZhOi39z/86RUcJtEbMTmpe6NdjTE1HANqxH51O5wE4ozARSlH0Ryyv6k+/KY7ATegaipwQWl7G3caZHuwEuFtJc4etJC03st5pzgnl2zv/7SLuc7s7uN3i7+iIUbimKtg31L+G+W745X5oMFtpuz4MiStvJ08d2hCU4pg1C6U0YWT5hKoSmwFXyLngEPFZcEUc6QbrYFImmXqQtiKOtEtiLUzU70wGlJQ4BypBIC9OxvMz1kuh+EpePC2RXxeCsmuKKhRKUJhetoiKK41xdszU1gJ1uZAdYYxQ1ojPqdwCewx2Pp3qEGFP9dR4PrQp3viT0tibxFnVFesbpuZtaLp/0r/S4d4yE85por9+dGCOXkGV7KfYCI5znXZRO5fWAPJ4sD0icMh7jk7ZP6XkjlAGJE/Py5b1foNgxqCKaZCVOa9p8whuxdzO0JGXcqT9R61GAqn4QcwQXyU08ZJzxHsY5BHwBwF1/V+4WiWY1KXjw/B3t22QoZcDZUCT2kTScsbdyCvpgdSp8Z0kLE+y2xrt5JyIXaBUghVme8PZnkkJqg/1x7nCqVges8x8=
+  - secure: A6OfcQ4xFfilxv5FgbgOycm2EnCGrueO0y/zjNgeSEqPIkmgsZQY5hNM4B/wyRxEJUd0P0s6DDbHCmFvMj7tVx+BJPyHjAjld5eYWPxua4yqTxh3LGCPJaL5EAIkr0JNNrEDrt7H4VSDIh4CpKIlY91PcW6hsd6esXZgVEviRtofyPViqMeQ7Sz5j9m6FeuBxv4AKsP3kW/MuufvbZiSj3HtHqf+HnDDEnj29h+0yUUXuLJ4PxIzOK2C2OoiNV3UygaiTKwqrfPs0tqjKkJHgrMYkooocY9uad486DIbK9DKhKNLVjrSh2pmKfc7fT7yvmlfgNE+Iw2st2sDPNRsdOrVhNIdHlQIophr+Q8xMzNpc+hT6DHcaikNxqYSp/wwe9Uc2b/5GaisVzaY8/pg6ml7PmaaXhMRLiWifp5zSupEA8G8RJLfF47G9aNbaK0KtUdvwyBX2hLYWkm235USyTYRUiiWSp05OKpan6SGTUCAIBIO+TKbAx+rwfLRUYvct8in8HRsI9n/CIJV/dwSUMS2SLPCbfxI8sayqIoeDVtN/38DDyIqQUjc4spYRzprrSzhQ0EX41akuCZjQz5LbQjMUqardp89mFy9vtD7/7hL45i5Xe7/HyhBkwxkV6GUSQFeWqnjuWkzclWSsAr9MagajmhfOdHUVKgMFzTYXtI=
+  - secure: E1+aHvhwuxiTR7sULNx3t1NOiBn8DI538Lbiz8CmnQo/7pi9ewDxI7eEzuqTohI96mGHxzAXZVTXXzHfuKa1eGX/AutdhBh+u532u12F4nPrdKl7z95dtEcelLxLvmzYBw1KTuJpHh+9L3MYPKUjlP3cnqq6jEytAkwUr5q2qX4Pdk69O/6eTQmrVlvfbXnrUFNLkKJvnr0AGWORfrbhVx9XMnnmeFytTiVpiq53zI4GaSqGukYF1meHoFg+6P4H7myudga9Ejy7wVu8JQM6FrKsEbabyOpDhYerrmVQcc28JtoE0IQLxsm+U0mFtg98/Ts5wIgk8hahucHPRiN3jgG83SHuUjuarDm0RXfydcvEb/VymS6X/jTioEw4zrmK3aeRq+tfbzDOQ/3dlAwWAsVrzxXSaNmKfFBf3rAFPHFb3Z58DD1zmgocHAGSp3uKvr/IRCNgDZNNgGfaBCcIWXE+KtrZ/2n7hPSl440aZPwdPfb81tUhpGJCprLnmaDxzIrqEoXD+IPVTfGiQjM0L2SS/HiuMlgvPNa9SFu7zYX5tZyZM6IVJsX4CD1f6+A0ojIjOjGJhiNaOE/r1yOZ7z42/84eu+qxBxOGnFYyg8NRpMWoysXc3bXWiIZuqamk49UdMmf1UYLLn5wOZFYSZ5NOi86WlbbuAt5Tp+GvLJU=
+  - secure: JNo9T74P2/2sqU272btWkiYoVVc92hn8J7K9y9DSGRseIfVHwVdUMdyQr8whr559ICjKHpR9SqHVzyqyO0NFy6IubpZl37sx2VaoVz4jtr3xoh3sRIvPM+vjTWtj9/+e8tFUbp2WdEYHD2fhpjso3NonXRSQh4oNDgn+ArP5TULh6vSCA84kL7PNW0E+WYofEMrTRjdahxVPv0V7dKHTZ9BSc5AWWS2EAwvFXI772lUT2uT/0sKPq1ed18WUw3CiADKVnvbBVvzPBg1jOeuEy2d91EYQ2cdpgcgZx7T8uA51kw2y3+OCr1roTlvKspmpCYtXlvAW8zeDHQR4B0KyDGxDrhY/FDX5Ov8fhCSbAwSXtm4E1Cv8gvTc2jAkGoPEBR6CQ0CPBmmDijm8zvdIJIXc13z5NSKa/od2afn4nuc+A9L1AaLq61fAWFIGnS9hZw2Njt8yETiOLAa9kt4bNqVH6sVyj0hUyv1yDOzNBk2+JND6mLmLqM7BAE2364Xz4Yaqop64WPi/fsQLOV+06U+qwcjuemVPsmMblENU4BRSPrpsnQEZ2Z087pa5kfYe1DZakcqHv3QPYtxJvrBc1AuX6zW7sSMKg2bHnim5DAAAQ9FXs/F88gcV5tz9uwH7+3sx5RVYCS9W7iVnU+Vh8ZUpYVanKpzcLpKNZvE3Rw8=
+  - secure: I/LhDrur/JrfD3remJLuvuqiyyT6fezxrKeZIhxFAUpnAhXG1Um0ZUfXDyXwbjdhimidxYP+KiaWJ81KpyRA85QfLDPd1UXJ6WliEvE4K5Oq0MR+/arrNNj+vweTyMEX0z/ZS2jCMTstvkL6L00n4C0UZR6o25IIiQ3ovQfdBBhQ1kIEszWf69UY1qViNFT0wqiMlht7rXUDjaAe1smrWsHSqPxtSsvJ5ccVVExwp9w+SQnGeIpgDtPI5ILFHS5Z0Y8wzHlqZbkbUIOr1ywXCrCLBKRqz0UcYFQ/FxthFc84v+C2M3fDkFiSx5kTUbGDJ7Vx20whLEmvJd7U+J8S2pVKxVGagNAIRTRG5jesNloLprHqORY5v44QIDZhJ7r6QWMZLUgoxiUzgSEXvN95ZGVlOMsQAbaJCism9xYtk8Al4JgvRiFPZ+sc5oSCkD969NiVzc9SYdByFJ32j6AhOo57rM7JXTLWonDrYfdyb/VGlG2TFNVGVPEfcJ5scxArQDz1LVEknwdTjeVROL2pA2wJpxz0KON2LH8F3z1RsqixsS5e242CfYP36YOdRDILSEsGQ+22INS1Yd8pYHs+rcysQBTsQyZZGAO8SFmrxpatyiazu5MRDF+UC4ac6YUg/ELuVDXQUwRN7FpmIvlvtgLDCe4R1nHpd5y4zWuspOM=
+  - secure: QVyPHi0kI1rnKqj717fbir/91XY/KNIz892/1XuO8BtwWJGUOdWlW3V5pKku+IaRFjeA4riKLryndSDUaIwwK9IrmI846IWgJbw9t4QrJMMqNDQDOoRbuW8plkCoxxHvTnYzIp2k+8OCHbSi5S9lLTNtvwHHPjin9tYVWIhyZ2n2yy8QwDiwVK8Hgx7TCqARRLJ/R/jqHHjCQI2POSq0IczpBuUDhhfXRYvtLwJJwhkYcolWKL1IgoNrmyO6MQVJJlq0DetjDMfEeixlnAWT7KmgAN/n7xFsyhUUBPrPavGcgVW/qbdXZc/wxiJXC8ea+mwkVSvf8lzD5ncYU/B2S4YM7k5nMG6B0sO1rOjyS4k58PE2zqZTU/Xj3KHmjSW5KwsBSnUl1gfNf70Kh9F/r1otUrVcC7qaBEnarZA0W/mzGD9GwYuIhiskQheFHLclk1Du/BGVhg6yz3QdxPA5uWVpaUZsJsSnkVU3C03odlXR+HnHg6YoOWvLOKrL/GWRyle1+jgGa08ii/u1GlTX7+WQvKMWZkSmWJUnmyNCmdhpHYD30cPo72OFRDwVQZb7dJNYPek4aPnGlqO29wQoqNymGWfHsLKuuOW03KKIfN3BpBOiW7vmpYH9571AIVJX3eHlyzDE7d9oMXbGsu8SKDDqUgGKPugv+5/4VtHcf0E=

+ 2 - 0
README.md

@@ -1,4 +1,6 @@
 # Aliyun OSS SDK for Go
+[![Build Status](https://travis-ci.org/aliyun/aliyun-oss-go-sdk.svg?branch=master)](https://travis-ci.org/aliyun/aliyun-oss-go-sdk)
+[![Coverage Status](https://coveralls.io/repos/github/aliyun/aliyun-oss-go-sdk/badge.svg?branch=master)](https://coveralls.io/github/aliyun/aliyun-oss-go-sdk?branch=master)
 ## 关于
 > - 此Go SDK基于[阿里云对象存储服务](http://www.aliyun.com/product/oss/)官方API构建。
 > - 阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。

+ 3 - 4
oss/bucket_test.go

@@ -1133,8 +1133,7 @@ func (s *OssBucketSuite) TestCopyObjectToOrFrom(c *C) {
 	destBucket := bucketName + "-dest"
 	objectNameDest := objectName + "dest"
 
-	err := s.client.CreateBucket(destBucket)
-	c.Assert(err, IsNil)
+	s.client.CreateBucket(destBucket)
 
 	destBuck, err := s.client.Bucket(destBucket)
 	c.Assert(err, IsNil)
@@ -1181,8 +1180,8 @@ func (s *OssBucketSuite) TestCopyObjectToOrFrom(c *C) {
 // TestCopyObjectToOrFromNegative
 func (s *OssBucketSuite) TestCopyObjectToOrFromNegative(c *C) {
 	objectName := objectNamePrefix + "tcotofn"
-	destBucket := bucketName + "-dest"
-	objectNameDest := objectName + "dest"
+	destBucket := bucketName + "-destn"
+	objectNameDest := objectName + "destn"
 
 	// object no exist
 	_, err := s.bucket.CopyObjectTo(bucketName, objectName, objectNameDest)

+ 23 - 17
oss/client_test.go

@@ -35,18 +35,18 @@ var (
 	proxyPasswd = os.Getenv("OSS_TEST_PROXY_PASSWORD")
 
 	// sts
-	stsAccessID  = os.Getenv("OSS_TEST_STS_ID")
-	stsAccessKey = os.Getenv("OSS_TEST_STS_KEY")
+	stsaccessID  = os.Getenv("OSS_TEST_STS_ID")
+	stsaccessKey = os.Getenv("OSS_TEST_STS_KEY")
 	stsARN       = os.Getenv("OSS_TEST_STS_ARN")
 )
 
 const (
 	// prefix of bucket name for bucket ops test
-	bucketNamePrefix = "my-go-bucket-"
+	bucketNamePrefix = "go-sdk-test-bucket-xyz-"
 	// bucket name for object ops test
-	bucketName = "my-go-test-bucket"
+	bucketName = "go-sdk-test-bucket-xyz-for-object"
 	// object name for object ops test
-	objectNamePrefix = "my-go-object-"
+	objectNamePrefix = "go-sdk-test-object-"
 
 	stsRegion = "cn-hangzhou"
 )
@@ -246,8 +246,8 @@ func (s *OssClientSuite) TestDeleteBucketNegative(c *C) {
 	err = client.CreateBucket(bucketNameTest)
 	c.Assert(err, IsNil)
 
-	accessID := "<AccessKeyId>"
-	accessKey := "<AccessKeySecret>"
+	accessID := "<accessKeyId>"
+	accessKey := "<accessKeySecret>"
 	clientOtherUser, err := New(endpoint, accessID, accessKey)
 	c.Assert(err, IsNil)
 
@@ -479,7 +479,7 @@ func (s *OssClientSuite) TestGetBucketLocation(c *C) {
 	c.Assert(err, IsNil)
 
 	loc, err := client.GetBucketLocation(bucketNameTest)
-	c.Assert(loc, Equals, "oss-cn-hangzhou")
+	c.Assert(strings.HasPrefix(loc, "oss-"), Equals, true)
 
 	err = client.DeleteBucket(bucketNameTest)
 	c.Assert(err, IsNil)
@@ -683,8 +683,8 @@ func (s *OssClientSuite) TestBucketRefererNegative(c *C) {
 
 // TestSetBucketLogging
 func (s *OssClientSuite) TestSetBucketLogging(c *C) {
-	var bucketNameTest = bucketNamePrefix + "tsbl"
-	var bucketNameTarget = bucketNamePrefix + "tsblt"
+	var bucketNameTest = bucketNamePrefix + "tsbll"
+	var bucketNameTarget = bucketNamePrefix + "tsbllt"
 
 	client, err := New(endpoint, accessID, accessKey)
 	c.Assert(err, IsNil)
@@ -781,8 +781,8 @@ func (s *OssClientSuite) TestDeleteBucketLogging(c *C) {
 
 // TestSetBucketLoggingNegative
 func (s *OssClientSuite) TestSetBucketLoggingNegative(c *C) {
-	var bucketNameTest = bucketNamePrefix + "tsbln"
-	var bucketNameTarget = bucketNamePrefix + "tsblnt"
+	var bucketNameTest = bucketNamePrefix + "tsblnn"
+	var bucketNameTarget = bucketNamePrefix + "tsblnnt"
 
 	client, err := New(endpoint, accessID, accessKey)
 	c.Assert(err, IsNil)
@@ -904,6 +904,7 @@ func (s *OssClientSuite) TestDeleteBucketWebsite(c *C) {
 	err = client.DeleteBucketWebsite(bucketNameTest)
 	c.Assert(err, IsNil)
 
+	time.Sleep(5 * time.Second)
 	res, err = client.GetBucketWebsite(bucketNameTest)
 	c.Assert(err, NotNil)
 
@@ -953,6 +954,7 @@ func (s *OssClientSuite) TestSetBucketWebsiteNegative(c *C) {
 	err = client.DeleteBucketWebsite(bucketNameTest)
 	c.Assert(err, IsNil)
 
+	time.Sleep(5 * time.Second)
 	_, err = client.GetBucketWebsite(bucketNameTest)
 	c.Assert(err, NotNil)
 
@@ -1034,6 +1036,7 @@ func (s *OssClientSuite) TestSetBucketCORS(c *C) {
 	err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1, rule2})
 	c.Assert(err, IsNil)
 
+	time.Sleep(5 * time.Second)
 	gbcr, err = client.GetBucketCORS(bucketNameTest)
 	c.Assert(err, IsNil)
 	c.Assert(len(gbcr.CORSRules), Equals, 2)
@@ -1045,6 +1048,7 @@ func (s *OssClientSuite) TestSetBucketCORS(c *C) {
 	err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1, rule2})
 	c.Assert(err, IsNil)
 
+	time.Sleep(5 * time.Second)
 	gbcr, err = client.GetBucketCORS(bucketNameTest)
 	c.Assert(err, IsNil)
 	c.Assert(len(gbcr.CORSRules), Equals, 2)
@@ -1056,7 +1060,7 @@ func (s *OssClientSuite) TestSetBucketCORS(c *C) {
 	c.Assert(err, IsNil)
 }
 
-// TestSetBucketCORSNegative
+// TestDeleteBucketCORS
 func (s *OssClientSuite) TestDeleteBucketCORS(c *C) {
 	var bucketNameTest = bucketNamePrefix + "tdbc"
 	var rule = CORSRule{
@@ -1089,6 +1093,7 @@ func (s *OssClientSuite) TestDeleteBucketCORS(c *C) {
 	err = client.DeleteBucketCORS(bucketNameTest)
 	c.Assert(err, IsNil)
 
+	time.Sleep(5 * time.Second)
 	_, err = client.GetBucketCORS(bucketNameTest)
 	c.Assert(err, NotNil)
 
@@ -1145,6 +1150,7 @@ func (s *OssClientSuite) TestSetBucketCORSNegative(c *C) {
 	err = client.DeleteBucketCORS(bucketNameTest)
 	c.Assert(err, IsNil)
 
+	time.Sleep(5 * time.Second)
 	_, err = client.GetBucketCORS(bucketNameTest)
 	c.Assert(err, NotNil)
 
@@ -1169,7 +1175,7 @@ func (s *OssClientSuite) TestGetBucketInfo(c *C) {
 	res, err := client.GetBucketInfo(bucketNameTest)
 	c.Assert(err, IsNil)
 	c.Assert(res.BucketInfo.Name, Equals, bucketNameTest)
-	c.Assert(strings.HasPrefix(res.BucketInfo.Location, "oss-cn-"), Equals, true)
+	c.Assert(strings.HasPrefix(res.BucketInfo.Location, "oss-"), Equals, true)
 	c.Assert(res.BucketInfo.ACL, Equals, "private")
 	c.Assert(strings.HasSuffix(res.BucketInfo.ExtranetEndpoint, ".com"), Equals, true)
 	c.Assert(strings.HasSuffix(res.BucketInfo.IntranetEndpoint, ".com"), Equals, true)
@@ -1234,7 +1240,7 @@ func (s *OssClientSuite) TestEndpointFormat(c *C) {
 func (s *OssClientSuite) _TestCname(c *C) {
 	var bucketNameTest = "<my-bucket-cname>"
 
-	client, err := New("<endpoint>", "<AccessKeyId>", "<AccessKeySecret>", UseCname(true))
+	client, err := New("<endpoint>", "<accessKeyId>", "<accessKeySecret>", UseCname(true))
 	c.Assert(err, IsNil)
 
 	err = client.CreateBucket(bucketNameTest)
@@ -1252,7 +1258,7 @@ func (s *OssClientSuite) _TestCname(c *C) {
 func (s *OssClientSuite) _TestCnameNegative(c *C) {
 	var bucketNameTest = "<my-bucket-cname>"
 
-	client, err := New("<endpoint>", "<AccessKeyId>", "<AccessKeySecret>", UseCname(true))
+	client, err := New("<endpoint>", "<accessKeyId>", "<accessKeySecret>", UseCname(true))
 	c.Assert(err, IsNil)
 
 	err = client.CreateBucket(bucketNameTest)
@@ -1269,7 +1275,7 @@ func (s *OssClientSuite) _TestCnameNegative(c *C) {
 func (s *OssClientSuite) _TestHTTPS(c *C) {
 	var bucketNameTest = "<my-bucket-https>"
 
-	client, err := New("<endpoint>", "<AccessKeyId>", "<AccessKeySecret>")
+	client, err := New("<endpoint>", "<accessKeyId>", "<accessKeySecret>")
 	c.Assert(err, IsNil)
 
 	err = client.CreateBucket(bucketNameTest)

+ 1 - 2
oss/multicopy_test.go

@@ -415,7 +415,7 @@ func (s *OssCopySuite) TestCopyRoutineWithRecoveryNegative(c *C) {
 
 // TestCopyFileCrossBucket 跨Bucket直接的复制
 func (s *OssCopySuite) TestCopyFileCrossBucket(c *C) {
-	destBucketName := bucketName + "-desc"
+	destBucketName := bucketName + "-cfcb-desc"
 	srcObjectName := objectNamePrefix + "tcrtr"
 	destObjectName := srcObjectName + "-copy"
 	fileName := "../sample/BingWallpaper-2015-11-07.jpg"
@@ -426,7 +426,6 @@ func (s *OssCopySuite) TestCopyFileCrossBucket(c *C) {
 
 	// 创建目标Bucket
 	err = s.client.CreateBucket(destBucketName)
-	c.Assert(err, IsNil)
 
 	// 上传源文件
 	err = s.bucket.UploadFile(srcObjectName, fileName, 100*1024, Routines(3))

+ 2 - 2
oss/upload_test.go

@@ -250,7 +250,7 @@ func (s *OssUploadSuite) TestUploadRoutineWithRecovery(c *C) {
 	c.Assert(len(ucp.MD5), Equals, len("LC34jZU5xK4hlxi3Qn3XGQ=="))
 	c.Assert(ucp.FilePath, Equals, fileName)
 	c.Assert(ucp.FileStat.Size, Equals, int64(482048))
-	c.Assert(ucp.FileStat.LastModified.String(), Equals, "2015-12-17 18:43:03 +0800 CST")
+	c.Assert(len(ucp.FileStat.LastModified.String()), Equals, len("2015-12-17 18:43:03 +0800 CST"))
 	c.Assert(ucp.FileStat.MD5, Equals, "")
 	c.Assert(ucp.ObjectKey, Equals, objectName)
 	c.Assert(len(ucp.UploadID), Equals, len("3F79722737D1469980DACEDCA325BB52"))
@@ -291,7 +291,7 @@ func (s *OssUploadSuite) TestUploadRoutineWithRecovery(c *C) {
 	c.Assert(len(ucp.MD5), Equals, len("LC34jZU5xK4hlxi3Qn3XGQ=="))
 	c.Assert(ucp.FilePath, Equals, fileName)
 	c.Assert(ucp.FileStat.Size, Equals, int64(482048))
-	c.Assert(ucp.FileStat.LastModified.String(), Equals, "2015-12-17 18:43:03 +0800 CST")
+	c.Assert(len(ucp.FileStat.LastModified.String()), Equals, len("2015-12-17 18:43:03 +0800 CST"))
 	c.Assert(ucp.FileStat.MD5, Equals, "")
 	c.Assert(ucp.ObjectKey, Equals, objectName)
 	c.Assert(len(ucp.UploadID), Equals, len("3F79722737D1469980DACEDCA325BB52"))