@@ -5,12 +5,14 @@ package uploader_test
55import (
66 "context"
77 "fmt"
8+ "net/http"
9+ "testing"
10+
811 "github.com/cloudinary/cloudinary-go/v2/api"
912 "github.com/cloudinary/cloudinary-go/v2/api/uploader"
1013 "github.com/cloudinary/cloudinary-go/v2/config"
1114 "github.com/cloudinary/cloudinary-go/v2/internal/cldtest"
1215 "github.com/cloudinary/cloudinary-go/v2/internal/signature"
13- "testing"
1416)
1517
1618var oAuthTokenConfig , _ = config .NewFromOAuthToken (cldtest .CloudName , "MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI4" )
@@ -186,6 +188,35 @@ func getUploadConfigTestCases() []UploadAPIAcceptanceTestCase {
186188 }
187189}
188190
191+ // Acceptance test cases for before send
192+ func getBeforeSendTestCases () []UploadAPIAcceptanceTestCase {
193+ body := "file=data%3Aimage%2Fgif%3Bbase64%2CR0lGODlhAQABAIAAAAAAAP%2F%2F%2FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7" +
194+ "×tamp=123456789&unsigned=true"
195+
196+ return []UploadAPIAcceptanceTestCase {
197+ {
198+ Name : "Upload Test Before Send" ,
199+ RequestTest : func (uploadAPI * uploader.API , ctx context.Context ) (interface {}, error ) {
200+ uploadAPI .Config .API .BeforeSend = func (req * http.Request ) {
201+ req .Header .Set ("X-Test-Header" , "test" )
202+ }
203+ return uploadAPI .Upload (ctx , cldtest .Base64Image , uploader.UploadParams {
204+ Timestamp : 123456789 ,
205+ Unsigned : api .Bool (true ),
206+ })
207+ },
208+ ResponseTest : func (response interface {}, t * testing.T ) {},
209+ ExpectedRequest : cldtest.ExpectedRequestParams {
210+ Method : "POST" ,
211+ URI : "/auto/upload" ,
212+ Body : & body ,
213+ Headers : & map [string ]string {"X-Test-Header" : "test" },
214+ },
215+ ExpectedCallCount : 1 ,
216+ },
217+ }
218+ }
219+
189220// Run tests
190221func TestUploadAPI_Acceptance (t * testing.T ) {
191222 t .Parallel ()
@@ -195,4 +226,5 @@ func TestUploadAPI_Acceptance(t *testing.T) {
195226 testUploadAPIByTestCases (getBooleanValuesTestCases (), t )
196227 testUploadAPIByTestCases (getVariousValuesTestCases (), t )
197228 testUploadAPIByTestCases (getUploadConfigTestCases (), t )
229+ testUploadAPIByTestCases (getBeforeSendTestCases (), t )
198230}
0 commit comments