diff --git a/internal/cmd/base/initial_resources.go b/internal/cmd/base/initial_resources.go index e32f27611..38218c293 100644 --- a/internal/cmd/base/initial_resources.go +++ b/internal/cmd/base/initial_resources.go @@ -478,7 +478,7 @@ func (b *Server) CreateInitialTarget(ctx context.Context) (target.Target, error) } }() - targetRepo, err := target.NewRepository(rw, rw, kmsCache) + targetRepo, err := target.NewRepository(ctx, rw, rw, kmsCache) if err != nil { return nil, fmt.Errorf("error creating target repository: %w", err) } diff --git a/internal/daemon/controller/controller.go b/internal/daemon/controller/controller.go index b4427bcb8..ef2123fdc 100644 --- a/internal/daemon/controller/controller.go +++ b/internal/daemon/controller/controller.go @@ -334,7 +334,7 @@ func New(ctx context.Context, conf *Config) (*Controller, error) { return password.NewRepository(dbase, dbase, c.kms) } c.TargetRepoFn = func(o ...target.Option) (*target.Repository, error) { - return target.NewRepository(dbase, dbase, c.kms, o...) + return target.NewRepository(ctx, dbase, dbase, c.kms, o...) } c.SessionRepoFn = func(opt ...session.Option) (*session.Repository, error) { return session.NewRepository(ctx, dbase, dbase, c.kms, opt...) diff --git a/internal/daemon/controller/handlers/targets/tcp/target_service_test.go b/internal/daemon/controller/handlers/targets/tcp/target_service_test.go index 98b5c50c5..5a3e26fff 100644 --- a/internal/daemon/controller/handlers/targets/tcp/target_service_test.go +++ b/internal/daemon/controller/handlers/targets/tcp/target_service_test.go @@ -77,7 +77,7 @@ func testService(t *testing.T, ctx context.Context, conn *db.DB, kms *kms.Kms, w rw := db.New(conn) sche := scheduler.TestScheduler(t, conn, wrapper) repoFn := func(o ...target.Option) (*target.Repository, error) { - return target.NewRepository(rw, rw, kms, o...) + return target.NewRepository(ctx, rw, rw, kms, o...) } iamRepoFn := func() (*iam.Repository, error) { return iam.TestRepo(t, conn, wrapper), nil @@ -710,8 +710,9 @@ func TestUpdate(t *testing.T) { _ = iam.TestUserRole(t, conn, r.GetPublicId(), at.GetIamUserId()) _ = iam.TestRoleGrant(t, conn, r.GetPublicId(), "id=*;type=*;actions=*") + ctx := context.Background() repoFn := func(o ...target.Option) (*target.Repository, error) { - return target.NewRepository(rw, rw, kms) + return target.NewRepository(ctx, rw, rw, kms) } repo, err := repoFn() require.NoError(t, err, "Couldn't create new target repo.") @@ -729,7 +730,6 @@ func TestUpdate(t *testing.T) { {Id: hs[1].GetPublicId(), HostCatalogId: hs[1].GetCatalogId()}, } - ctx := context.Background() ttar, err := target.New(ctx, tcp.Subtype, proj.GetPublicId(), target.WithName("default"), target.WithDescription("default"), @@ -1134,13 +1134,13 @@ func TestUpdate_BadVersion(t *testing.T) { _ = iam.TestUserRole(t, conn, r.GetPublicId(), at.GetIamUserId()) _ = iam.TestRoleGrant(t, conn, r.GetPublicId(), "id=*;type=*;actions=*") + ctx := context.Background() repoFn := func(o ...target.Option) (*target.Repository, error) { - return target.NewRepository(rw, rw, kms) + return target.NewRepository(ctx, rw, rw, kms) } repo, err := repoFn() require.NoError(t, err, "Couldn't create new target repo.") - ctx := context.Background() ttar, err := target.New(ctx, tcp.Subtype, proj.GetPublicId(), target.WithName("default"), target.WithDescription("default")) tar := ttar.(*tcp.Target) tar.DefaultPort = 2 @@ -2740,7 +2740,7 @@ func TestAuthorizeSession(t *testing.T) { require.NoError(t, err) repoFn := func(o ...target.Option) (*target.Repository, error) { - return target.NewRepository(rw, rw, kms) + return target.NewRepository(ctx, rw, rw, kms) } iamRepo := iam.TestRepo(t, conn, wrapper) iamRepoFn := func() (*iam.Repository, error) { @@ -3000,7 +3000,7 @@ func TestAuthorizeSessionTypedCredentials(t *testing.T) { require.NoError(t, err) repoFn := func(o ...target.Option) (*target.Repository, error) { - return target.NewRepository(rw, rw, kms) + return target.NewRepository(ctx, rw, rw, kms) } iamRepo := iam.TestRepo(t, conn, wrapper) iamRepoFn := func() (*iam.Repository, error) { @@ -3579,7 +3579,7 @@ func TestAuthorizeSession_Errors(t *testing.T) { require.NoError(t, err) repoFn := func(o ...target.Option) (*target.Repository, error) { - return target.NewRepository(rw, rw, kms) + return target.NewRepository(ctx, rw, rw, kms) } iamRepo := iam.TestRepo(t, conn, wrapper) iamRepoFn := func() (*iam.Repository, error) { diff --git a/internal/session/repository_session_test.go b/internal/session/repository_session_test.go index 79103dcda..4191fdcf1 100644 --- a/internal/session/repository_session_test.go +++ b/internal/session/repository_session_test.go @@ -963,7 +963,7 @@ func TestRepository_CancelSession(t *testing.T) { // is terminated when the one connection is closed. tcpTarget := tcp.TestTarget(ctx, t, conn, proj.PublicId, "test target", target.WithSessionConnectionLimit(1)) - targetRepo, err := target.NewRepository(rw, rw, testKms) + targetRepo, err := target.NewRepository(ctx, rw, rw, testKms) require.NoError(t, err) _, _, _, err = targetRepo.AddTargetHostSources(ctx, tcpTarget.GetPublicId(), tcpTarget.GetVersion(), []string{sets[0].PublicId}) require.NoError(t, err) @@ -1491,7 +1491,7 @@ func testSessionCredentialParams(t *testing.T, conn *db.DB, wrapper wrapping.Wra ctx := context.Background() kms := kms.TestKms(t, conn, wrapper) - targetRepo, err := target.NewRepository(rw, rw, kms) + targetRepo, err := target.NewRepository(ctx, rw, rw, kms) require.NoError(err) tar, _, _, err := targetRepo.LookupTarget(ctx, params.TargetId) require.NoError(err) @@ -1530,7 +1530,7 @@ func TestRepository_deleteTargetFKey(t *testing.T) { kms := kms.TestKms(t, conn, wrapper) ctx := context.Background() repo, err := NewRepository(ctx, rw, rw, kms) - targetRepo, err := target.NewRepository(rw, rw, kms) + targetRepo, err := target.NewRepository(ctx, rw, rw, kms) require.NoError(t, err) tests := []struct { diff --git a/internal/session/service_authorize_connection_test.go b/internal/session/service_authorize_connection_test.go index 0f254e3e6..3e6df2937 100644 --- a/internal/session/service_authorize_connection_test.go +++ b/internal/session/service_authorize_connection_test.go @@ -90,7 +90,7 @@ func TestService_AuthorizeConnection(t *testing.T) { // is terminated when the one connection is closed. tcpTarget := tcp.TestTarget(ctx, t, conn, proj.PublicId, "test target", target.WithSessionConnectionLimit(1)) - targetRepo, err := target.NewRepository(rw, rw, testKms) + targetRepo, err := target.NewRepository(ctx, rw, rw, testKms) require.NoError(t, err) _, _, _, err = targetRepo.AddTargetHostSources(ctx, tcpTarget.GetPublicId(), tcpTarget.GetVersion(), []string{sets[0].PublicId}) require.NoError(t, err) diff --git a/internal/session/service_close_connections_test.go b/internal/session/service_close_connections_test.go index 5e378c2a2..cff2a8577 100644 --- a/internal/session/service_close_connections_test.go +++ b/internal/session/service_close_connections_test.go @@ -51,7 +51,7 @@ func TestServiceCloseConnections(t *testing.T) { // is terminated when the one connection is closed. tcpTarget := tcp.TestTarget(ctx, t, conn, proj.PublicId, "test target", target.WithSessionConnectionLimit(1)) - targetRepo, err := target.NewRepository(rw, rw, testKms) + targetRepo, err := target.NewRepository(ctx, rw, rw, testKms) require.NoError(t, err) _, _, _, err = targetRepo.AddTargetHostSources(ctx, tcpTarget.GetPublicId(), tcpTarget.GetVersion(), []string{sets[0].PublicId}) require.NoError(t, err) diff --git a/internal/session/testing.go b/internal/session/testing.go index 65b4dc3a2..09857b634 100644 --- a/internal/session/testing.go +++ b/internal/session/testing.go @@ -144,7 +144,7 @@ func TestSessionParams(t testing.TB, conn *db.DB, wrapper wrapping.Wrapper, iamR tcpTarget := tcp.TestTarget(ctx, t, conn, proj.PublicId, "test target") kms := kms.TestKms(t, conn, wrapper) - targetRepo, err := target.NewRepository(rw, rw, kms) + targetRepo, err := target.NewRepository(ctx, rw, rw, kms) require.NoError(err) _, _, _, err = targetRepo.AddTargetHostSources(ctx, tcpTarget.GetPublicId(), tcpTarget.GetVersion(), []string{sets[0].PublicId}) require.NoError(err) diff --git a/internal/target/repository.go b/internal/target/repository.go index 7ec5d1b2d..c7175b347 100644 --- a/internal/target/repository.go +++ b/internal/target/repository.go @@ -48,16 +48,16 @@ type Repository struct { // - WithLimit: sets a limit on the number of results returned by various repo operations. // - WithPermissions: defines the permissions the user has to perform different // actions and access resources within the created repo object. -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 = "target.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...) @@ -68,7 +68,7 @@ func NewRepository(r db.Reader, w db.Writer, kms *kms.Kms, opt ...Option) (*Repo for _, p := range opts.WithPermissions { if p.Resource != resource.Target { - return nil, errors.New(context.Background(), errors.InvalidParameter, op, "permission for incorrect resource found") + return nil, errors.New(ctx, errors.InvalidParameter, op, "permission for incorrect resource found") } } diff --git a/internal/target/repository_credential_source_test.go b/internal/target/repository_credential_source_test.go index 049a05a47..2f4f950e0 100644 --- a/internal/target/repository_credential_source_test.go +++ b/internal/target/repository_credential_source_test.go @@ -48,7 +48,7 @@ func TestRepository_SetTargetCredentialSources(t *testing.T) { rw := db.New(conn) wrapper := db.TestWrapper(t) testKms := kms.TestKms(t, conn, wrapper) - repo, err := target.NewRepository(rw, rw, testKms) + repo, err := target.NewRepository(context.Background(), rw, rw, testKms) require.NoError(t, err) iamRepo := iam.TestRepo(t, conn, wrapper) diff --git a/internal/target/repository_test.go b/internal/target/repository_test.go index 8468756f2..04a70d33b 100644 --- a/internal/target/repository_test.go +++ b/internal/target/repository_test.go @@ -1,6 +1,7 @@ package target import ( + "context" "database/sql" "testing" @@ -126,7 +127,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.kms, tt.args.opts...) + got, err := NewRepository(context.Background(), tt.args.r, tt.args.w, tt.args.kms, tt.args.opts...) if tt.wantErr { require.Error(err) assert.Equal(tt.wantErrString, err.Error()) diff --git a/internal/target/tcp/immutable_fields_test.go b/internal/target/tcp/immutable_fields_test.go index fb2871f95..ae23a025c 100644 --- a/internal/target/tcp/immutable_fields_test.go +++ b/internal/target/tcp/immutable_fields_test.go @@ -158,14 +158,15 @@ func TestTargetHostSet_ImmutableFields(t *testing.T) { conn, _ := db.TestSetup(t, "postgres") wrapper := db.TestWrapper(t) testKms := kms.TestKms(t, conn, wrapper) + + ctx := context.Background() rw := db.New(conn) - repo, err := target.NewRepository(rw, rw, testKms) + repo, err := target.NewRepository(ctx, rw, rw, testKms) require.NoError(t, err) ts := timestamp.Timestamp{Timestamp: ×tamppb.Timestamp{Seconds: 0, Nanos: 0}} _, proj := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper)) - ctx := context.Background() projTarget := tcp.TestTarget(ctx, t, conn, proj.PublicId, tcp.TestId(t)) testCats := static.TestCatalogs(t, conn, proj.PublicId, 1) hsets := static.TestSets(t, conn, testCats[0].GetPublicId(), 2) diff --git a/internal/target/tcp/repository_credential_source_test.go b/internal/target/tcp/repository_credential_source_test.go index 79c76d9bc..65fe022c2 100644 --- a/internal/target/tcp/repository_credential_source_test.go +++ b/internal/target/tcp/repository_credential_source_test.go @@ -29,7 +29,7 @@ func TestRepository_AddTargetCredentialSources(t *testing.T) { testKms := kms.TestKms(t, conn, wrapper) iamRepo := iam.TestRepo(t, conn, wrapper) _, staticProj := iam.TestScopes(t, iamRepo) - repo, err := target.NewRepository(rw, rw, testKms) + repo, err := target.NewRepository(context.Background(), rw, rw, testKms) require.NoError(t, err) csVault := vault.TestCredentialStores(t, conn, wrapper, staticProj.GetPublicId(), 1)[0] @@ -336,7 +336,7 @@ func TestRepository_DeleteTargetCredentialSources(t *testing.T) { testKms := kms.TestKms(t, conn, wrapper) iamRepo := iam.TestRepo(t, conn, wrapper) _, proj := iam.TestScopes(t, iamRepo) - repo, err := target.NewRepository(rw, rw, testKms) + repo, err := target.NewRepository(context.Background(), rw, rw, testKms) require.NoError(t, err) type args struct { @@ -563,7 +563,7 @@ func TestRepository_SetTargetCredentialSources(t *testing.T) { rw := db.New(conn) wrapper := db.TestWrapper(t) testKms := kms.TestKms(t, conn, wrapper) - repo, err := target.NewRepository(rw, rw, testKms) + repo, err := target.NewRepository(context.Background(), rw, rw, testKms) require.NoError(t, err) iamRepo := iam.TestRepo(t, conn, wrapper) diff --git a/internal/target/tcp/repository_host_source_test.go b/internal/target/tcp/repository_host_source_test.go index 8767820fd..be2fa10f8 100644 --- a/internal/target/tcp/repository_host_source_test.go +++ b/internal/target/tcp/repository_host_source_test.go @@ -34,7 +34,7 @@ func TestRepository_AddTargetHostSets(t *testing.T) { testKms := kms.TestKms(t, conn, wrapper) iamRepo := iam.TestRepo(t, conn, wrapper) _, staticProj := iam.TestScopes(t, iamRepo) - repo, err := target.NewRepository(rw, rw, testKms) + repo, err := target.NewRepository(context.Background(), rw, rw, testKms) require.NoError(t, err) createHostSetsFn := func(projects []string) []string { @@ -199,10 +199,10 @@ func TestRepository_DeleteTargetHosts(t *testing.T) { testKms := kms.TestKms(t, conn, wrapper) iamRepo := iam.TestRepo(t, conn, wrapper) _, proj := iam.TestScopes(t, iamRepo) - repo, err := target.NewRepository(rw, rw, testKms) - require.NoError(t, err) ctx := context.Background() + repo, err := target.NewRepository(ctx, rw, rw, testKms) + require.NoError(t, err) type args struct { target target.Target @@ -404,7 +404,9 @@ func TestRepository_SetTargetHostSets(t *testing.T) { rw := db.New(conn) wrapper := db.TestWrapper(t) testKms := kms.TestKms(t, conn, wrapper) - repo, err := target.NewRepository(rw, rw, testKms) + + ctx := context.Background() + repo, err := target.NewRepository(ctx, rw, rw, testKms) require.NoError(t, err) iamRepo := iam.TestRepo(t, conn, wrapper) @@ -427,8 +429,6 @@ func TestRepository_SetTargetHostSets(t *testing.T) { return results } - ctx := context.Background() - setupFn := func(target target.Target) []target.HostSource { hs := createHostSetsFn() _, created, _, err := repo.AddTargetHostSources(context.Background(), target.GetPublicId(), 1, hs) diff --git a/internal/target/tcp/repository_tcp_target_test.go b/internal/target/tcp/repository_tcp_target_test.go index 109daf05a..afaa21a79 100644 --- a/internal/target/tcp/repository_tcp_target_test.go +++ b/internal/target/tcp/repository_tcp_target_test.go @@ -28,7 +28,9 @@ func TestRepository_CreateTarget(t *testing.T) { rw := db.New(conn) wrapper := db.TestWrapper(t) testKms := kms.TestKms(t, conn, wrapper) - repo, err := target.NewRepository(rw, rw, testKms) + + ctx := context.Background() + repo, err := target.NewRepository(ctx, rw, rw, testKms) require.NoError(t, err) _, proj := iam.TestScopes(t, iam.TestRepo(t, conn, wrapper)) @@ -38,8 +40,6 @@ func TestRepository_CreateTarget(t *testing.T) { cs := vault.TestCredentialStores(t, conn, wrapper, proj.GetPublicId(), 1)[0] vault.TestCredentialLibraries(t, conn, wrapper, cs.GetPublicId(), 2) - ctx := context.Background() - type args struct { target target.Target opt []target.Option @@ -165,7 +165,7 @@ func TestRepository_UpdateTcpTarget(t *testing.T) { wrapper := db.TestWrapper(t) testKms := kms.TestKms(t, conn, wrapper) - repo, err := target.NewRepository(rw, rw, testKms) + repo, err := target.NewRepository(context.Background(), rw, rw, testKms) require.NoError(t, err) id := tcp.TestId(t) diff --git a/internal/target/tcp/repository_test.go b/internal/target/tcp/repository_test.go index b7c8e3c60..5df9d664b 100644 --- a/internal/target/tcp/repository_test.go +++ b/internal/target/tcp/repository_test.go @@ -32,7 +32,7 @@ func TestRepository_LookupTarget(t *testing.T) { _, _, err := iamRepo.UpdateScope(ctx, proj, 1, []string{"name"}) require.NoError(t, err) rw := db.New(conn) - repo, err := target.NewRepository(rw, rw, testKms) + repo, err := target.NewRepository(ctx, rw, rw, testKms) require.NoError(t, err) tgt := tcp.TestTarget(ctx, t, conn, proj.PublicId, "target-name") @@ -160,7 +160,7 @@ func TestRepository_ListRoles_Multiple_Scopes(t *testing.T) { } rw := db.New(conn) - repo, err := target.NewRepository(rw, rw, testKms, + repo, err := target.NewRepository(ctx, rw, rw, testKms, target.WithPermissions([]perms.Permission{ { ScopeId: proj1.PublicId, @@ -191,10 +191,11 @@ func TestRepository_DeleteTarget(t *testing.T) { testKms := kms.TestKms(t, conn, wrapper) iamRepo := iam.TestRepo(t, conn, wrapper) _, proj := iam.TestScopes(t, iamRepo) - repo, err := target.NewRepository(rw, rw, testKms) - require.NoError(t, err) ctx := context.Background() + repo, err := target.NewRepository(ctx, rw, rw, testKms) + require.NoError(t, err) + type args struct { target target.Target opt []target.Option diff --git a/internal/target/tcp/testing_test.go b/internal/target/tcp/testing_test.go index bcc402f5a..785135ac2 100644 --- a/internal/target/tcp/testing_test.go +++ b/internal/target/tcp/testing_test.go @@ -23,9 +23,10 @@ func Test_TestTcpTarget(t *testing.T) { testKms := kms.TestKms(t, conn, wrapper) iamRepo := iam.TestRepo(t, conn, wrapper) _, proj := iam.TestScopes(t, iamRepo) - repo, err := target.NewRepository(rw, rw, testKms) - require.NoError(err) + ctx := context.Background() + repo, err := target.NewRepository(ctx, rw, rw, testKms) + require.NoError(err) cats := static.TestCatalogs(t, conn, proj.PublicId, 1) hsets := static.TestSets(t, conn, cats[0].GetPublicId(), 2) @@ -56,9 +57,10 @@ func Test_TestCredentialLibrary(t *testing.T) { testKms := kms.TestKms(t, conn, wrapper) iamRepo := iam.TestRepo(t, conn, wrapper) _, proj := iam.TestScopes(t, iamRepo) - repo, err := target.NewRepository(rw, rw, testKms) - require.NoError(err) + ctx := context.Background() + repo, err := target.NewRepository(ctx, rw, rw, testKms) + require.NoError(err) tar := tcp.TestTarget(ctx, t, conn, proj.PublicId, t.Name()) store := vault.TestCredentialStores(t, conn, wrapper, proj.GetPublicId(), 1)[0]