diff --git a/api/api.go b/api/api.go index c077a59..07f1130 100644 --- a/api/api.go +++ b/api/api.go @@ -185,6 +185,9 @@ func (at AutoTranscription) MarshalJSON() ([]byte, error) { return []byte(strconv.Quote(string(marshalled))), nil } +// AutoVideoDetails represents the auto video details param. +type AutoVideoDetails struct{} + // BriefAssetResult represents a partial asset result that is returned when assets are listed. type BriefAssetResult struct { AssetID string `json:"asset_id"` diff --git a/api/uploader/upload_acceptance_test.go b/api/uploader/upload_acceptance_test.go index d4a7235..bce9f86 100644 --- a/api/uploader/upload_acceptance_test.go +++ b/api/uploader/upload_acceptance_test.go @@ -154,6 +154,34 @@ func getAutoTranscriptionTestCases() []UploadAPIAcceptanceTestCase { } } +// Acceptance test cases for auto video details +func getAutoVideoDetailsTestCases() []UploadAPIAcceptanceTestCase { + bodyEmpty := "auto_video_details=%7B%7D" + + "&file=data%3Aimage%2Fgif%3Bbase64%2CR0lGODlhAQABAIAAAAAAAP%2F%2F%2FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7" + + "×tamp=123456789" + + "&unsigned=true" + + return []UploadAPIAcceptanceTestCase{ + { + Name: "Upload Test Auto Video Details Empty", + RequestTest: func(uploadAPI *uploader.API, ctx context.Context) (interface{}, error) { + return uploadAPI.Upload(ctx, cldtest.Base64Image, uploader.UploadParams{ + AutoVideoDetails: &api.AutoVideoDetails{}, + Unsigned: api.Bool(true), + Timestamp: 123456789, + }) + }, + ResponseTest: func(response interface{}, t *testing.T) {}, + ExpectedRequest: cldtest.ExpectedRequestParams{ + Method: "POST", + URI: "/auto/upload", + Body: &bodyEmpty, + }, + ExpectedCallCount: 1, + }, + } +} + // Acceptance test cases for handling of boolean values func getBooleanValuesTestCases() []UploadAPIAcceptanceTestCase { body := "file=data%3Aimage%2Fgif%3Bbase64%2CR0lGODlhAQABAIAAAAAAAP%2F%2F%2FyH5BAEAAAAALAAAAAABAAEAAAIBRAA7" + diff --git a/api/uploader/upload_asset.go b/api/uploader/upload_asset.go index 240cad5..18e138a 100644 --- a/api/uploader/upload_asset.go +++ b/api/uploader/upload_asset.go @@ -75,6 +75,7 @@ type UploadParams struct { CinemagraphAnalysis *bool `json:"cinemagraph_analysis,omitempty"` AutoChaptering *bool `json:"auto_chaptering,omitempty"` AutoTranscription *api.AutoTranscription `json:"auto_transcription,omitempty"` + AutoVideoDetails *api.AutoVideoDetails `json:"auto_video_details,omitempty"` } // SingleResponsiveBreakpointsParams represents params for a single responsive breakpoints generation request.