Skip to content

Commit

Permalink
Add test for missing account. Use ListImageVariantsResult.
Browse files Browse the repository at this point in the history
  • Loading branch information
hwrdprkns committed Feb 5, 2024
1 parent 6f28535 commit 3e80cf5
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 17 deletions.
10 changes: 5 additions & 5 deletions images_variants.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,24 +54,24 @@ type ImagesVariantResponse struct {
// Lists existing variants.
//
// API Reference: https://developers.cloudflare.com/api/operations/cloudflare-images-variants-list-variants
func (api *API) ListImagesVariants(ctx context.Context, rc *ResourceContainer, params ListImageVariantsParams) (map[string]ImagesVariant, error) {
func (api *API) ListImagesVariants(ctx context.Context, rc *ResourceContainer, params ListImageVariantsParams) (ListImageVariantsResult, error) {
if rc.Identifier == "" {
return map[string]ImagesVariant{}, ErrMissingAccountID
return ListImageVariantsResult{}, ErrMissingAccountID
}

baseURL := fmt.Sprintf("/accounts/%s/images/v1/variants", rc.Identifier)
res, err := api.makeRequestContext(ctx, http.MethodGet, baseURL, nil)
if err != nil {
return map[string]ImagesVariant{}, err
return ListImageVariantsResult{}, err
}

var listImageVariantsResponse ListImagesVariantsResponse
err = json.Unmarshal(res, &listImageVariantsResponse)
if err != nil {
return map[string]ImagesVariant{}, fmt.Errorf("%s: %w", errUnmarshalError, err)
return ListImageVariantsResult{}, fmt.Errorf("%s: %w", errUnmarshalError, err)
}

return listImageVariantsResponse.Result.ImagesVariants, nil
return listImageVariantsResponse.Result, nil
}

// Fetch details for a single variant.
Expand Down
48 changes: 36 additions & 12 deletions images_variants_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,17 @@ func TestImageVariants_ListVariants(t *testing.T) {

mux.HandleFunc("/accounts/"+testAccountID+"/images/v1/variants", handler)

want := map[string]ImagesVariant{
"hero": {
ID: "hero",
NeverRequireSignedURLs: true,
Options: ImagesVariantsOptions{
Fit: "scale-down",
Height: 768,
Width: 1366,
Metadata: "none",
want := ListImageVariantsResult{
ImagesVariants: map[string]ImagesVariant{
"hero": {
ID: "hero",
NeverRequireSignedURLs: true,
Options: ImagesVariantsOptions{
Fit: "scale-down",
Height: 768,
Width: 1366,
Metadata: "none",
},
},
},
}
Expand Down Expand Up @@ -153,12 +155,34 @@ func TestImagesVariants_UpdateVariant(t *testing.T) {
}

got, err := client.UpdateImagesVariant(context.Background(), AccountIdentifier(testAccountID), UpdateImagesVariantParams{
ID: want.ID,
NeverRequireSignedURLs: want.NeverRequireSignedURLs,
Options: want.Options,
ID: "hero",
NeverRequireSignedURLs: true,
Options: ImagesVariantsOptions{
Fit: "scale-down",
Height: 768,
Width: 1366,
Metadata: "none",
},
})

if assert.NoError(t, err) {
assert.Equal(t, want, got)
}
}

func TestImageVariants_MissingAccountId(t *testing.T) {
_, err := client.ListImagesVariants(context.Background(), AccountIdentifier(""), ListImageVariantsParams{})
assert.Equal(t, ErrMissingAccountID, err)

_, err = client.GetImagesVariantDetails(context.Background(), AccountIdentifier(""), testImagesVariantID)
assert.Equal(t, ErrMissingAccountID, err)

_, err = client.CreateImagesVariant(context.Background(), AccountIdentifier(""), CreateImagesVariantParams{})
assert.Equal(t, ErrMissingAccountID, err)

err = client.DeleteImagesVariant(context.Background(), AccountIdentifier(""), testImagesVariantID)
assert.Equal(t, ErrMissingAccountID, err)

_, err = client.UpdateImagesVariant(context.Background(), AccountIdentifier(""), UpdateImagesVariantParams{})
assert.Equal(t, ErrMissingAccountID, err)
}

0 comments on commit 3e80cf5

Please sign in to comment.