package cos import ( "context" "net/http" "testing" ) func TestCIService_CreateDocProcessJobs(t *testing.T) { setup() defer teardown() wantBody := "DocProcess1.doc" + "ap-chongqingexamplebucket-1250000000" + "big/test-${Number}" + "png1-1" + "watermark/1/image/aHR0cDovL3Rlc3QwMDUtMTI1MTcwNDcwOC5jb3MuYXAtY2hvbmdxaW5nLm15cWNsb3VkLmNvbS8xLmpwZw==/gravity/southeast" + "p532fdead78444e649e1a4467c1cd19d3" mux.HandleFunc("/doc_jobs", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPost) testHeader(t, r, "Content-Type", "application/xml") testBody(t, r, wantBody) }) createJobOpt := &CreateDocProcessJobsOptions{ Tag: "DocProcess", Input: &DocProcessJobInput{ Object: "1.doc", }, Operation: &DocProcessJobOperation{ Output: &DocProcessJobOutput{ Region: "ap-chongqing", Object: "big/test-${Number}", Bucket: "examplebucket-1250000000", }, DocProcess: &DocProcessJobDocProcess{ TgtType: "png", StartPage: 1, EndPage: -1, ImageParams: "watermark/1/image/aHR0cDovL3Rlc3QwMDUtMTI1MTcwNDcwOC5jb3MuYXAtY2hvbmdxaW5nLm15cWNsb3VkLmNvbS8xLmpwZw==/gravity/southeast", }, }, QueueId: "p532fdead78444e649e1a4467c1cd19d3", } _, _, err := client.CI.CreateDocProcessJobs(context.Background(), createJobOpt) if err != nil { t.Fatalf("CI.CreateDocProcessJobs returned error: %v", err) } } func TestCIService_DescribeDocProcessJob(t *testing.T) { setup() defer teardown() jobID := "d13cfd584cd9011ea820b597ad1785a2f" mux.HandleFunc("/doc_jobs"+"/"+jobID, func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) }) _, _, err := client.CI.DescribeDocProcessJob(context.Background(), jobID) if err != nil { t.Fatalf("CI.DescribeDocProcessJob returned error: %v", err) } } func TestCIService_DescribeDocProcessJobs(t *testing.T) { setup() defer teardown() mux.HandleFunc("/doc_jobs", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) v := values{ "queueId": "QueueID", "tag": "DocProcess", } testFormValues(t, r, v) }) opt := &DescribeDocProcessJobsOptions{ QueueId: "QueueID", Tag: "DocProcess", } _, _, err := client.CI.DescribeDocProcessJobs(context.Background(), opt) if err != nil { t.Fatalf("CI.DescribeDocProcessJobs returned error: %v", err) } } func TestCIService_DescribeDocProcessQueues(t *testing.T) { setup() defer teardown() mux.HandleFunc("/docqueue", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) v := values{ "pageNumber": "1", "pageSize": "2", "queueIds": "p111a8dd208104ce3b11c78398f658ca8,p4318f85d2aa14c43b1dba6f9b78be9b3,aacb2bb066e9c4478834d4196e76c49d3", } testFormValues(t, r, v) }) opt := &DescribeDocProcessQueuesOptions{ QueueIds: "p111a8dd208104ce3b11c78398f658ca8,p4318f85d2aa14c43b1dba6f9b78be9b3,aacb2bb066e9c4478834d4196e76c49d3", PageNumber: 1, PageSize: 2, } _, _, err := client.CI.DescribeDocProcessQueues(context.Background(), opt) if err != nil { t.Fatalf("CI.DescribeDocProcessQueues returned error: %v", err) } } func TestCIService_UpdateDocProcessQueue(t *testing.T) { setup() defer teardown() queueID := "p2505d57bdf4c4329804b58a6a5fb1572" wantBody := "markjrzhang4p2505d57bdf4c4329804b58a6a5fb1572" + "Active" + "http://google.com/On" + "UrlTransCodingFinish" + "" mux.HandleFunc("/docqueue/"+queueID, func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodPut) testBody(t, r, wantBody) }) opt := &UpdateDocProcessQueueOptions{ Name: "markjrzhang4", QueueID: queueID, State: "Active", NotifyConfig: &DocProcessQueueNotifyConfig{ Url: "http://google.com/", State: "On", Type: "Url", Event: "TransCodingFinish", }, } _, _, err := client.CI.UpdateDocProcessQueue(context.Background(), opt) if err != nil { t.Fatalf("CI.DescribeDocProcessQueues returned error: %v", err) } } func TestCIService_DescribeDocProcessBuckets(t *testing.T) { setup() defer teardown() mux.HandleFunc("/docbucket", func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) v := values{ "pageNumber": "1", "pageSize": "2", "regions": "ap-shanghai", } testFormValues(t, r, v) }) opt := &DescribeDocProcessBucketsOptions{ Regions: "ap-shanghai", PageNumber: 1, PageSize: 2, } _, _, err := client.CI.DescribeDocProcessBuckets(context.Background(), opt) if err != nil { t.Fatalf("CI.DescribeDocProcessBuckets returned error: %v", err) } } func TestCIService_DocPreview(t *testing.T) { setup() defer teardown() name := "sample.pdf" mux.HandleFunc("/"+name, func(w http.ResponseWriter, r *http.Request) { testMethod(t, r, http.MethodGet) v := values{ "ci-process": "doc-preview", "page": "1", "ImageParams": "imageMogr2/thumbnail/!50p|watermark/2/text/5pWw5o2u5LiH6LGh/fill/I0ZGRkZGRg==/fontsize/30/dx/20/dy/20", } testFormValues(t, r, v) }) opt := &DocPreviewOptions{ Page: 1, ImageParams: "imageMogr2/thumbnail/!50p|watermark/2/text/5pWw5o2u5LiH6LGh/fill/I0ZGRkZGRg==/fontsize/30/dx/20/dy/20", } _, err := client.CI.DocPreview(context.Background(), name, opt) if err != nil { t.Fatalf("CI.DocPreview returned error: %v", err) } }