popiart-server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

53 lines
1.7 KiB

package server
import "testing"
func TestConfigFromEnvDefaultsVideoRouteToViduQ2(t *testing.T) {
t.Setenv("POPIART_DEFAULT_VIDEO_MODEL", "")
t.Setenv("POPIART_DEFAULT_IMAGE_MODEL", "")
t.Setenv("POPIART_NEWAPI_BASE_URL", "")
t.Setenv("POPIART_NEWAPI_TOKEN", "")
t.Setenv("POPIART_DATA_DIR", "")
t.Setenv("POPIART_SQLITE_PATH", "")
t.Setenv("POPIART_SESSION_SECRET", "")
t.Setenv("POPIART_SKILLHUB_DIR", "")
cfg := ConfigFromEnv()
if cfg.DefaultVideoModel != "viduq2" {
t.Fatalf("expected default video model viduq2, got %q", cfg.DefaultVideoModel)
}
if cfg.DefaultImageModel != "gemini-3.1-flash-image-preview" {
t.Fatalf("expected default image model gemini-3.1-flash-image-preview, got %q", cfg.DefaultImageModel)
}
}
func TestInferRouteKeyForModelRecognizesViduAsVideo(t *testing.T) {
cases := map[string]string{
"viduq2": "video.image2video",
"vidu2.0": "video.image2video",
"sora-2": "video.image2video",
"runway-gen4": "video.image2video",
"gpt-image-1": "image.text2image",
}
for modelID, want := range cases {
if got := inferRouteKeyForModel(modelID, nil); got != want {
t.Fatalf("inferRouteKeyForModel(%q) = %q, want %q", modelID, got, want)
}
}
}
func TestInferRouteKeyForModelRecognizesImageEditInputs(t *testing.T) {
cases := []map[string]any{
{"image": "https://example.com/reference.jpg"},
{"image_url": "https://example.com/reference.jpg"},
{"reference_image_url": "https://example.com/reference.jpg"},
{"source_artifact_id": "art_123"},
}
for _, input := range cases {
if got := inferRouteKeyForModel("seedream-4-5-251128", input); got != "image.img2img" {
t.Fatalf("inferRouteKeyForModel(seedream, %#v) = %q, want image.img2img", input, got)
}
}
}