Add reusable PromptKit request flags
This commit is contained in:
@@ -3,6 +3,7 @@ package ckprompt
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"io"
|
||||
"strings"
|
||||
"testing"
|
||||
"testing/fstest"
|
||||
@@ -331,3 +332,25 @@ func TestWithRequestValidationCancellationBoundaries(t *testing.T) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestValidationBuilderReplacesCLIExecutionControls(t *testing.T) {
|
||||
engine := adapterEngine(t)
|
||||
calls := 0
|
||||
suite := WithRequestValidation(Suite[struct{}, struct{}]{},
|
||||
func(context.Context, ckconfig.Selection, struct{}, struct{}) (*promptkit.Engine, error) {
|
||||
return engine, nil
|
||||
},
|
||||
func(_ context.Context, seed ValidationRequest, _, _ struct{}) (promptkit.RunRequest, error) {
|
||||
calls++
|
||||
if seed.Request.Execution == nil || seed.Request.Execution.MaxTokens == nil || *seed.Request.Execution.MaxTokens != -1 {
|
||||
t.Fatalf("builder seed = %#v", seed.Request)
|
||||
}
|
||||
return promptkit.RunRequest{PromptID: "empty", ProfileID: "default"}, nil
|
||||
},
|
||||
)
|
||||
app := newPromptTestApp(t, Command(suite))
|
||||
result := app.Execute(context.Background(), []string{"promptkit", "requirements", "validate", "empty", "--llm-max-tokens=-1"}, commandkit.Streams{Out: io.Discard, Err: io.Discard})
|
||||
if result.Kind != commandkit.OutcomeSuccess || calls != 1 {
|
||||
t.Fatalf("builder replacement = %#v, calls = %d", result, calls)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user