fix (kms): Add kms.ReconcileKeys(...) to fix missing audit DEK scenario (#1711)

This fix addresses the situation where an existing boundary database
doesn't have the audit DEKs in the global scope.
This commit is contained in:
Jim authored and GitHub committed 2021-11-16 07:46:23 -05:00
1 parent 7fa2cd2526
commit ebea283421
6 files changed
+192 -18

No files matched your search

@@ -0,0 +1,34 @@
package controller
import (
"context"
"testing"
"github.com/hashicorp/boundary/internal/kms"
"github.com/stretchr/testify/require"
)
func TestController_New(t *testing.T) {
t.Run("ReconcileKeys", func(t *testing.T) {
require := require.New(t)
testCtx := context.Background()
ctx, cancel := context.WithCancel(context.Background())
tc := &TestController{
t: t,
ctx: ctx,
cancel: cancel,
opts: nil,
}
conf := TestControllerConfig(t, ctx, tc, nil)
// this tests a scenario where there is an audit DEK
c, err := New(testCtx, conf)
require.NoError(err)
// this tests a scenario where there is NOT an audit DEK
require.NoError(c.conf.Server.Database.Where("1=1").Delete(kms.AllocAuditKey()).Error)
_, err = New(testCtx, conf)
require.NoError(err)
})
}