Add projects
This commit is contained in:
parent
2d3a9ad623
commit
8b607dd700
1802 changed files with 503346 additions and 2 deletions
62
backend/internal/config/weight_test.go
Normal file
62
backend/internal/config/weight_test.go
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestAPIKeyWeightValidation(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
weight string
|
||||
valid bool
|
||||
}{
|
||||
{name: "negative excludes", weight: "-1", valid: true},
|
||||
{name: "maximum", weight: "1000000", valid: true},
|
||||
{name: "fraction", weight: "1.5", valid: false},
|
||||
{name: "above maximum", weight: "1000001", valid: false},
|
||||
{name: "integer overflow", weight: "9223372036854775808", valid: false},
|
||||
}
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
_, errParse := ParseConfigBytes([]byte("gemini-api-key:\n - api-key: key\n weight: " + test.weight + "\n"))
|
||||
if (errParse == nil) != test.valid {
|
||||
t.Fatalf("ParseConfigBytes(weight=%s) error = %v, want valid=%v", test.weight, errParse, test.valid)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestAPIKeyWeightParsingAndZeroPersistence(t *testing.T) {
|
||||
cfg, errParse := ParseConfigBytes([]byte(`xai-api-key:
|
||||
- api-key: key
|
||||
base-url: https://api.x.ai/v1
|
||||
weight: 0
|
||||
`))
|
||||
if errParse != nil {
|
||||
t.Fatalf("ParseConfigBytes() error = %v", errParse)
|
||||
}
|
||||
if len(cfg.XAIKey) != 1 || cfg.XAIKey[0].Weight == nil || *cfg.XAIKey[0].Weight != 0 {
|
||||
t.Fatalf("parsed weight = %#v, want explicit zero", cfg.XAIKey)
|
||||
}
|
||||
|
||||
configPath := filepath.Join(t.TempDir(), "config.yaml")
|
||||
if errWrite := os.WriteFile(configPath, []byte(`xai-api-key:
|
||||
- api-key: key
|
||||
base-url: https://api.x.ai/v1
|
||||
`), 0644); errWrite != nil {
|
||||
t.Fatalf("WriteFile() error = %v", errWrite)
|
||||
}
|
||||
if errSave := SaveConfigPreserveComments(configPath, cfg); errSave != nil {
|
||||
t.Fatalf("SaveConfigPreserveComments() error = %v", errSave)
|
||||
}
|
||||
saved, errRead := os.ReadFile(configPath)
|
||||
if errRead != nil {
|
||||
t.Fatalf("ReadFile() error = %v", errRead)
|
||||
}
|
||||
if !strings.Contains(string(saved), "weight: 0") {
|
||||
t.Fatalf("saved config does not preserve explicit zero weight:\n%s", saved)
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue