功能增加

This commit is contained in:
andy committed 2026-09-11 15:33:18 +08:00
1 parent b340fc7ad7
commit f1993eb388
69 files changed
+2243 -162

No files matched your search

+39 -1
View File
@@ -215,6 +215,32 @@ func TestRuntimeProviderJobBuilderRoutesSeedreamWithoutReplacingJimeng(t *testin
}
}
func TestRuntimeProviderJobBuilderRoutesMinimaxH3FromDatabaseSettings(t *testing.T) {
values := map[string]string{
"MINIMAX_API_KEY": "minimax-secret",
"MINIMAX_BASE_URL": "https://api.minimax.test",
"VIDEO_GENERATE_ENGINE": "minimax",
}
getenv := func(name string) string { return values[name] }
builder := configuredProviderJobBuilder(getenv, true)
command, err := builder.Build(context.Background(), "owner", "", "video.generate", "", map[string]any{
"engine": "minimax", "prompt": "animate", "settings": map[string]any{"duration": 5.0, "resolution": "768P", "ratio": "16:9"},
})
if err != nil {
t.Fatal(err)
}
if command.Job.Provider != "minimax" || command.Job.ReqKey != providers.MinimaxH3Model {
t.Fatalf("job=%#v", command.Job)
}
if _, ok := buildProviderRegistryWithClient(getenv, http.DefaultClient, 2<<20)["minimax"].(*providers.Minimax); !ok {
t.Fatalf("minimax adapter is not registered")
}
details := runtimeHealthDetails(getenv)
if details.MinimaxMode != "minimax" {
t.Fatalf("health=%#v", details)
}
}
func TestRuntimeProviderResolverUsesLatestDatabaseCredential(t *testing.T) {
var authorizations []string
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, request *http.Request) {
@@ -279,7 +305,7 @@ func TestProviderUnavailableMessagesIdentifyOnlyMissingCredentials(t *testing.T)
"BAILIAN_API_KEY": "bailian",
}
missing := providerUnavailableMessages(func(name string) string { return values[name] })
if len(missing) != 1 || !strings.Contains(missing["seedance"], "SEEDANCE_API_KEY") {
if len(missing) != 3 || !strings.Contains(missing["seedance"], "SEEDANCE_API_KEY") || !strings.Contains(missing["seedream"], "SEEDANCE_API_KEY") || !strings.Contains(missing["minimax"], "MINIMAX_API_KEY") {
t.Fatalf("missing = %#v", missing)
}
}
@@ -313,6 +339,17 @@ func TestProviderVideoTargetsUseDocumentedSeedanceDefaults(t *testing.T) {
}
}
func TestProviderVideoTargetsIncludeMinimaxH3Defaults(t *testing.T) {
target := providerVideoTargets(func(string) string { return "" })["minimax"]
if target.Provider != "minimax" || target.Model != providers.MinimaxH3Model {
t.Fatalf("target=%#v", target)
}
want := map[string]any{"ratio": "16:9", "duration": float64(5), "resolution": "768P"}
if !reflect.DeepEqual(target.Settings, want) {
t.Fatalf("settings=%#v want=%#v", target.Settings, want)
}
}
func TestProviderVideoModelsKeepSeedance20And25Available(t *testing.T) {
targets := providerVideoModels(func(string) string { return "" })
for _, model := range []string{"doubao-seedance-2-0-260128", "doubao-seedance-2-5-260628"} {
@@ -335,6 +372,7 @@ func TestCapabilitySummaryMatchesConfiguredDefaultVideoEngine(t *testing.T) {
}{
{name: "Bailian default", engine: "", wantEngine: "bailian", wantProvider: "bailian", wantModel: "wan2.7-i2v-2026-04-25"},
{name: "Seedance configured", engine: "seedance", wantEngine: "seedance", wantProvider: "seedance", wantModel: "doubao-seedance-2-0-260128"},
{name: "MiniMax configured", engine: "minimax", wantEngine: "minimax", wantProvider: "minimax", wantModel: providers.MinimaxH3Model},
} {
t.Run(test.name, func(t *testing.T) {
values := map[string]string{"VIDEO_GENERATE_ENGINE": test.engine}