Failing tests, ahead of the fix: an upstream answering image/svg+xml is answered 415 on the image route, also for orig; both image routes answer 415 for an unaccepted upstream content type and for orig of an input the processor cannot name; and the processor refuses orig of a TIFF instead of saving it as JPEG. Model: opus-5-5
40 lines
991 B
Go
40 lines
991 B
Go
package imageprocessor
|
|
|
|
import (
|
|
"bytes"
|
|
"errors"
|
|
"testing"
|
|
|
|
"github.com/davidbyttow/govips/v2/vips"
|
|
)
|
|
|
|
// TestImageProcessor_OrigOfUnnamedFormatRefused verifies that orig of an
|
|
// input in a format the processor decodes but cannot name, here TIFF, is
|
|
// an error, and not the image saved as JPEG.
|
|
func TestImageProcessor_OrigOfUnnamedFormatRefused(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
img, err := vips.NewImageFromBuffer(createTestPNG(t, 20, 20))
|
|
if err != nil {
|
|
t.Fatalf("failed to decode test PNG: %v", err)
|
|
}
|
|
|
|
t.Cleanup(img.Close)
|
|
|
|
tiff, _, err := img.ExportTiff(vips.NewTiffExportParams())
|
|
if err != nil {
|
|
t.Fatalf("failed to save test TIFF: %v", err)
|
|
}
|
|
|
|
result, err := New(Params{}).Process(
|
|
t.Context(), bytes.NewReader(tiff), &Request{Format: FormatOriginal},
|
|
)
|
|
if result != nil {
|
|
t.Logf("Process() returned %s", result.ContentType)
|
|
}
|
|
|
|
if !errors.Is(err, ErrUnsupportedInputFormat) {
|
|
t.Errorf("Process() error = %v, want %v", err, ErrUnsupportedInputFormat)
|
|
}
|
|
}
|