refact(session): Add context to session factory

This adds a context to the session.RepositoryFactory, allowing
errors.NewDeprecated to be replaced with errors.New. It also removes the
common.SessionRepoFactory, instead packages just directly import from
the session package.
This commit is contained in:
Timothy Messier committed 2022-09-07 17:53:40 +00:00
1 parent febf0b9984
commit eb61ac6304
25 files changed
+86 -70

No files matched your search

@@ -640,7 +640,7 @@ group by session_id, status;
cc[id].active = credentialCount
}
sessionRepo, err := session.NewRepository(rw, rw, kms)
sessionRepo, err := session.NewRepository(ctx, rw, rw, kms)
require.NoError(err)
count, err := sessionRepo.TerminateCompletedSessions(ctx)
@@ -29,7 +29,7 @@ type workerServiceServer struct {
pbs.UnsafeSessionServiceServer
serversRepoFn common.ServersRepoFactory
sessionRepoFn common.SessionRepoFactory
sessionRepoFn session.RepositoryFactory
connectionRepoFn common.ConnectionRepoFactory
updateTimes *sync.Map
kms *kms.Kms
@@ -42,7 +42,7 @@ var (
func NewWorkerServiceServer(
serversRepoFn common.ServersRepoFactory,
sessionRepoFn common.SessionRepoFactory,
sessionRepoFn session.RepositoryFactory,
connectionRepoFn common.ConnectionRepoFactory,
updateTimes *sync.Map,
kms *kms.Kms,
@@ -47,8 +47,8 @@ func TestStatus(t *testing.T) {
serversRepoFn := func() (*server.Repository, error) {
return serverRepo, nil
}
sessionRepoFn := func() (*session.Repository, error) {
return session.NewRepository(rw, rw, kms)
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
connRepoFn := func() (*session.ConnectionRepository, error) {
return session.NewConnectionRepository(ctx, rw, rw, kms)
@@ -233,8 +233,8 @@ func TestStatusSessionClosed(t *testing.T) {
serversRepoFn := func() (*server.Repository, error) {
return serverRepo, nil
}
sessionRepoFn := func() (*session.Repository, error) {
return session.NewRepository(rw, rw, kms)
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
connRepoFn := func() (*session.ConnectionRepository, error) {
return session.NewConnectionRepository(ctx, rw, rw, kms)
@@ -414,8 +414,8 @@ func TestStatusDeadConnection(t *testing.T) {
serversRepoFn := func() (*server.Repository, error) {
return serverRepo, nil
}
sessionRepoFn := func() (*session.Repository, error) {
return session.NewRepository(rw, rw, kms)
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
connRepoFn := func() (*session.ConnectionRepository, error) {
return session.NewConnectionRepository(ctx, rw, rw, kms, session.WithWorkerStateDelay(0))
@@ -554,8 +554,8 @@ func TestStatusWorkerWithKeyId(t *testing.T) {
serversRepoFn := func() (*server.Repository, error) {
return serverRepo, nil
}
sessionRepoFn := func() (*session.Repository, error) {
return session.NewRepository(rw, rw, kms)
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
connRepoFn := func() (*session.ConnectionRepository, error) {
return session.NewConnectionRepository(ctx, rw, rw, kms)
@@ -39,8 +39,8 @@ func TestLookupSession(t *testing.T) {
serversRepoFn := func() (*server.Repository, error) {
return server.NewRepository(rw, rw, kms)
}
sessionRepoFn := func() (*session.Repository, error) {
return session.NewRepository(rw, rw, kms)
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
connectionRepoFn := func() (*session.ConnectionRepository, error) {
return session.NewConnectionRepository(ctx, rw, rw, kms)
@@ -214,8 +214,8 @@ func TestHcpbWorkers(t *testing.T) {
serversRepoFn := func() (*server.Repository, error) {
return server.NewRepository(rw, rw, kmsCache)
}
sessionRepoFn := func() (*session.Repository, error) {
return session.NewRepository(rw, rw, kmsCache)
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(ctx, rw, rw, kmsCache, opts...)
}
connectionRepoFn := func() (*session.ConnectionRepository, error) {
return session.NewConnectionRepository(ctx, rw, rw, kmsCache)
@@ -25,7 +25,6 @@ type (
StaticRepoFactory func() (*static.Repository, error)
PluginHostRepoFactory func() (*pluginhost.Repository, error)
HostPluginRepoFactory func() (*hostplugin.Repository, error)
SessionRepoFactory session.RepositoryFactory // TODO refactor and remove this
ConnectionRepoFactory func() (*session.ConnectionRepository, error)
TargetRepoFactory func() (*target.Repository, error)
WorkerAuthRepoStorageFactory func() (*server.WorkerAuthRepositoryStorage, error)
@@ -44,8 +44,9 @@ func TestListingScopeIds(t *testing.T) {
s, err := groups.NewService(iamRepoFn)
require.NoError(t, err)
ctx := context.Background()
sessionsRepoFn := func(opt ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opt...)
return session.NewRepository(ctx, rw, rw, kms, opt...)
}
sess, err := sessions.NewService(sessionsRepoFn, iamRepoFn)
require.NoError(t, err)
+2 -2
View File
@@ -110,7 +110,7 @@ type Controller struct {
OidcRepoFn common.OidcAuthRepoFactory
PasswordAuthRepoFn common.PasswordAuthRepoFactory
ServersRepoFn common.ServersRepoFactory
SessionRepoFn common.SessionRepoFactory
SessionRepoFn session.RepositoryFactory
ConnectionRepoFn common.ConnectionRepoFactory
StaticHostRepoFn common.StaticRepoFactory
PluginHostRepoFn common.PluginHostRepoFactory
@@ -337,7 +337,7 @@ func New(ctx context.Context, conf *Config) (*Controller, error) {
return target.NewRepository(dbase, dbase, c.kms)
}
c.SessionRepoFn = func(opt ...session.Option) (*session.Repository, error) {
return session.NewRepository(dbase, dbase, c.kms, opt...)
return session.NewRepository(ctx, dbase, dbase, c.kms, opt...)
}
c.ConnectionRepoFn = func() (*session.ConnectionRepository, error) {
return session.NewConnectionRepository(ctx, dbase, dbase, c.kms)
@@ -97,7 +97,7 @@ func BenchmarkSessionList(b *testing.B) {
return iamRepo, nil
}
sessRepoFn := func(opt ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kmsThing, opt...)
return session.NewRepository(ctx, rw, rw, kmsThing, opt...)
}
authTokenRepoFn := func() (*authtoken.Repository, error) {
return authTokenRepo, nil
@@ -45,14 +45,14 @@ var (
type Service struct {
pbs.UnsafeSessionServiceServer
repoFn common.SessionRepoFactory
repoFn session.RepositoryFactory
iamRepoFn common.IamRepoFactory
}
var _ pbs.SessionServiceServer = (*Service)(nil)
// NewService returns a session service which handles session related requests to boundary.
func NewService(repoFn common.SessionRepoFactory, iamRepoFn common.IamRepoFactory) (Service, error) {
func NewService(repoFn session.RepositoryFactory, iamRepoFn common.IamRepoFactory) (Service, error) {
const op = "sessions.NewService"
if repoFn == nil {
return Service{}, errors.NewDeprecated(errors.InvalidParameter, op, "missing session repository")
@@ -44,11 +44,12 @@ func TestGetSession(t *testing.T) {
rw := db.New(conn)
ctx := context.Background()
iamRepoFn := func() (*iam.Repository, error) {
return iamRepo, nil
}
sessRepoFn := func(opt ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opt...)
return session.NewRepository(ctx, rw, rw, kms, opt...)
}
tokenRepoFn := func() (*authtoken.Repository, error) {
return authtoken.NewRepository(rw, rw, kms)
@@ -166,11 +167,12 @@ func TestList_Self(t *testing.T) {
rw := db.New(conn)
ctx := context.Background()
iamRepoFn := func() (*iam.Repository, error) {
return iamRepo, nil
}
sessRepoFn := func(opt ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opt...)
return session.NewRepository(ctx, rw, rw, kms, opt...)
}
tokenRepoFn := func() (*authtoken.Repository, error) {
return authtoken.NewRepository(rw, rw, kms)
@@ -250,14 +252,14 @@ func TestList(t *testing.T) {
iamRepo := iam.TestRepo(t, conn, wrap)
rw := db.New(conn)
sessRepo, err := session.NewRepository(rw, rw, kms)
sessRepo, err := session.NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
iamRepoFn := func() (*iam.Repository, error) {
return iamRepo, nil
}
sessRepoFn := func(opt ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opt...)
return session.NewRepository(ctx, rw, rw, kms, opt...)
}
tokenRepoFn := func() (*authtoken.Repository, error) {
return authtoken.NewRepository(rw, rw, kms)
@@ -550,11 +552,12 @@ func TestCancel(t *testing.T) {
rw := db.New(conn)
ctx := context.Background()
iamRepoFn := func() (*iam.Repository, error) {
return iamRepo, nil
}
sessRepoFn := func(opt ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opt...)
return session.NewRepository(ctx, rw, rw, kms, opt...)
}
tokenRepoFn := func() (*authtoken.Repository, error) {
return authtoken.NewRepository(rw, rw, kms)
@@ -101,7 +101,7 @@ type Service struct {
repoFn common.TargetRepoFactory
iamRepoFn common.IamRepoFactory
serversRepoFn common.ServersRepoFactory
sessionRepoFn common.SessionRepoFactory
sessionRepoFn session.RepositoryFactory
pluginHostRepoFn common.PluginHostRepoFactory
staticHostRepoFn common.StaticRepoFactory
vaultCredRepoFn common.VaultCredentialRepoFactory
@@ -118,7 +118,7 @@ func NewService(
repoFn common.TargetRepoFactory,
iamRepoFn common.IamRepoFactory,
serversRepoFn common.ServersRepoFactory,
sessionRepoFn common.SessionRepoFactory,
sessionRepoFn session.RepositoryFactory,
pluginHostRepoFn common.PluginHostRepoFactory,
staticHostRepoFn common.StaticRepoFactory,
vaultCredRepoFn common.VaultCredentialRepoFactory,
@@ -86,7 +86,7 @@ func testService(t *testing.T, ctx context.Context, conn *db.DB, kms *kms.Kms, w
return server.NewRepository(rw, rw, kms)
}
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opts...)
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
staticHostRepoFn := func() (*static.Repository, error) {
return static.NewRepository(rw, rw, kms)
@@ -2750,7 +2750,7 @@ func TestAuthorizeSession(t *testing.T) {
return server.NewRepository(rw, rw, kms)
}
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opts...)
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
staticRepo, err := static.NewRepository(rw, rw, kms)
require.NoError(t, err)
@@ -3010,7 +3010,7 @@ func TestAuthorizeSessionTypedCredentials(t *testing.T) {
return server.NewRepository(rw, rw, kms)
}
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opts...)
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
staticHostRepoFn := func() (*static.Repository, error) {
return static.NewRepository(rw, rw, kms)
@@ -3589,7 +3589,7 @@ func TestAuthorizeSession_Errors(t *testing.T) {
return server.NewRepository(rw, rw, kms)
}
sessionRepoFn := func(opts ...session.Option) (*session.Repository, error) {
return session.NewRepository(rw, rw, kms, opts...)
return session.NewRepository(ctx, rw, rw, kms, opts...)
}
staticHostRepoFn := func() (*static.Repository, error) {
return static.NewRepository(rw, rw, kms)
+1 -1
View File
@@ -189,7 +189,7 @@ func TestLookupWorker(t *testing.T) {
server.WithWorkerTags(&server.Tag{"key", "val"}))
require.NoError(t, err)
sessRepo, err := session.NewRepository(rw, rw, kms)
sessRepo, err := session.NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
connRepo, err := session.NewConnectionRepository(ctx, rw, rw, kms, session.WithWorkerStateDelay(0))
require.NoError(t, err)
@@ -20,7 +20,7 @@ func TestDeleteTermiantedSessionsJob(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
composedOf := TestSessionParams(t, conn, wrapper, iamRepo)
require.NoError(t, err)
+3 -3
View File
@@ -37,7 +37,7 @@ func TestSessionConnectionCleanupJob(t *testing.T) {
kms := kms.TestKms(t, conn, wrapper)
serversRepo, err := server.NewRepository(rw, rw, kms)
require.NoError(err)
sessionRepo, err := NewRepository(rw, rw, kms)
sessionRepo, err := NewRepository(ctx, rw, rw, kms)
connectionRepo, err := NewConnectionRepository(ctx, rw, rw, kms)
require.NoError(err)
@@ -180,7 +180,7 @@ func TestCloseConnectionsForDeadWorkers(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(err)
gracePeriod := 1 * time.Second
connRepo, err := NewConnectionRepository(ctx, rw, rw, kms)
@@ -443,7 +443,7 @@ func TestCloseWorkerlessConnections(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(err)
connRepo, err := NewConnectionRepository(ctx, rw, rw, kms)
require.NoError(err)
+1 -1
View File
@@ -24,7 +24,7 @@ func RegisterJobs(ctx context.Context, scheduler *scheduler.Scheduler, w db.Writ
return fmt.Errorf("error registering session cleanup job: %w", err)
}
repo, err := NewRepository(r, w, k)
repo, err := NewRepository(ctx, r, w, k)
if err != nil {
return fmt.Errorf("error creating repository: %w", err)
}
+5 -5
View File
@@ -38,16 +38,16 @@ type RepositoryFactory func(opt ...Option) (*Repository, error)
// NewRepository creates a new session Repository. Supports the options: WithLimit
// which sets a default limit on results returned by repo operations.
func NewRepository(r db.Reader, w db.Writer, kms *kms.Kms, opt ...Option) (*Repository, error) {
func NewRepository(ctx context.Context, r db.Reader, w db.Writer, kms *kms.Kms, opt ...Option) (*Repository, error) {
const op = "session.NewRepository"
if r == nil {
return nil, errors.NewDeprecated(errors.InvalidParameter, op, "nil reader")
return nil, errors.New(ctx, errors.InvalidParameter, op, "nil reader")
}
if w == nil {
return nil, errors.NewDeprecated(errors.InvalidParameter, op, "nil writer")
return nil, errors.New(ctx, errors.InvalidParameter, op, "nil writer")
}
if kms == nil {
return nil, errors.NewDeprecated(errors.InvalidParameter, op, "nil kms")
return nil, errors.New(ctx, errors.InvalidParameter, op, "nil kms")
}
opts := getOpts(opt...)
if opts.withLimit == 0 {
@@ -58,7 +58,7 @@ func NewRepository(r db.Reader, w db.Writer, kms *kms.Kms, opt ...Option) (*Repo
if opts.withPermissions != nil {
for _, p := range opts.withPermissions.Permissions {
if p.Resource != resource.Session {
return nil, errors.NewDeprecated(errors.InvalidParameter, op, "permission for incorrect resource")
return nil, errors.New(ctx, errors.InvalidParameter, op, "permission for incorrect resource")
}
}
}
@@ -25,7 +25,7 @@ func TestRepository_ListConnection(t *testing.T) {
iamRepo := iam.TestRepo(t, conn, wrapper)
rw := db.New(conn)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms, WithLimit(testLimit))
repo, err := NewRepository(ctx, rw, rw, kms, WithLimit(testLimit))
require.NoError(t, err)
connRepo, err := NewConnectionRepository(ctx, rw, rw, kms, WithLimit(testLimit))
require.NoError(t, err)
@@ -141,7 +141,7 @@ func TestRepository_ConnectConnection(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
connRepo, err := NewConnectionRepository(ctx, rw, rw, kms)
require.NoError(t, err)
@@ -351,7 +351,7 @@ func TestRepository_orphanedConnections(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(err)
connRepo, err := NewConnectionRepository(ctx, rw, rw, kms, WithWorkerStateDelay(0))
require.NoError(err)
@@ -446,7 +446,7 @@ func TestRepository_CloseConnections(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
connRepo, err := NewConnectionRepository(ctx, rw, rw, kms)
require.NoError(t, err)
@@ -19,7 +19,8 @@ func TestRepository_AddSessionCredentials(t *testing.T) {
iamRepo := iam.TestRepo(t, conn, wrapper)
rw := db.New(conn)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
s := TestSession(t, conn, wrapper, TestSessionParams(t, conn, wrapper, iamRepo))
@@ -137,7 +138,8 @@ func TestRepository_ListSessionCredentials(t *testing.T) {
iamRepo := iam.TestRepo(t, conn, wrapper)
rw := db.New(conn)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
s1 := TestSession(t, conn, wrapper, TestSessionParams(t, conn, wrapper, iamRepo))
s2 := TestSession(t, conn, wrapper, TestSessionParams(t, conn, wrapper, iamRepo))
+23 -14
View File
@@ -42,6 +42,7 @@ func TestRepository_ListSession(t *testing.T) {
iamRepo := iam.TestRepo(t, conn, wrapper)
rw := db.New(conn)
kms := kms.TestKms(t, conn, wrapper)
ctx := context.Background()
composedOf := TestSessionParams(t, conn, wrapper, iamRepo)
listPerms := &perms.UserPermissions{
@@ -148,7 +149,7 @@ func TestRepository_ListSession(t *testing.T) {
t.Run(tt.name, func(t *testing.T) {
assert, require := assert.New(t), require.New(t)
repo, err := NewRepository(rw, rw, kms, WithLimit(testLimit), WithPermissions(tt.perms))
repo, err := NewRepository(ctx, rw, rw, kms, WithLimit(testLimit), WithPermissions(tt.perms))
require.NoError(err)
db.TestDeleteWhere(t, conn, func() interface{} { i := AllocSession(); return &i }(), "1=1")
@@ -193,7 +194,7 @@ func TestRepository_ListSession(t *testing.T) {
_ = TestSession(t, conn, wrapper, composedOf)
}
repo, err := NewRepository(rw, rw, kms, WithLimit(testLimit), WithPermissions(listPerms))
repo, err := NewRepository(ctx, rw, rw, kms, WithLimit(testLimit), WithPermissions(listPerms))
require.NoError(err)
got, err := repo.ListSessions(context.Background(), WithOrderByCreateTime(db.AscendingOrderBy))
@@ -226,7 +227,7 @@ func TestRepository_ListSession(t *testing.T) {
},
},
}
repo, err := NewRepository(rw, rw, kms, WithLimit(testLimit), WithPermissions(p))
repo, err := NewRepository(ctx, rw, rw, kms, WithLimit(testLimit), WithPermissions(p))
require.NoError(err)
got, err := repo.ListSessions(context.Background(), WithUserId(s.UserId))
require.NoError(err)
@@ -242,6 +243,7 @@ func TestRepository_ListSessions_Multiple_Scopes(t *testing.T) {
iamRepo := iam.TestRepo(t, conn, wrapper)
rw := db.New(conn)
kms := kms.TestKms(t, conn, wrapper)
ctx := context.Background()
db.TestDeleteWhere(t, conn, func() interface{} { i := AllocSession(); return &i }(), "1=1")
@@ -258,7 +260,7 @@ func TestRepository_ListSessions_Multiple_Scopes(t *testing.T) {
_ = TestState(t, conn, s.PublicId, StatusActive)
}
repo, err := NewRepository(rw, rw, kms, WithPermissions(&perms.UserPermissions{
repo, err := NewRepository(ctx, rw, rw, kms, WithPermissions(&perms.UserPermissions{
Permissions: p,
}))
require.NoError(t, err)
@@ -274,7 +276,8 @@ func TestRepository_CreateSession(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
workerAddresses := []string{"1.2.3.4"}
@@ -469,7 +472,8 @@ func TestRepository_updateState(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
tests := []struct {
@@ -583,7 +587,8 @@ func TestRepository_transitionState(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
tofu := TestTofu(t)
@@ -680,7 +685,7 @@ func TestRepository_TerminateCompletedSessions(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
repo, err := NewRepository(ctx, rw, rw, kms)
connRepo, err := NewConnectionRepository(ctx, rw, rw, kms)
require.NoError(t, err)
@@ -919,7 +924,7 @@ func TestRepository_CancelSession(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
testKms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, testKms)
repo, err := NewRepository(ctx, rw, rw, testKms)
require.NoError(t, err)
connRepo, err := NewConnectionRepository(ctx, rw, rw, testKms)
require.NoError(t, err)
@@ -1097,7 +1102,8 @@ func TestRepository_CancelSessionViaFKNull(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
setupFn := func() *Session {
session := TestDefaultSession(t, conn, wrapper, iamRepo)
@@ -1276,7 +1282,8 @@ func TestRepository_ActivateSession(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
tofu := TestTofu(t)
@@ -1399,7 +1406,8 @@ func TestRepository_DeleteSession(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
type args struct {
@@ -1520,7 +1528,8 @@ func TestRepository_deleteTargetFKey(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
ctx := context.Background()
repo, err := NewRepository(ctx, rw, rw, kms)
targetRepo, err := target.NewRepository(rw, rw, kms)
require.NoError(t, err)
@@ -1569,7 +1578,7 @@ func TestRepository_deleteTerminated(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
kms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, kms)
repo, err := NewRepository(ctx, rw, rw, kms)
composedOf := TestSessionParams(t, conn, wrapper, iamRepo)
cases := []struct {
+4 -2
View File
@@ -7,6 +7,7 @@ import (
"github.com/hashicorp/boundary/internal/kms"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/net/context"
)
func TestNewRepository(t *testing.T) {
@@ -15,6 +16,7 @@ func TestNewRepository(t *testing.T) {
rw := db.New(conn)
wrapper := db.TestWrapper(t)
testKms := kms.TestKms(t, conn, wrapper)
ctx := context.Background()
type args struct {
r db.Reader
@@ -36,7 +38,7 @@ func TestNewRepository(t *testing.T) {
k: testKms,
},
want: func() *Repository {
ret, err := NewRepository(rw, rw, testKms)
ret, err := NewRepository(ctx, rw, rw, testKms)
require.NoError(t, err)
return ret
}(),
@@ -66,7 +68,7 @@ func TestNewRepository(t *testing.T) {
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
assert, require := assert.New(t), require.New(t)
got, err := NewRepository(tt.args.r, tt.args.w, tt.args.k)
got, err := NewRepository(ctx, tt.args.r, tt.args.w, tt.args.k)
if tt.wantErr {
require.Error(err)
assert.Equal(tt.wantErrString, err.Error())
@@ -29,7 +29,7 @@ func TestService_AuthorizeConnection(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
testKms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, testKms)
repo, err := NewRepository(ctx, rw, rw, testKms)
require.NoError(t, err)
connRepo, err := NewConnectionRepository(ctx, rw, rw, testKms)
require.NoError(t, err)
@@ -27,7 +27,7 @@ func TestServiceCloseConnections(t *testing.T) {
wrapper := db.TestWrapper(t)
iamRepo := iam.TestRepo(t, conn, wrapper)
testKms := kms.TestKms(t, conn, wrapper)
repo, err := NewRepository(rw, rw, testKms)
repo, err := NewRepository(ctx, rw, rw, testKms)
require.NoError(t, err)
connRepo, err := NewConnectionRepository(ctx, rw, rw, testKms)
require.NoError(t, err)
@@ -33,7 +33,7 @@ func TestWorkerStatusReport(t *testing.T) {
})
require.NoError(t, err)
repo, err := session.NewRepository(rw, rw, kms)
repo, err := session.NewRepository(ctx, rw, rw, kms)
require.NoError(t, err)
connRepo, err := session.NewConnectionRepository(ctx, rw, rw, kms, session.WithWorkerStateDelay(0))
require.NoError(t, err)
@@ -126,7 +126,7 @@ func TestGenerateSessionBenchmarkTemplateDumps(t *testing.T) {
require.NoError(err)
pwRepo, err := password.NewRepository(rw, rw, kms)
require.NoError(err)
sessRepo, err := session.NewRepository(rw, rw, kms)
sessRepo, err := session.NewRepository(ctx, rw, rw, kms)
require.NoError(err)
connRepo, err := session.NewConnectionRepository(ctx, rw, rw, kms)
require.NoError(err)