63 lines
2.1 KiB
Go
63 lines
2.1 KiB
Go
package billing
|
|
|
|
import "testing"
|
|
|
|
func TestDefaultBillingPriceRulesFreezeOfficialCatalogMatchKeys(t *testing.T) {
|
|
rules := DefaultBillingPriceRules()
|
|
want := map[string]bool{
|
|
"base-volcengine-jimeng-seedream46": false,
|
|
"base-evolink-gpt-image-2": false,
|
|
"base-evolink-gpt-image-2.5-flare": false,
|
|
"base-evolink-gpt-image-2.5-sunburst": false,
|
|
"base-bailian-wan27-image-pro": false,
|
|
"base-seedream-5-0-pro": false,
|
|
"base-seedream-5-0-pro-layers": false,
|
|
"base-bailian-wan27-i2v-720p": false,
|
|
"base-bailian-wan27-i2v-1080p": false,
|
|
"base-seedance-2-0-480p": false,
|
|
"base-seedance-2-0-720p": false,
|
|
"base-seedance-2-0-1080p": false,
|
|
"base-seedance-2-0-4k": false,
|
|
"base-seedance-2-5-480p": false,
|
|
"base-seedance-2-5-720p": false,
|
|
"base-seedance-2-5-1080p": false,
|
|
"base-minimax-h3-768p": false,
|
|
"base-minimax-h3-2k": false,
|
|
}
|
|
for _, rule := range rules {
|
|
if _, ok := want[rule.ID]; !ok {
|
|
t.Fatalf("unexpected default rule %q", rule.ID)
|
|
}
|
|
want[rule.ID] = true
|
|
if !rule.Enabled || rule.MarkupMultiplier != 1.2 || rule.StandardUnitPriceFen <= 0 {
|
|
t.Fatalf("invalid default rule %#v", rule)
|
|
}
|
|
}
|
|
for id, found := range want {
|
|
if !found {
|
|
t.Errorf("missing default rule %q", id)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestDefaultEvoLinkBillingSupportsThreeByFourAspectRatio(t *testing.T) {
|
|
for _, rule := range DefaultBillingPriceRules() {
|
|
if rule.Provider != "evolink" || rule.Capability != "image.generate" {
|
|
continue
|
|
}
|
|
for _, dimension := range rule.Dimensions {
|
|
if dimension.Key != "aspectRatio" {
|
|
continue
|
|
}
|
|
for _, tier := range dimension.Tiers {
|
|
if tier.Value == "3:4" && tier.Enabled && tier.StandardFactor == 1 {
|
|
return
|
|
}
|
|
}
|
|
t.Fatal("evolink aspectRatio dimension does not contain an enabled 3:4 tier with factor 1")
|
|
}
|
|
t.Fatal("evolink billing rule does not contain an aspectRatio dimension")
|
|
}
|
|
t.Fatal("default evolink image billing rule is missing")
|
|
}
|