Compare commits

..

1 Commits

Author SHA1 Message Date
Jeff McCune
ac5bff4b32 (#20) Error if secret is not found
Without this patch scripts incorrectly proceeded without detecting a
secret was not fetched.

    holos get secret notfound

    8:34AM ERR could not execute version=0.46.3 err="not found: notfound" loc=get.go:66
2024-02-28 08:33:55 -08:00
5 changed files with 11 additions and 7 deletions

View File

@@ -16,14 +16,14 @@ func MakeMain(options ...holos.Option) func() int {
slog.SetDefault(cfg.Logger())
ctx := context.Background()
if err := New(cfg).ExecuteContext(ctx); err != nil {
return handleError(ctx, err, cfg)
return HandleError(ctx, err, cfg)
}
return 0
}
}
// handleError is the top level error handler that unwraps and logs errors.
func handleError(ctx context.Context, err error, hc *holos.Config) (exitCode int) {
// HandleError is the top level error handler that unwraps and logs errors.
func HandleError(ctx context.Context, err error, hc *holos.Config) (exitCode int) {
log := hc.NewTopLevelLogger()
var cueErr errors.Error
var errAt *wrapper.ErrorAt

View File

@@ -63,7 +63,7 @@ func makeGetRunFunc(hc *holos.Config, cfg *config) command.RunFunc {
log.DebugContext(ctx, "results", "len", len(list.Items))
if len(list.Items) < 1 {
continue
return wrapper.Wrap(fmt.Errorf("not found: %v", secretName))
}
// Sort oldest first.

View File

@@ -55,11 +55,12 @@ func cmdHolos(ts *testscript.TestScript, neg bool, args []string) {
cmd := cli.New(cfg)
cmd.SetArgs(args)
err := cmd.Execute()
if neg {
if err == nil {
ts.Fatalf("want: error\nhave: %v", err)
ts.Fatalf("\nwant: error\nhave: %v", err)
} else {
ts.Logf("want: error\nhave: %v", err)
cli.HandleError(cmd.Context(), err, cfg)
}
} else {
ts.Check(err)

View File

@@ -0,0 +1,3 @@
# Want cue errors to show files and lines
! holos get secret does-not-exist
stderr 'not found: does-not-exist'

View File

@@ -1 +1 @@
2
3