From 35e5bcd8e535ae69780629e288768c75209e1603 Mon Sep 17 00:00:00 2001 From: Todd Date: Fri, 18 Nov 2022 14:48:09 -0800 Subject: [PATCH] Fixing missed error handling when merging from 0.11.1 into main (#2634) --- internal/server/repository_workerauth.go | 1 + internal/server/repository_workerauth_test.go | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/internal/server/repository_workerauth.go b/internal/server/repository_workerauth.go index 65524633c..d004d6920 100644 --- a/internal/server/repository_workerauth.go +++ b/internal/server/repository_workerauth.go @@ -519,6 +519,7 @@ func (r *WorkerAuthRepositoryStorage) FilterToAuthorizedWorkerKeyIds(ctx context } rows, err := r.reader.Query(ctx, authorizedWorkerQuery, []any{workerKeyIds}) if err != nil { + return nil, errors.Wrap(ctx, err, op) } defer rows.Close() diff --git a/internal/server/repository_workerauth_test.go b/internal/server/repository_workerauth_test.go index 87660b928..61a71431a 100644 --- a/internal/server/repository_workerauth_test.go +++ b/internal/server/repository_workerauth_test.go @@ -456,6 +456,17 @@ func TestFilterToAuthorizedWorkerKeyIds(t *testing.T) { conn, _ := db.TestSetup(t, "postgres") kmsCache := kms.TestKms(t, conn, rootWrapper) + t.Run("query returns error", func(t *testing.T) { + conn, mock := db.TestSetupWithMock(t) + rw := db.New(conn) + mock.ExpectQuery(`select`).WillReturnError(errors.New(context.Background(), errors.Internal, "test", "lookup-error")) + brokenRepo, err := NewRepositoryStorage(ctx, rw, rw, kmsCache) + require.NoError(t, err) + _, err = brokenRepo.FilterToAuthorizedWorkerKeyIds(ctx, []string{"something"}) + assert.Error(t, err) + require.NoError(t, mock.ExpectationsWereMet()) + }) + // Ensures the global scope contains a valid root key require.NoError(t, kmsCache.CreateKeys(context.Background(), scope.Global.String(), kms.WithRandomReader(rand.Reader)))