Make PromptKit profile handling safer and more consistent
This commit is contained in:
@@ -29,6 +29,10 @@ type registryBehaviorCase[M any] struct {
|
||||
moduleKey func(M) string
|
||||
}
|
||||
|
||||
func testModuleSpec(key string, stage ModuleStage) ModuleSpec {
|
||||
return ModuleSpec{Key: key, Stage: stage, ExecutionClass: contracts.ExecutionClassDeterministic}
|
||||
}
|
||||
|
||||
func TestChunkerRegistryBehavior(t *testing.T) {
|
||||
runRegistryBehaviorTests(t, registryBehaviorCase[contracts.Chunker]{
|
||||
name: "ChunkerRegistry",
|
||||
@@ -39,7 +43,9 @@ func TestChunkerRegistryBehavior(t *testing.T) {
|
||||
return NewChunkerRegistry()
|
||||
},
|
||||
register: func(registry any, key string, constructor func() (contracts.Chunker, error)) error {
|
||||
return registry.(*ChunkerRegistry).Register(key, constructor)
|
||||
return registry.(*ChunkerRegistry).RegisterWithSpec(ModuleSpec{
|
||||
Key: key, Stage: StageChunk, ExecutionClass: contracts.ExecutionClassDeterministic,
|
||||
}, constructor)
|
||||
},
|
||||
registerWithSpec: func(registry any, spec ModuleSpec, constructor func() (contracts.Chunker, error)) error {
|
||||
return registry.(*ChunkerRegistry).RegisterWithSpec(spec, constructor)
|
||||
@@ -55,7 +61,9 @@ func TestChunkerRegistryBehavior(t *testing.T) {
|
||||
},
|
||||
nilRegister: func(key string, constructor func() (contracts.Chunker, error)) error {
|
||||
var registry *ChunkerRegistry
|
||||
return registry.Register(key, constructor)
|
||||
return registry.RegisterWithSpec(ModuleSpec{
|
||||
Key: key, Stage: StageChunk, ExecutionClass: contracts.ExecutionClassDeterministic,
|
||||
}, constructor)
|
||||
},
|
||||
nilBuild: func(key string) (contracts.Chunker, error) {
|
||||
var registry *ChunkerRegistry
|
||||
@@ -136,7 +144,7 @@ func runRegistryBehaviorTests[M any](t *testing.T, testCase registryBehaviorCase
|
||||
}
|
||||
})
|
||||
|
||||
t.Run(testCase.name+"/default spec from register", func(t *testing.T) {
|
||||
t.Run(testCase.name+"/minimal explicit spec registration", func(t *testing.T) {
|
||||
registry := testCase.newRegistry()
|
||||
if err := testCase.register(registry, " "+testCase.key+" ", testCase.constructor(testCase.key)); err != nil {
|
||||
t.Fatalf("Register() error = %v, want nil", err)
|
||||
|
||||
Reference in New Issue
Block a user