Files
warmbly/internal/api/handler/admin_warmup_content_settings_test.go
T

29 lines
1.1 KiB
Go

package handler
import (
"strings"
"testing"
"github.com/warmbly/warmbly/internal/models"
)
func TestWarmupSettingsUpdatePreservesOmittedFields(t *testing.T) {
current := models.DefaultWarmupGenerationSettings()
current.Model, current.CadenceHours = "stored-configured-model", 36
got, err := decodeWarmupGenerationSettings(strings.NewReader(`{"generation_enabled":false,"ai_selection_share":0}`), current)
if err != nil {
t.Fatal(err)
}
if got.GenerationEnabled || got.AISelectionShare != 0 || got.Model != current.Model || got.CadenceHours != 36 || !got.ScheduleEnabled {
t.Fatalf("omitted/explicit fields lost: %+v", got)
}
}
func TestWarmupSettingsUpdateRejectsInvalidDocuments(t *testing.T) {
for _, input := range []string{"", "null", "[]", `{"unknown":true}`, `{} {}`, `{"enabled":"false"}`, `{"pools":[{"unexpected":true}]}`, `{"model":"` + strings.Repeat("x", 64*1024) + `"}`} {
if _, err := decodeWarmupGenerationSettings(strings.NewReader(input), models.DefaultWarmupGenerationSettings()); err == nil {
t.Errorf("accepted invalid settings document (length %d)", len(input))
}
}
}