Make PromptKit profile handling safer and more consistent
This commit is contained in:
@@ -47,6 +47,7 @@ api_key_env: NOTARIUS_PROMPTKIT_PROFILE_INSPECTION_TEST_KEY
|
||||
localBackend bool
|
||||
canceled bool
|
||||
wantErr []string
|
||||
rejectErr []string
|
||||
}{
|
||||
{
|
||||
name: "configured local backend",
|
||||
@@ -59,7 +60,7 @@ api_key_env: NOTARIUS_PROMPTKIT_PROFILE_INSPECTION_TEST_KEY
|
||||
name: "missing local backend registration",
|
||||
profilePath: writeProfile(t, "local-profile", localProfile),
|
||||
profileID: "local-profile",
|
||||
wantErr: []string{`inspect PromptKit profile "local-profile"`, `backend "local"`},
|
||||
wantErr: []string{`PromptKit profile "local-profile" is invalid or unreadable`},
|
||||
},
|
||||
{
|
||||
name: "absent profile",
|
||||
@@ -72,13 +73,14 @@ api_key_env: NOTARIUS_PROMPTKIT_PROFILE_INSPECTION_TEST_KEY
|
||||
name: "malformed profile",
|
||||
profilePath: writeProfile(t, "malformed-profile", "id: malformed-profile\nbackend: [\n"),
|
||||
profileID: "malformed-profile",
|
||||
wantErr: []string{`inspect PromptKit profile "malformed-profile"`},
|
||||
wantErr: []string{`PromptKit profile "malformed-profile" is invalid or unreadable`},
|
||||
rejectErr: []string{"malformed-profile.yaml", "backend: ["},
|
||||
},
|
||||
{
|
||||
name: "invalid profile source",
|
||||
profilePath: filepath.Join(t.TempDir(), "missing-profile.yaml"),
|
||||
profileID: "missing-profile",
|
||||
wantErr: []string{"load PromptKit profiles", "failed to access source file"},
|
||||
wantErr: []string{"load PromptKit profiles", "profile configuration is invalid or unreadable"},
|
||||
},
|
||||
{
|
||||
name: "credential environment intentionally unset",
|
||||
@@ -132,6 +134,11 @@ api_key_env: NOTARIUS_PROMPTKIT_PROFILE_INSPECTION_TEST_KEY
|
||||
t.Fatalf("validation error = %q, want %q", err, want)
|
||||
}
|
||||
}
|
||||
for _, rejected := range append(tt.rejectErr, tt.profilePath) {
|
||||
if rejected != "" && strings.Contains(err.Error(), rejected) {
|
||||
t.Fatalf("validation error = %q, must not expose %q", err, rejected)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
if providerCalls.Load() != 0 {
|
||||
|
||||
Reference in New Issue
Block a user