Add extract worker configuration controls
This commit is contained in:
@@ -79,6 +79,41 @@ func TestValidateRejectsInvalidNumericFields(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateStageWorkerBoundaries(t *testing.T) {
|
||||
for _, test := range []struct {
|
||||
name string
|
||||
workers int
|
||||
wantErr bool
|
||||
}{
|
||||
{name: "below minimum", workers: 0, wantErr: true},
|
||||
{name: "minimum", workers: 1},
|
||||
{name: "maximum", workers: 4},
|
||||
{name: "above maximum", workers: 5, wantErr: true},
|
||||
} {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
cfg := validConfig()
|
||||
cfg.Concurrency.TotalLLM = 4
|
||||
cfg.Concurrency.StageWorkers["extract"] = test.workers
|
||||
err := cfg.Validate()
|
||||
if test.wantErr && (err == nil || !strings.Contains(err.Error(), "stage_workers.extract")) {
|
||||
t.Fatalf("Validate() error = %v, want extract worker range error", err)
|
||||
}
|
||||
if !test.wantErr && err != nil {
|
||||
t.Fatalf("Validate() error = %v, want nil", err)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateRejectsUnknownEffectiveStageWorkerKey(t *testing.T) {
|
||||
cfg := validConfig()
|
||||
cfg.Concurrency.StageWorkers["merge"] = 1
|
||||
err := cfg.Validate()
|
||||
if err == nil || !strings.Contains(err.Error(), "stage_workers key") || !strings.Contains(err.Error(), "merge") {
|
||||
t.Fatalf("Validate() error = %v, want unknown stage worker key", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestValidateRejectsMutuallyExclusiveScriptoriumProfileSources(t *testing.T) {
|
||||
cfg := validConfig()
|
||||
cfg.Scriptorium.ProfileDir = "./profiles"
|
||||
|
||||
Reference in New Issue
Block a user