client_test.go 32 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205
  1. // client test
  2. // use gocheck, install gocheck to execute "go get gopkg.in/check.v1",
  3. // see https://labix.org/gocheck
  4. package oss
  5. import (
  6. "fmt"
  7. "testing"
  8. "time"
  9. . "gopkg.in/check.v1"
  10. )
  11. // Hook up gocheck into the "go test" runner.
  12. func Test(t *testing.T) {
  13. TestingT(t)
  14. }
  15. type OssClientSuite struct{}
  16. var _ = Suite(&OssClientSuite{})
  17. const (
  18. // Update before running test
  19. endpoint = "<endpoint>"
  20. accessID = "<AccessKeyId>"
  21. accessKey = "<AccessKeySecret>"
  22. bucketNamePrefix = "<my-go-bucket>"
  23. stsServer = "<STSServerHost>"
  24. stsEndpoint = "<endpoint>"
  25. stsBucketName = "<my-sts-bucket>"
  26. )
  27. // Run once when the suite starts running
  28. func (s *OssClientSuite) SetUpSuite(c *C) {
  29. }
  30. // Run before each test or benchmark starts running
  31. func (s *OssClientSuite) TearDownSuite(c *C) {
  32. }
  33. // Run after each test or benchmark runs
  34. func (s *OssClientSuite) SetUpTest(c *C) {
  35. }
  36. // Run once after all tests or benchmarks have finished running
  37. func (s *OssClientSuite) TearDownTest(c *C) {
  38. }
  39. // TestCreateBucket
  40. func (s *OssClientSuite) TestCreateBucket(c *C) {
  41. var bucketNameTest = bucketNamePrefix + "tcb"
  42. client, err := New(endpoint, accessID, accessKey)
  43. c.Assert(err, IsNil)
  44. // Create
  45. client.DeleteBucket(bucketNameTest)
  46. err = client.CreateBucket(bucketNameTest)
  47. c.Assert(err, IsNil)
  48. // Check
  49. lbr, err := client.ListBuckets()
  50. c.Assert(err, IsNil)
  51. found := s.checkBucket(lbr.Buckets, bucketNameTest)
  52. c.Assert(found, Equals, true)
  53. res, err := client.GetBucketACL(bucketNameTest)
  54. c.Assert(err, IsNil)
  55. c.Assert(res.ACL, Equals, string(ACLPrivate))
  56. err = client.DeleteBucket(bucketNameTest)
  57. c.Assert(err, IsNil)
  58. // Create with ACLPublicRead
  59. err = client.CreateBucket(bucketNameTest, ACL(ACLPublicRead))
  60. c.Assert(err, IsNil)
  61. res, err = client.GetBucketACL(bucketNameTest)
  62. c.Assert(err, IsNil)
  63. c.Assert(res.ACL, Equals, string(ACLPublicRead))
  64. err = client.DeleteBucket(bucketNameTest)
  65. c.Assert(err, IsNil)
  66. // ACLPublicReadWrite
  67. err = client.CreateBucket(bucketNameTest, ACL(ACLPublicReadWrite))
  68. c.Assert(err, IsNil)
  69. res, err = client.GetBucketACL(bucketNameTest)
  70. c.Assert(err, IsNil)
  71. c.Assert(res.ACL, Equals, string(ACLPublicReadWrite))
  72. err = client.DeleteBucket(bucketNameTest)
  73. c.Assert(err, IsNil)
  74. // ACLPrivate
  75. err = client.CreateBucket(bucketNameTest, ACL(ACLPrivate))
  76. c.Assert(err, IsNil)
  77. res, err = client.GetBucketACL(bucketNameTest)
  78. c.Assert(err, IsNil)
  79. c.Assert(res.ACL, Equals, string(ACLPrivate))
  80. // Delete
  81. err = client.DeleteBucket(bucketNameTest)
  82. c.Assert(err, IsNil)
  83. }
  84. // TestCreateBucketNegative
  85. func (s *OssClientSuite) TestCreateBucketNegative(c *C) {
  86. client, err := New(endpoint, accessID, accessKey)
  87. c.Assert(err, IsNil)
  88. // BucketName invalid
  89. err = client.CreateBucket("xx")
  90. c.Assert(err, NotNil)
  91. err = client.CreateBucket("XXXX")
  92. c.Assert(err, NotNil)
  93. fmt.Println(err)
  94. err = client.CreateBucket("_bucket")
  95. c.Assert(err, NotNil)
  96. fmt.Println(err)
  97. // Acl invalid
  98. err = client.CreateBucket(bucketNamePrefix+"tcbn", ACL("InvaldAcl"))
  99. c.Assert(err, NotNil)
  100. fmt.Println(err)
  101. }
  102. // TestDeleteBucket
  103. func (s *OssClientSuite) TestDeleteBucket(c *C) {
  104. var bucketNameTest = bucketNamePrefix + "tdb"
  105. client, err := New(endpoint, accessID, accessKey)
  106. c.Assert(err, IsNil)
  107. // Create
  108. err = client.CreateBucket(bucketNameTest)
  109. c.Assert(err, IsNil)
  110. // Check
  111. lbr, err := client.ListBuckets()
  112. c.Assert(err, IsNil)
  113. found := s.checkBucket(lbr.Buckets, bucketNameTest)
  114. c.Assert(found, Equals, true)
  115. // Delete
  116. err = client.DeleteBucket(bucketNameTest)
  117. c.Assert(err, IsNil)
  118. time.Sleep(time.Second * 1)
  119. // Check
  120. lbr, err = client.ListBuckets()
  121. c.Assert(err, IsNil)
  122. // Sometimes failed because of cache
  123. found = s.checkBucket(lbr.Buckets, bucketNameTest)
  124. // c.Assert(found, Equals, false)
  125. err = client.DeleteBucket(bucketNameTest)
  126. // c.Assert(err, IsNil)
  127. }
  128. // TestDeleteBucketNegative
  129. func (s *OssClientSuite) TestDeleteBucketNegative(c *C) {
  130. var bucketNameTest = bucketNamePrefix + "tdbn"
  131. client, err := New(endpoint, accessID, accessKey)
  132. c.Assert(err, IsNil)
  133. // BucketName invalid
  134. err = client.DeleteBucket("xx")
  135. c.Assert(err, NotNil)
  136. err = client.DeleteBucket("XXXX")
  137. c.Assert(err, NotNil)
  138. err = client.DeleteBucket("_bucket")
  139. c.Assert(err, NotNil)
  140. // Delete no exist
  141. err = client.DeleteBucket("notexist")
  142. c.Assert(err, NotNil)
  143. // No permission to delete, this ak/sk for js sdk
  144. err = client.CreateBucket(bucketNameTest)
  145. c.Assert(err, IsNil)
  146. accessID := "<AccessKeyId>"
  147. accessKey := "<AccessKeySecret>"
  148. clientOtherUser, err := New(endpoint, accessID, accessKey)
  149. c.Assert(err, IsNil)
  150. err = clientOtherUser.DeleteBucket(bucketNameTest)
  151. c.Assert(err, NotNil)
  152. err = client.DeleteBucket(bucketNameTest)
  153. c.Assert(err, IsNil)
  154. }
  155. // TestListBucket
  156. func (s *OssClientSuite) TestListBucket(c *C) {
  157. var bucketNameLbOne = bucketNamePrefix + "tlb1"
  158. var bucketNameLbTwo = bucketNamePrefix + "tlb2"
  159. var bucketNameLbThree = bucketNamePrefix + "tlb3"
  160. client, err := New(endpoint, accessID, accessKey)
  161. c.Assert(err, IsNil)
  162. // CreateBucket
  163. err = client.CreateBucket(bucketNameLbOne)
  164. c.Assert(err, IsNil)
  165. err = client.CreateBucket(bucketNameLbTwo)
  166. c.Assert(err, IsNil)
  167. err = client.CreateBucket(bucketNameLbThree)
  168. c.Assert(err, IsNil)
  169. // ListBuckets, specified prefix
  170. lbr, err := client.ListBuckets(Prefix(bucketNamePrefix), MaxKeys(2))
  171. c.Assert(err, IsNil)
  172. c.Assert(len(lbr.Buckets), Equals, 2)
  173. // ListBuckets, specified max keys
  174. lbr, err = client.ListBuckets(MaxKeys(2))
  175. c.Assert(err, IsNil)
  176. c.Assert(len(lbr.Buckets), Equals, 2)
  177. // ListBuckets, specified max keys
  178. lbr, err = client.ListBuckets(Marker(bucketNameLbOne), MaxKeys(1))
  179. c.Assert(err, IsNil)
  180. c.Assert(len(lbr.Buckets), Equals, 1)
  181. // ListBuckets, specified max keys
  182. lbr, err = client.ListBuckets(Marker(bucketNameLbOne))
  183. c.Assert(err, IsNil)
  184. c.Assert(len(lbr.Buckets) == 2 || len(lbr.Buckets) == 3, Equals, true)
  185. // DeleteBucket
  186. err = client.DeleteBucket(bucketNameLbOne)
  187. c.Assert(err, IsNil)
  188. err = client.DeleteBucket(bucketNameLbTwo)
  189. c.Assert(err, IsNil)
  190. err = client.DeleteBucket(bucketNameLbThree)
  191. c.Assert(err, IsNil)
  192. }
  193. // TestListBucket
  194. func (s *OssClientSuite) TestIsBucketExist(c *C) {
  195. var bucketNameLbOne = bucketNamePrefix + "tibe1"
  196. var bucketNameLbTwo = bucketNamePrefix + "tibe11"
  197. var bucketNameLbThree = bucketNamePrefix + "tibe111"
  198. client, err := New(endpoint, accessID, accessKey)
  199. c.Assert(err, IsNil)
  200. // CreateBucket
  201. err = client.CreateBucket(bucketNameLbOne)
  202. c.Assert(err, IsNil)
  203. err = client.CreateBucket(bucketNameLbTwo)
  204. c.Assert(err, IsNil)
  205. err = client.CreateBucket(bucketNameLbThree)
  206. c.Assert(err, IsNil)
  207. // exist
  208. exist, err := client.IsBucketExist(bucketNameLbTwo)
  209. c.Assert(err, IsNil)
  210. c.Assert(exist, Equals, true)
  211. exist, err = client.IsBucketExist(bucketNameLbThree)
  212. c.Assert(err, IsNil)
  213. c.Assert(exist, Equals, true)
  214. exist, err = client.IsBucketExist(bucketNameLbOne)
  215. c.Assert(err, IsNil)
  216. c.Assert(exist, Equals, true)
  217. // not exist
  218. exist, err = client.IsBucketExist(bucketNamePrefix + "tibe")
  219. c.Assert(err, IsNil)
  220. c.Assert(exist, Equals, false)
  221. exist, err = client.IsBucketExist(bucketNamePrefix + "tibe1111")
  222. c.Assert(err, IsNil)
  223. c.Assert(exist, Equals, false)
  224. // negative
  225. exist, err = client.IsBucketExist("BucketNameInvalid")
  226. c.Assert(err, NotNil)
  227. // DeleteBucket
  228. err = client.DeleteBucket(bucketNameLbOne)
  229. c.Assert(err, IsNil)
  230. err = client.DeleteBucket(bucketNameLbTwo)
  231. c.Assert(err, IsNil)
  232. err = client.DeleteBucket(bucketNameLbThree)
  233. c.Assert(err, IsNil)
  234. }
  235. // TestSetBucketAcl
  236. func (s *OssClientSuite) TestSetBucketAcl(c *C) {
  237. var bucketNameTest = bucketNamePrefix + "tsba"
  238. client, err := New(endpoint, accessID, accessKey)
  239. c.Assert(err, IsNil)
  240. // Private
  241. client.DeleteBucket(bucketNameTest)
  242. err = client.CreateBucket(bucketNameTest)
  243. c.Assert(err, IsNil)
  244. res, err := client.GetBucketACL(bucketNameTest)
  245. c.Assert(err, IsNil)
  246. c.Assert(res.ACL, Equals, string(ACLPrivate))
  247. // set ACL_PUBLIC_R
  248. err = client.SetBucketACL(bucketNameTest, ACLPublicRead)
  249. c.Assert(err, IsNil)
  250. res, err = client.GetBucketACL(bucketNameTest)
  251. c.Assert(err, IsNil)
  252. c.Assert(res.ACL, Equals, string(ACLPublicRead))
  253. // set ACL_PUBLIC_RW
  254. err = client.SetBucketACL(bucketNameTest, ACLPublicReadWrite)
  255. c.Assert(err, IsNil)
  256. res, err = client.GetBucketACL(bucketNameTest)
  257. c.Assert(err, IsNil)
  258. c.Assert(res.ACL, Equals, string(ACLPublicReadWrite))
  259. // set ACL_PUBLIC_RW
  260. err = client.SetBucketACL(bucketNameTest, ACLPrivate)
  261. c.Assert(err, IsNil)
  262. err = client.SetBucketACL(bucketNameTest, ACLPrivate)
  263. c.Assert(err, IsNil)
  264. res, err = client.GetBucketACL(bucketNameTest)
  265. c.Assert(err, IsNil)
  266. c.Assert(res.ACL, Equals, string(ACLPrivate))
  267. err = client.DeleteBucket(bucketNameTest)
  268. c.Assert(err, IsNil)
  269. }
  270. // TestSetBucketAclNegative
  271. func (s *OssClientSuite) TestBucketAclNegative(c *C) {
  272. var bucketNameTest = bucketNamePrefix + "tsban"
  273. client, err := New(endpoint, accessID, accessKey)
  274. c.Assert(err, IsNil)
  275. err = client.CreateBucket(bucketNameTest)
  276. c.Assert(err, IsNil)
  277. err = client.SetBucketACL(bucketNameTest, "InvalidACL")
  278. c.Assert(err, NotNil)
  279. fmt.Println(err)
  280. err = client.DeleteBucket(bucketNameTest)
  281. c.Assert(err, IsNil)
  282. }
  283. // TestGetBucketAcl
  284. func (s *OssClientSuite) TestGetBucketAcl(c *C) {
  285. var bucketNameTest = bucketNamePrefix + "tgba"
  286. client, err := New(endpoint, accessID, accessKey)
  287. c.Assert(err, IsNil)
  288. // Private
  289. client.DeleteBucket(bucketNameTest)
  290. err = client.CreateBucket(bucketNameTest)
  291. c.Assert(err, IsNil)
  292. res, err := client.GetBucketACL(bucketNameTest)
  293. c.Assert(err, IsNil)
  294. c.Assert(res.ACL, Equals, string(ACLPrivate))
  295. err = client.DeleteBucket(bucketNameTest)
  296. c.Assert(err, IsNil)
  297. // PublicRead
  298. err = client.CreateBucket(bucketNameTest, ACL(ACLPublicRead))
  299. c.Assert(err, IsNil)
  300. res, err = client.GetBucketACL(bucketNameTest)
  301. c.Assert(err, IsNil)
  302. c.Assert(res.ACL, Equals, string(ACLPublicRead))
  303. err = client.DeleteBucket(bucketNameTest)
  304. c.Assert(err, IsNil)
  305. // PublicReadWrite
  306. err = client.CreateBucket(bucketNameTest, ACL(ACLPublicReadWrite))
  307. c.Assert(err, IsNil)
  308. res, err = client.GetBucketACL(bucketNameTest)
  309. c.Assert(err, IsNil)
  310. c.Assert(res.ACL, Equals, string(ACLPublicReadWrite))
  311. err = client.DeleteBucket(bucketNameTest)
  312. c.Assert(err, IsNil)
  313. }
  314. // TestGetBucketAcl
  315. func (s *OssClientSuite) TestGetBucketLocation(c *C) {
  316. var bucketNameTest = bucketNamePrefix + "tgbl"
  317. client, err := New(endpoint, accessID, accessKey)
  318. c.Assert(err, IsNil)
  319. // Private
  320. err = client.CreateBucket(bucketNameTest)
  321. c.Assert(err, IsNil)
  322. loc, err := client.GetBucketLocation(bucketNameTest)
  323. c.Assert(loc, Equals, "oss-cn-hangzhou")
  324. err = client.DeleteBucket(bucketNameTest)
  325. c.Assert(err, IsNil)
  326. }
  327. // TestGetBucketLocationNegative
  328. func (s *OssClientSuite) TestGetBucketLocationNegative(c *C) {
  329. var bucketNameTest = bucketNamePrefix + "tgblg"
  330. client, err := New(endpoint, accessID, accessKey)
  331. c.Assert(err, IsNil)
  332. // not exist
  333. _, err = client.GetBucketLocation(bucketNameTest)
  334. c.Assert(err, NotNil)
  335. // not exist
  336. _, err = client.GetBucketLocation("InvalidBucketName_")
  337. c.Assert(err, NotNil)
  338. }
  339. // TestSetBucketLifecycle
  340. func (s *OssClientSuite) TestSetBucketLifecycle(c *C) {
  341. var bucketNameTest = bucketNamePrefix + "tsbl"
  342. var rule1 = BuildLifecycleRuleByDate("idone", "one", true, 2015, 11, 11)
  343. var rule2 = BuildLifecycleRuleByDays("idtwo", "two", true, 3)
  344. client, err := New(endpoint, accessID, accessKey)
  345. c.Assert(err, IsNil)
  346. err = client.CreateBucket(bucketNameTest)
  347. c.Assert(err, IsNil)
  348. // set single rule
  349. var rules = []LifecycleRule{rule1}
  350. err = client.SetBucketLifecycle(bucketNameTest, rules)
  351. c.Assert(err, IsNil)
  352. // double set rule
  353. err = client.SetBucketLifecycle(bucketNameTest, rules)
  354. c.Assert(err, IsNil)
  355. res, err := client.GetBucketLifecycle(bucketNameTest)
  356. c.Assert(err, IsNil)
  357. c.Assert(len(res.Rules), Equals, 1)
  358. c.Assert(res.Rules[0].ID, Equals, "idone")
  359. err = client.DeleteBucketLifecycle(bucketNameTest)
  360. c.Assert(err, IsNil)
  361. // set two rules
  362. rules = []LifecycleRule{rule1, rule2}
  363. err = client.SetBucketLifecycle(bucketNameTest, rules)
  364. c.Assert(err, IsNil)
  365. res, err = client.GetBucketLifecycle(bucketNameTest)
  366. c.Assert(err, IsNil)
  367. c.Assert(len(res.Rules), Equals, 2)
  368. c.Assert(res.Rules[0].ID, Equals, "idone")
  369. c.Assert(res.Rules[1].ID, Equals, "idtwo")
  370. err = client.DeleteBucket(bucketNameTest)
  371. c.Assert(err, IsNil)
  372. }
  373. // TestDeleteBucketLifecycle
  374. func (s *OssClientSuite) TestDeleteBucketLifecycle(c *C) {
  375. var bucketNameTest = bucketNamePrefix + "tdbl"
  376. var rule1 = BuildLifecycleRuleByDate("idone", "one", true, 2015, 11, 11)
  377. var rule2 = BuildLifecycleRuleByDays("idtwo", "two", true, 3)
  378. var rules = []LifecycleRule{rule1, rule2}
  379. client, err := New(endpoint, accessID, accessKey)
  380. c.Assert(err, IsNil)
  381. err = client.CreateBucket(bucketNameTest)
  382. c.Assert(err, IsNil)
  383. err = client.DeleteBucketLifecycle(bucketNameTest)
  384. c.Assert(err, IsNil)
  385. err = client.SetBucketLifecycle(bucketNameTest, rules)
  386. c.Assert(err, IsNil)
  387. res, err := client.GetBucketLifecycle(bucketNameTest)
  388. c.Assert(err, IsNil)
  389. c.Assert(len(res.Rules), Equals, 2)
  390. // delete
  391. err = client.DeleteBucketLifecycle(bucketNameTest)
  392. c.Assert(err, IsNil)
  393. res, err = client.GetBucketLifecycle(bucketNameTest)
  394. c.Assert(err, NotNil)
  395. // eliminate effect of cache
  396. time.Sleep(time.Second * 3)
  397. // delete when not set
  398. err = client.DeleteBucketLifecycle(bucketNameTest)
  399. c.Assert(err, IsNil)
  400. err = client.DeleteBucket(bucketNameTest)
  401. c.Assert(err, IsNil)
  402. }
  403. // TestSetBucketLifecycleNegative
  404. func (s *OssClientSuite) TestBucketLifecycleNegative(c *C) {
  405. var bucketNameTest = bucketNamePrefix + "tsbln"
  406. var rules = []LifecycleRule{}
  407. client, err := New(endpoint, accessID, accessKey)
  408. c.Assert(err, IsNil)
  409. err = client.CreateBucket(bucketNameTest)
  410. c.Assert(err, IsNil)
  411. // set with no rule
  412. err = client.SetBucketLifecycle(bucketNameTest, rules)
  413. c.Assert(err, NotNil)
  414. err = client.DeleteBucket(bucketNameTest)
  415. c.Assert(err, IsNil)
  416. // not exist
  417. err = client.SetBucketLifecycle(bucketNameTest, rules)
  418. c.Assert(err, NotNil)
  419. // not exist
  420. _, err = client.GetBucketLifecycle(bucketNameTest)
  421. c.Assert(err, NotNil)
  422. // not exist
  423. err = client.DeleteBucketLifecycle(bucketNameTest)
  424. c.Assert(err, NotNil)
  425. }
  426. // TestSetBucketReferer
  427. func (s *OssClientSuite) TestSetBucketReferer(c *C) {
  428. var bucketNameTest = bucketNamePrefix + "tsbr"
  429. var referers = []string{"http://www.aliyun.com", "https://www.aliyun.com"}
  430. client, err := New(endpoint, accessID, accessKey)
  431. c.Assert(err, IsNil)
  432. err = client.CreateBucket(bucketNameTest)
  433. c.Assert(err, IsNil)
  434. res, err := client.GetBucketReferer(bucketNameTest)
  435. c.Assert(res.AllowEmptyReferer, Equals, true)
  436. c.Assert(len(res.RefererList), Equals, 0)
  437. // set referers
  438. err = client.SetBucketReferer(bucketNameTest, referers, false)
  439. c.Assert(err, IsNil)
  440. res, err = client.GetBucketReferer(bucketNameTest)
  441. c.Assert(res.AllowEmptyReferer, Equals, false)
  442. c.Assert(len(res.RefererList), Equals, 2)
  443. c.Assert(res.RefererList[0], Equals, "http://www.aliyun.com")
  444. c.Assert(res.RefererList[1], Equals, "https://www.aliyun.com")
  445. // reset referer, referers empty
  446. referers = []string{""}
  447. err = client.SetBucketReferer(bucketNameTest, referers, true)
  448. c.Assert(err, IsNil)
  449. referers = []string{}
  450. err = client.SetBucketReferer(bucketNameTest, referers, true)
  451. c.Assert(err, IsNil)
  452. res, err = client.GetBucketReferer(bucketNameTest)
  453. c.Assert(res.AllowEmptyReferer, Equals, true)
  454. c.Assert(len(res.RefererList), Equals, 0)
  455. err = client.DeleteBucket(bucketNameTest)
  456. c.Assert(err, IsNil)
  457. }
  458. // TestSetBucketRefererNegative
  459. func (s *OssClientSuite) TestBucketRefererNegative(c *C) {
  460. var bucketNameTest = bucketNamePrefix + "tsbrn"
  461. var referers = []string{""}
  462. client, err := New(endpoint, accessID, accessKey)
  463. c.Assert(err, IsNil)
  464. // not exist
  465. _, err = client.GetBucketReferer(bucketNameTest)
  466. c.Assert(err, NotNil)
  467. fmt.Println(err)
  468. // not exist
  469. err = client.SetBucketReferer(bucketNameTest, referers, true)
  470. c.Assert(err, NotNil)
  471. fmt.Println(err)
  472. }
  473. // TestSetBucketLogging
  474. func (s *OssClientSuite) TestSetBucketLogging(c *C) {
  475. var bucketNameTest = bucketNamePrefix + "tsbl"
  476. var bucketNameTarget = bucketNamePrefix + "tsblt"
  477. client, err := New(endpoint, accessID, accessKey)
  478. c.Assert(err, IsNil)
  479. err = client.CreateBucket(bucketNameTest)
  480. c.Assert(err, IsNil)
  481. err = client.CreateBucket(bucketNameTarget)
  482. c.Assert(err, IsNil)
  483. // set logging
  484. err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", true)
  485. c.Assert(err, IsNil)
  486. // reset
  487. err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", false)
  488. c.Assert(err, IsNil)
  489. res, err := client.GetBucketLogging(bucketNameTest)
  490. c.Assert(err, IsNil)
  491. c.Assert(res.LoggingEnabled.TargetBucket, Equals, "")
  492. c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "")
  493. err = client.DeleteBucketLogging(bucketNameTest)
  494. c.Assert(err, IsNil)
  495. // set to self
  496. err = client.SetBucketLogging(bucketNameTest, bucketNameTest, "prefix", true)
  497. c.Assert(err, IsNil)
  498. err = client.DeleteBucket(bucketNameTest)
  499. c.Assert(err, IsNil)
  500. err = client.DeleteBucket(bucketNameTarget)
  501. c.Assert(err, IsNil)
  502. }
  503. // TestDeleteBucketLogging
  504. func (s *OssClientSuite) TestDeleteBucketLogging(c *C) {
  505. var bucketNameTest = bucketNamePrefix + "tdbl"
  506. var bucketNameTarget = bucketNamePrefix + "tdblt"
  507. client, err := New(endpoint, accessID, accessKey)
  508. c.Assert(err, IsNil)
  509. err = client.CreateBucket(bucketNameTest)
  510. c.Assert(err, IsNil)
  511. err = client.CreateBucket(bucketNameTarget)
  512. c.Assert(err, IsNil)
  513. // get when not set
  514. res, err := client.GetBucketLogging(bucketNameTest)
  515. c.Assert(err, IsNil)
  516. c.Assert(res.LoggingEnabled.TargetBucket, Equals, "")
  517. c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "")
  518. // set
  519. err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", true)
  520. c.Assert(err, IsNil)
  521. // get
  522. res, err = client.GetBucketLogging(bucketNameTest)
  523. c.Assert(err, IsNil)
  524. c.Assert(res.LoggingEnabled.TargetBucket, Equals, bucketNameTarget)
  525. c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "prefix")
  526. // set
  527. err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", false)
  528. c.Assert(err, IsNil)
  529. // get
  530. res, err = client.GetBucketLogging(bucketNameTest)
  531. c.Assert(err, IsNil)
  532. c.Assert(res.LoggingEnabled.TargetBucket, Equals, "")
  533. c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "")
  534. // delete
  535. err = client.DeleteBucketLogging(bucketNameTest)
  536. c.Assert(err, IsNil)
  537. // get after delete
  538. res, err = client.GetBucketLogging(bucketNameTest)
  539. c.Assert(err, IsNil)
  540. c.Assert(res.LoggingEnabled.TargetBucket, Equals, "")
  541. c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "")
  542. err = client.DeleteBucket(bucketNameTest)
  543. c.Assert(err, IsNil)
  544. err = client.DeleteBucket(bucketNameTarget)
  545. c.Assert(err, IsNil)
  546. }
  547. // TestSetBucketLoggingNegative
  548. func (s *OssClientSuite) TestSetBucketLoggingNegative(c *C) {
  549. var bucketNameTest = bucketNamePrefix + "tsbln"
  550. var bucketNameTarget = bucketNamePrefix + "tsblnt"
  551. client, err := New(endpoint, accessID, accessKey)
  552. c.Assert(err, IsNil)
  553. // not exist
  554. _, err = client.GetBucketLogging(bucketNameTest)
  555. c.Assert(err, NotNil)
  556. // not exist
  557. err = client.SetBucketLogging(bucketNameTest, "targetbucket", "prefix", true)
  558. c.Assert(err, NotNil)
  559. // not exist
  560. err = client.DeleteBucketLogging(bucketNameTest)
  561. c.Assert(err, NotNil)
  562. err = client.CreateBucket(bucketNameTest)
  563. c.Assert(err, IsNil)
  564. // target bucket not exist
  565. err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", true)
  566. c.Assert(err, NotNil)
  567. // err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", false)
  568. // c.Assert(err, NotNil)
  569. // parameter invalid
  570. err = client.SetBucketLogging(bucketNameTest, "XXXX", "prefix", true)
  571. c.Assert(err, NotNil)
  572. // err = client.SetBucketLogging(bucketNameTest, "XXXX", "prefix", false)
  573. // c.Assert(err, NotNil)
  574. err = client.SetBucketLogging(bucketNameTest, "xx", "prefix", true)
  575. c.Assert(err, NotNil)
  576. err = client.DeleteBucket(bucketNameTest)
  577. c.Assert(err, IsNil)
  578. }
  579. // TestSetBucketWebsite
  580. func (s *OssClientSuite) TestSetBucketWebsite(c *C) {
  581. var bucketNameTest = bucketNamePrefix + "tsbw"
  582. var indexWebsite = "myindex.html"
  583. var errorWebsite = "myerror.html"
  584. client, err := New(endpoint, accessID, accessKey)
  585. c.Assert(err, IsNil)
  586. err = client.CreateBucket(bucketNameTest)
  587. c.Assert(err, IsNil)
  588. // set
  589. err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
  590. c.Assert(err, IsNil)
  591. // double set
  592. err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
  593. c.Assert(err, IsNil)
  594. res, err := client.GetBucketWebsite(bucketNameTest)
  595. c.Assert(err, IsNil)
  596. c.Assert(res.IndexDocument.Suffix, Equals, indexWebsite)
  597. c.Assert(res.ErrorDocument.Key, Equals, errorWebsite)
  598. // reset
  599. err = client.SetBucketWebsite(bucketNameTest, "your"+indexWebsite, "your"+errorWebsite)
  600. c.Assert(err, IsNil)
  601. res, err = client.GetBucketWebsite(bucketNameTest)
  602. c.Assert(err, IsNil)
  603. c.Assert(res.IndexDocument.Suffix, Equals, "your"+indexWebsite)
  604. c.Assert(res.ErrorDocument.Key, Equals, "your"+errorWebsite)
  605. err = client.DeleteBucketWebsite(bucketNameTest)
  606. c.Assert(err, IsNil)
  607. // set after delete
  608. err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
  609. c.Assert(err, IsNil)
  610. res, err = client.GetBucketWebsite(bucketNameTest)
  611. c.Assert(err, IsNil)
  612. c.Assert(res.IndexDocument.Suffix, Equals, indexWebsite)
  613. c.Assert(res.ErrorDocument.Key, Equals, errorWebsite)
  614. err = client.DeleteBucket(bucketNameTest)
  615. c.Assert(err, IsNil)
  616. }
  617. // TestDeleteBucketWebsite
  618. func (s *OssClientSuite) TestDeleteBucketWebsite(c *C) {
  619. var bucketNameTest = bucketNamePrefix + "tdbw"
  620. var indexWebsite = "myindex.html"
  621. var errorWebsite = "myerror.html"
  622. client, err := New(endpoint, accessID, accessKey)
  623. c.Assert(err, IsNil)
  624. err = client.CreateBucket(bucketNameTest)
  625. c.Assert(err, IsNil)
  626. // get
  627. res, err := client.GetBucketWebsite(bucketNameTest)
  628. c.Assert(err, NotNil)
  629. // detele without set
  630. err = client.DeleteBucketWebsite(bucketNameTest)
  631. c.Assert(err, IsNil)
  632. // set
  633. err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
  634. c.Assert(err, IsNil)
  635. res, err = client.GetBucketWebsite(bucketNameTest)
  636. c.Assert(err, IsNil)
  637. c.Assert(res.IndexDocument.Suffix, Equals, indexWebsite)
  638. c.Assert(res.ErrorDocument.Key, Equals, errorWebsite)
  639. // detele
  640. err = client.DeleteBucketWebsite(bucketNameTest)
  641. c.Assert(err, IsNil)
  642. res, err = client.GetBucketWebsite(bucketNameTest)
  643. c.Assert(err, NotNil)
  644. // detele after delete
  645. err = client.DeleteBucketWebsite(bucketNameTest)
  646. c.Assert(err, IsNil)
  647. err = client.DeleteBucket(bucketNameTest)
  648. c.Assert(err, IsNil)
  649. }
  650. // TestSetBucketWebsiteNegative
  651. func (s *OssClientSuite) TestSetBucketWebsiteNegative(c *C) {
  652. var bucketNameTest = bucketNamePrefix + "tdbw"
  653. var indexWebsite = "myindex.html"
  654. var errorWebsite = "myerror.html"
  655. client, err := New(endpoint, accessID, accessKey)
  656. c.Assert(err, IsNil)
  657. err = client.DeleteBucket(bucketNameTest)
  658. // not exist
  659. _, err = client.GetBucketWebsite(bucketNameTest)
  660. c.Assert(err, NotNil)
  661. err = client.DeleteBucketWebsite(bucketNameTest)
  662. c.Assert(err, NotNil)
  663. err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
  664. c.Assert(err, NotNil)
  665. err = client.CreateBucket(bucketNameTest)
  666. c.Assert(err, IsNil)
  667. // set
  668. err = client.SetBucketWebsite(bucketNameTest, "myindex", "myerror")
  669. c.Assert(err, IsNil)
  670. res, err := client.GetBucketWebsite(bucketNameTest)
  671. c.Assert(err, IsNil)
  672. c.Assert(res.IndexDocument.Suffix, Equals, "myindex")
  673. c.Assert(res.ErrorDocument.Key, Equals, "myerror")
  674. // detele
  675. err = client.DeleteBucketWebsite(bucketNameTest)
  676. c.Assert(err, IsNil)
  677. _, err = client.GetBucketWebsite(bucketNameTest)
  678. c.Assert(err, NotNil)
  679. // detele after delete
  680. err = client.DeleteBucketWebsite(bucketNameTest)
  681. c.Assert(err, IsNil)
  682. err = client.DeleteBucket(bucketNameTest)
  683. c.Assert(err, IsNil)
  684. }
  685. // TestSetBucketWebsite
  686. func (s *OssClientSuite) TestSetBucketCORS(c *C) {
  687. var bucketNameTest = bucketNamePrefix + "tsbc"
  688. var rule1 = CORSRule{
  689. AllowedOrigin: []string{"*"},
  690. AllowedMethod: []string{"PUT", "GET", "POST"},
  691. AllowedHeader: []string{},
  692. ExposeHeader: []string{},
  693. MaxAgeSeconds: 100,
  694. }
  695. var rule2 = CORSRule{
  696. AllowedOrigin: []string{"http://www.a.com", "http://www.b.com"},
  697. AllowedMethod: []string{"GET"},
  698. AllowedHeader: []string{"Authorization"},
  699. ExposeHeader: []string{"x-oss-test", "x-oss-test1"},
  700. MaxAgeSeconds: 200,
  701. }
  702. client, err := New(endpoint, accessID, accessKey)
  703. c.Assert(err, IsNil)
  704. err = client.CreateBucket(bucketNameTest)
  705. c.Assert(err, IsNil)
  706. // set
  707. err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1})
  708. c.Assert(err, IsNil)
  709. gbcr, err := client.GetBucketCORS(bucketNameTest)
  710. c.Assert(err, IsNil)
  711. c.Assert(len(gbcr.CORSRules), Equals, 1)
  712. c.Assert(len(gbcr.CORSRules[0].AllowedOrigin), Equals, 1)
  713. c.Assert(len(gbcr.CORSRules[0].AllowedMethod), Equals, 3)
  714. c.Assert(len(gbcr.CORSRules[0].AllowedHeader), Equals, 0)
  715. c.Assert(len(gbcr.CORSRules[0].ExposeHeader), Equals, 0)
  716. c.Assert(gbcr.CORSRules[0].MaxAgeSeconds, Equals, 100)
  717. // double set
  718. err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1})
  719. c.Assert(err, IsNil)
  720. gbcr, err = client.GetBucketCORS(bucketNameTest)
  721. c.Assert(err, IsNil)
  722. c.Assert(len(gbcr.CORSRules), Equals, 1)
  723. c.Assert(len(gbcr.CORSRules[0].AllowedOrigin), Equals, 1)
  724. c.Assert(len(gbcr.CORSRules[0].AllowedMethod), Equals, 3)
  725. c.Assert(len(gbcr.CORSRules[0].AllowedHeader), Equals, 0)
  726. c.Assert(len(gbcr.CORSRules[0].ExposeHeader), Equals, 0)
  727. c.Assert(gbcr.CORSRules[0].MaxAgeSeconds, Equals, 100)
  728. // set rule2
  729. err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule2})
  730. c.Assert(err, IsNil)
  731. gbcr, err = client.GetBucketCORS(bucketNameTest)
  732. c.Assert(err, IsNil)
  733. c.Assert(len(gbcr.CORSRules), Equals, 1)
  734. c.Assert(len(gbcr.CORSRules[0].AllowedOrigin), Equals, 2)
  735. c.Assert(len(gbcr.CORSRules[0].AllowedMethod), Equals, 1)
  736. c.Assert(len(gbcr.CORSRules[0].AllowedHeader), Equals, 1)
  737. c.Assert(len(gbcr.CORSRules[0].ExposeHeader), Equals, 2)
  738. c.Assert(gbcr.CORSRules[0].MaxAgeSeconds, Equals, 200)
  739. // reset
  740. err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1, rule2})
  741. c.Assert(err, IsNil)
  742. gbcr, err = client.GetBucketCORS(bucketNameTest)
  743. c.Assert(err, IsNil)
  744. c.Assert(len(gbcr.CORSRules), Equals, 2)
  745. // set after delete
  746. err = client.DeleteBucketCORS(bucketNameTest)
  747. c.Assert(err, IsNil)
  748. err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1, rule2})
  749. c.Assert(err, IsNil)
  750. gbcr, err = client.GetBucketCORS(bucketNameTest)
  751. c.Assert(err, IsNil)
  752. c.Assert(len(gbcr.CORSRules), Equals, 2)
  753. err = client.DeleteBucketCORS(bucketNameTest)
  754. c.Assert(err, IsNil)
  755. err = client.DeleteBucket(bucketNameTest)
  756. c.Assert(err, IsNil)
  757. }
  758. // TestSetBucketCORSNegative
  759. func (s *OssClientSuite) TestDeleteBucketCORS(c *C) {
  760. var bucketNameTest = bucketNamePrefix + "tdbc"
  761. var rule = CORSRule{
  762. AllowedOrigin: []string{"*"},
  763. AllowedMethod: []string{"PUT", "GET", "POST"},
  764. AllowedHeader: []string{},
  765. ExposeHeader: []string{},
  766. MaxAgeSeconds: 100,
  767. }
  768. client, err := New(endpoint, accessID, accessKey)
  769. c.Assert(err, IsNil)
  770. err = client.CreateBucket(bucketNameTest)
  771. c.Assert(err, IsNil)
  772. // delete not set
  773. err = client.DeleteBucketCORS(bucketNameTest)
  774. c.Assert(err, IsNil)
  775. // set
  776. err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule})
  777. c.Assert(err, IsNil)
  778. _, err = client.GetBucketCORS(bucketNameTest)
  779. c.Assert(err, IsNil)
  780. // detele
  781. err = client.DeleteBucketCORS(bucketNameTest)
  782. c.Assert(err, IsNil)
  783. _, err = client.GetBucketCORS(bucketNameTest)
  784. c.Assert(err, NotNil)
  785. // detele after delete
  786. err = client.DeleteBucketCORS(bucketNameTest)
  787. c.Assert(err, IsNil)
  788. err = client.DeleteBucket(bucketNameTest)
  789. c.Assert(err, IsNil)
  790. }
  791. // TestSetBucketCORSNegative
  792. func (s *OssClientSuite) TestSetBucketCORSNegative(c *C) {
  793. var bucketNameTest = bucketNamePrefix + "tsbcn"
  794. var rule = CORSRule{
  795. AllowedOrigin: []string{"*"},
  796. AllowedMethod: []string{"PUT", "GET", "POST"},
  797. AllowedHeader: []string{},
  798. ExposeHeader: []string{},
  799. MaxAgeSeconds: 100,
  800. }
  801. client, err := New(endpoint, accessID, accessKey)
  802. c.Assert(err, IsNil)
  803. err = client.DeleteBucket(bucketNameTest)
  804. // not exist
  805. _, err = client.GetBucketCORS(bucketNameTest)
  806. c.Assert(err, NotNil)
  807. err = client.DeleteBucketCORS(bucketNameTest)
  808. c.Assert(err, NotNil)
  809. err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule})
  810. c.Assert(err, NotNil)
  811. err = client.CreateBucket(bucketNameTest)
  812. c.Assert(err, IsNil)
  813. _, err = client.GetBucketCORS(bucketNameTest)
  814. c.Assert(err, NotNil)
  815. // set
  816. err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule})
  817. c.Assert(err, IsNil)
  818. _, err = client.GetBucketCORS(bucketNameTest)
  819. c.Assert(err, IsNil)
  820. // detele
  821. err = client.DeleteBucketCORS(bucketNameTest)
  822. c.Assert(err, IsNil)
  823. _, err = client.GetBucketCORS(bucketNameTest)
  824. c.Assert(err, NotNil)
  825. // detele after delete
  826. err = client.DeleteBucketCORS(bucketNameTest)
  827. c.Assert(err, IsNil)
  828. err = client.DeleteBucket(bucketNameTest)
  829. c.Assert(err, IsNil)
  830. }
  831. // TestEndpointFormat
  832. func (s *OssClientSuite) TestEndpointFormat(c *C) {
  833. var bucketNameTest = bucketNamePrefix + "tef"
  834. // http://host
  835. client, err := New(endpoint, accessID, accessKey)
  836. c.Assert(err, IsNil)
  837. err = client.CreateBucket(bucketNameTest)
  838. c.Assert(err, IsNil)
  839. res, err := client.GetBucketACL(bucketNameTest)
  840. c.Assert(err, IsNil)
  841. c.Assert(res.ACL, Equals, string(ACLPrivate))
  842. err = client.DeleteBucket(bucketNameTest)
  843. c.Assert(err, IsNil)
  844. // http://host:port
  845. client, err = New(endpoint+":80", accessID, accessKey)
  846. c.Assert(err, IsNil)
  847. err = client.CreateBucket(bucketNameTest)
  848. c.Assert(err, IsNil)
  849. res, err = client.GetBucketACL(bucketNameTest)
  850. c.Assert(err, IsNil)
  851. c.Assert(res.ACL, Equals, string(ACLPrivate))
  852. err = client.DeleteBucket(bucketNameTest)
  853. c.Assert(err, IsNil)
  854. }
  855. // TestCname
  856. func (s *OssClientSuite) TestCname(c *C) {
  857. var bucketNameTest = "<my-bucket-cname>"
  858. client, err := New("<endpoint>", "<AccessKeyId>", "<AccessKeySecret>", UseCname(true))
  859. c.Assert(err, IsNil)
  860. err = client.CreateBucket(bucketNameTest)
  861. c.Assert(err, IsNil)
  862. _, err = client.ListBuckets()
  863. c.Assert(err, NotNil)
  864. res, err := client.GetBucketACL(bucketNameTest)
  865. c.Assert(err, IsNil)
  866. c.Assert(res.ACL, Equals, string(ACLPrivate))
  867. }
  868. // TestCname
  869. func (s *OssClientSuite) TestCnameNegative(c *C) {
  870. var bucketNameTest = "<my-bucket-cname>"
  871. client, err := New("<endpoint>", "<AccessKeyId>", "<AccessKeySecret>", UseCname(true))
  872. c.Assert(err, IsNil)
  873. err = client.CreateBucket(bucketNameTest)
  874. c.Assert(err, NotNil)
  875. _, err = client.ListBuckets()
  876. c.Assert(err, NotNil)
  877. _, err = client.GetBucketACL(bucketNameTest)
  878. c.Assert(err, NotNil)
  879. }
  880. // TestHttps
  881. func (s *OssClientSuite) TestHttps(c *C) {
  882. var bucketNameTest = "<my-bucket-https>"
  883. client, err := New("<endpoint>", "<AccessKeyId>", "<AccessKeySecret>")
  884. c.Assert(err, IsNil)
  885. err = client.CreateBucket(bucketNameTest)
  886. c.Assert(err, IsNil)
  887. res, err := client.GetBucketACL(bucketNameTest)
  888. c.Assert(err, IsNil)
  889. c.Assert(res.ACL, Equals, string(ACLPrivate))
  890. err = client.DeleteBucket(bucketNameTest)
  891. c.Assert(err, IsNil)
  892. }
  893. // TestClientOption
  894. func (s *OssClientSuite) TestClientOption(c *C) {
  895. var bucketNameTest = bucketNamePrefix + "tco"
  896. client, err := New(endpoint, accessID, accessKey, UseCname(true),
  897. Timeout(11, 12), SecurityToken("token"), IOBufferSize(1024))
  898. c.Assert(err, IsNil)
  899. // Create
  900. err = client.CreateBucket(bucketNameTest)
  901. c.Assert(err, NotNil)
  902. c.Assert(client.Conn.config.HTTPTimeout.ConnectTimeout, Equals, time.Second*11)
  903. c.Assert(client.Conn.config.HTTPTimeout.ReadWriteTimeout, Equals, time.Second*12)
  904. c.Assert(client.Conn.config.HTTPTimeout.HeaderTimeout, Equals, time.Second*12)
  905. c.Assert(client.Conn.config.HTTPTimeout.LongTimeout, Equals, time.Second*12*10)
  906. c.Assert(client.Conn.config.SecurityToken, Equals, "token")
  907. c.Assert(client.Conn.config.IsCname, Equals, true)
  908. c.Assert(client.Conn.config.IOBufSize, Equals, int64(1024))
  909. }
  910. // private
  911. func (s *OssClientSuite) checkBucket(buckets []BucketProperties, bucket string) bool {
  912. for _, v := range buckets {
  913. if v.Name == bucket {
  914. return true
  915. }
  916. }
  917. return false
  918. }