Update tests for captured repository lookups

This commit is contained in:
2026-11-05 19:57:13 +00:00
parent 90f796aef7
commit 97e5739bfb
6 changed files with 94 additions and 57 deletions

View File

@@ -21,6 +21,7 @@ import (
"go.maximumdirect.net/promptkit/internal/generation"
"go.maximumdirect.net/promptkit/internal/llm"
"go.maximumdirect.net/promptkit/internal/prompt"
"go.maximumdirect.net/promptkit/internal/promptdef"
"go.maximumdirect.net/promptkit/internal/validate"
)
@@ -40,11 +41,31 @@ type staticPromptRepo struct {
def *domain.PromptDefinition
}
func (r staticPromptRepo) GetPromptDefinition(
func (r staticPromptRepo) GetPromptSnapshot(
context.Context,
string,
) (*domain.PromptDefinition, error) {
return r.def, nil
) (*domain.PromptDefinition, string, error) {
hash, err := promptdef.HashDefinition(r.def)
return r.def, hash, err
}
func (r staticPromptRepo) GetPromptInspection(ctx context.Context, id string) (*domain.PromptInspection, error) {
definition, hash, err := r.GetPromptSnapshot(ctx, id)
return fixturePromptInspection(definition, hash), err
}
func (staticPromptRepo) GetRequirementSnapshot(string) (prompt.RequirementSnapshot, bool) {
return prompt.RequirementSnapshot{}, false
}
func fixturePromptInspection(definition *domain.PromptDefinition, hash string) *domain.PromptInspection {
if definition == nil {
return nil
}
return &domain.PromptInspection{
PromptID: definition.ID, PromptHash: hash, DefaultProfileID: definition.DefaultProfile,
Inputs: append([]domain.PromptInput(nil), definition.Inputs...), OutputContract: definition.Validation,
}
}
type staticExecutionProfileRepo struct {
@@ -59,6 +80,10 @@ func (r staticExecutionProfileRepo) GetProfile(
return &value, nil
}
func (staticExecutionProfileRepo) GetProfileIdentity(_ context.Context, id string) (string, error) {
return id, nil
}
type staticArtifactReader struct{}
func (staticArtifactReader) Read(
@@ -93,12 +118,30 @@ func (f *fakeExecutionProfileRepo) GetProfile(ctx context.Context, id string) (*
return nil, errors.New("profile not found")
}
func (f *fakePromptRepo) GetPromptDefinition(ctx context.Context, id string) (*domain.PromptDefinition, error) {
func (f *fakeExecutionProfileRepo) GetProfileIdentity(ctx context.Context, id string) (string, error) {
_, err := f.GetProfile(ctx, id)
return id, err
}
func (f *fakePromptRepo) GetPromptSnapshot(ctx context.Context, id string) (*domain.PromptDefinition, string, error) {
f.lastID = id
if f.err != nil {
return nil, f.err
return nil, "", f.err
}
return f.def, nil
if f.def == nil {
return nil, "", nil
}
hash, err := promptdef.HashDefinition(f.def)
return f.def, hash, err
}
func (f *fakePromptRepo) GetPromptInspection(ctx context.Context, id string) (*domain.PromptInspection, error) {
definition, hash, err := f.GetPromptSnapshot(ctx, id)
return fixturePromptInspection(definition, hash), err
}
func (*fakePromptRepo) GetRequirementSnapshot(string) (prompt.RequirementSnapshot, bool) {
return prompt.RequirementSnapshot{}, false
}
type fakeArtifactReader struct {