* chore: Add new dbw dependency * refactor: Convert to use dbw.DB * refactor (db): Change GetTicket(...) signature * feature (db tests): Added TestDeleteWhere(...) Adding this allows us to eliminate a leak of the gorm library * refactor: Add ctx to ScanRows(...) signature This is required to refactor all the deprecated errors pkg calls. This refactor required adding a context to quite a few call chains and in particular the job scheduler bits * feature (db/tests): Add support for test opt: WithTestLogLevel(...) This test only option allows callers to specify a log level for the underlying db package (where supported/applicable) when calling TestSetup(...) * refactor (db): Simplify Db type Only store the underlying *DB and create the *RW on demand when needed. * refactor (oplog): Port to using dbw pkg for db operations * refactor (db): Remove gormDB(...) func * tests (db): Add unit tests for TestDeleteWhere(...) * chore: make fmt changes to formatting
35 lines
878 B
Go
35 lines
878 B
Go
package controller
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"github.com/hashicorp/boundary/internal/db"
|
|
"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
|
|
db.TestDeleteWhere(t, c.conf.Server.Database, func() interface{} { i := kms.AllocAuditKey(); return &i }(), "1=1")
|
|
_, err = New(testCtx, conf)
|
|
require.NoError(err)
|
|
})
|
|
}
|