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:
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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user