52 lines
1.9 KiB
Go
52 lines
1.9 KiB
Go
package providers
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"io"
|
|
"net/http"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestA4ImageAdapterDimensions(t *testing.T) {
|
|
for _, size := range []struct {
|
|
width, height int
|
|
evoSize, bailianSize string
|
|
}{
|
|
{1680, 2376, "848x1200", "1680*2376"},
|
|
{2376, 1680, "1200x848", "2376*1680"},
|
|
{848, 1200, "848x1200", "848*1200"},
|
|
{1200, 848, "1200x848", "1200*848"},
|
|
} {
|
|
request := Request{Capability: "image.generate", Prompt: "A4 itinerary", Settings: map[string]any{"width": size.width, "height": size.height}}
|
|
evo := NewEvoLink(Config{}, nil).payload(request).(map[string]any)
|
|
if evo["size"] != size.evoSize || evo["resolution"] != "1K" {
|
|
t.Fatalf("evolink=%#v", evo)
|
|
}
|
|
bailian := NewBailian(Config{}, nil).payload(request).(map[string]any)
|
|
if object(bailian["parameters"])["size"] != size.bailianSize {
|
|
t.Fatalf("bailian=%#v", bailian)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestA4JimengDimensionsAreSubmittedUnchanged(t *testing.T) {
|
|
for _, size := range [][2]int{{1680, 2376}, {2376, 1680}} {
|
|
client := roundTripFunc(func(request *http.Request) (*http.Response, error) {
|
|
var body map[string]any
|
|
if err := json.NewDecoder(request.Body).Decode(&body); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
if body["width"] != float64(size[0]) || body["height"] != float64(size[1]) {
|
|
t.Fatalf("body=%#v", body)
|
|
}
|
|
return &http.Response{StatusCode: 200, Header: http.Header{}, Body: io.NopCloser(strings.NewReader(`{"code":10000,"data":{"task_id":"test-a4"}}`))}, nil
|
|
})
|
|
adapter := NewVolcengine(Config{BaseURL: "https://visual.test", Model: "jimeng_seedream46_cvtob", AccessKeyID: "test-key", SecretAccessKey: "test-secret"}, client, nil)
|
|
if _, err := adapter.Submit(context.Background(), Request{Capability: "image.generate", Prompt: "A4 itinerary", Settings: map[string]any{"width": size[0], "height": size[1]}}); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
}
|
|
}
|