Bläddra i källkod

add ut for process object

hangzws 7 år sedan
förälder
incheckning
6a750c8764
3 ändrade filer med 40 tillägg och 2 borttagningar
  1. 1 1
      oss/bucket.go
  2. 29 1
      oss/bucket_test.go
  3. 10 0
      oss/option_test.go

+ 1 - 1
oss/bucket.go

@@ -895,7 +895,7 @@ func (bucket Bucket) DoGetObjectWithURL(signedURL string, options []Option) (*Ge
 // udf, customized style, etc.
 //
 //
-// objectKey	object key to restore.
+// objectKey	object key to process.
 // process	process string, such as "image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA"
 //
 // error    it's nil if no error, otherwise it's an error object.

+ 29 - 1
oss/bucket_test.go

@@ -4,6 +4,7 @@ package oss
 
 import (
 	"bytes"
+	"encoding/base64"
 	"errors"
 	"fmt"
 	"io"
@@ -133,7 +134,7 @@ func (s *OssBucketSuite) TestPutObject(c *C) {
 	err = s.bucket.DeleteObject(objectName)
 	c.Assert(err, IsNil)
 
-	// Put bytes 
+	// Put bytes
 	err = s.bucket.PutObject(objectName, bytes.NewReader([]byte(objectValue)))
 	c.Assert(err, IsNil)
 
@@ -2048,6 +2049,33 @@ func (s *OssBucketSuite) TestRestoreObject(c *C) {
 	c.Assert(meta.Get("X-Oss-Storage-Class"), Equals, "Archive")
 }
 
+// TestProcessObject
+func (s *OssBucketSuite) TestProcessObject(c *C) {
+	objectName := objectNamePrefix + "_process_src.jpg"
+	err := s.bucket.PutObjectFromFile(objectName, "../sample/BingWallpaper-2015-11-07.jpg")
+	c.Assert(err, IsNil)
+
+	// If bucket-name not specified, it is saved to the current bucket by default.
+	destObjName := objectNamePrefix + "_process_dest_1.jpg"
+	process := fmt.Sprintf("image/resize,w_100|sys/saveas,o_%v", base64.URLEncoding.EncodeToString([]byte(destObjName)))
+	err = s.bucket.ProcessObject(objectName, process)
+	c.Assert(err, IsNil)
+	exist, _ := s.bucket.IsObjectExist(destObjName)
+	c.Assert(exist, Equals, true)
+
+	destObjName = objectNamePrefix + "_process_dest_1.jpg"
+	process = fmt.Sprintf("image/resize,w_100|sys/saveas,o_%v,b_%v", base64.URLEncoding.EncodeToString([]byte(destObjName)), base64.URLEncoding.EncodeToString([]byte(s.bucket.BucketName)))
+	err = s.bucket.ProcessObject(objectName, process)
+	c.Assert(err, IsNil)
+	exist, _ = s.bucket.IsObjectExist(destObjName)
+	c.Assert(exist, Equals, true)
+
+	//no support process
+	process = fmt.Sprintf("image/resize,w_100|saveas,o_%v,b_%v", base64.URLEncoding.EncodeToString([]byte(destObjName)), base64.URLEncoding.EncodeToString([]byte(s.bucket.BucketName)))
+	err = s.bucket.ProcessObject(objectName, process)
+	c.Assert(err, NotNil)
+}
+
 // Private
 func createFileAndWrite(fileName string, data []byte) error {
 	os.Remove(fileName)

+ 10 - 0
oss/option_test.go

@@ -132,6 +132,16 @@ var headerTestcases = []optionTestCase{
 		key:    "X-Oss-Storage-Class",
 		value:  "Standard",
 	},
+	{
+		option: Callback("JTdCJTIyY2FsbGJhY2tVcmwlMjIlM0ElMjJleGFtcGxlLmNvbS9pbmRleC5odG1sJTIyJTdE"),
+		key:    "X-Oss-Callback",
+		value:  "JTdCJTIyY2FsbGJhY2tVcmwlMjIlM0ElMjJleGFtcGxlLmNvbS9pbmRleC5odG1sJTIyJTdE",
+	},
+	{
+		option: CallbackVar("JTdCJTIyeCUzQXZhcjElMjIlM0ElMjJ2YWx1ZTElMjIlMkMlMjJ4JTNBdmFyMiUyMiUzQSUyMnZhbHVlMiUyMiU3RA=="),
+		key:    "X-Oss-Callback-Var",
+		value:  "JTdCJTIyeCUzQXZhcjElMjIlM0ElMjJ2YWx1ZTElMjIlMkMlMjJ4JTNBdmFyMiUyMiUzQSUyMnZhbHVlMiUyMiU3RA==",
+	},
 }
 
 func (s *OssOptionSuite) TestHeaderOptions(c *C) {