Skip to content

Commit 2d2edcb

Browse files
committed
sql: use PGUrl method from the application layer
This commit replaces almost all usages of `pgurlutils` package within the `sql` directory in tests with the corresponding `PGUrl` call on the `ApplicationLayerInterface` since I found this to be a necessary change in several tests when making them work with secondary tenants. Perhaps this wasn't necessary, but it seems cleaner and more consistent this way. Release note: None
1 parent d2b7cff commit 2d2edcb

32 files changed

+173
-190
lines changed

pkg/ccl/multiregionccl/cold_start_latency_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ COMMIT;`}
323323
defer tenant.AppStopper().Stop(ctx)
324324
pgURL, cleanup, err := pgurlutils.PGUrlWithOptionalClientCertsE(
325325
tenant.AdvSQLAddr(), "tenantdata", url.UserPassword("foo", password),
326-
false, "", // withClientCerts
326+
false /* withClientCerts */, "", /* certName */
327327
)
328328
if !assert.NoError(t, err) {
329329
return

pkg/server/testserver.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,7 @@ func (ts *testServer) SQLConnE(opts ...serverutils.SQLConnOption) (*gosql.DB, er
516516
ts.cfg.Insecure,
517517
options.ClientCerts,
518518
options.CertsDirPrefix,
519+
options.CertName,
519520
)
520521
}
521522

@@ -544,6 +545,7 @@ func (ts *testServer) PGUrlE(opts ...serverutils.SQLConnOption) (url.URL, func()
544545
ts.cfg.Insecure,
545546
options.ClientCerts,
546547
options.CertsDirPrefix,
548+
options.CertName,
547549
)
548550
}
549551

@@ -1039,6 +1041,7 @@ func (t *testTenant) SQLConnE(opts ...serverutils.SQLConnOption) (*gosql.DB, err
10391041
t.Cfg.Insecure,
10401042
options.ClientCerts,
10411043
options.CertsDirPrefix,
1044+
options.CertName,
10421045
)
10431046
}
10441047

@@ -1073,6 +1076,7 @@ func (t *testTenant) PGUrlE(opts ...serverutils.SQLConnOption) (url.URL, func(),
10731076
t.Cfg.Insecure,
10741077
options.ClientCerts,
10751078
options.CertsDirPrefix,
1079+
options.CertName,
10761080
)
10771081
}
10781082

pkg/server/testserver_sqlconn.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ func pgURL(
4545
insecure bool,
4646
clientCerts bool,
4747
prefix string,
48+
certName string,
4849
) (pgURL url.URL, cleanupFn func(), err error) {
4950
opts := url.Values{}
5051
if tenantName != "" && !strings.HasPrefix(dbName, "cluster:") {
@@ -65,7 +66,7 @@ func pgURL(
6566
}
6667

6768
// No LoopbackListener
68-
pgURL, cleanupFn, err = pgurlutils.PGUrlWithOptionalClientCertsE(sqlAddr, prefix, user, clientCerts, "")
69+
pgURL, cleanupFn, err = pgurlutils.PGUrlWithOptionalClientCertsE(sqlAddr, prefix, user, clientCerts, certName)
6970
if err != nil {
7071
return pgURL, cleanupFn, err
7172
}
@@ -95,9 +96,10 @@ func openTestSQLConn(
9596
insecure bool,
9697
clientCerts bool,
9798
prefix string,
99+
certName string,
98100
) (*gosql.DB, error) {
99101
var goDB *gosql.DB
100-
u, cleanupFn, err := pgURL(dbName, user, tenantName, sqlAddr, insecure, clientCerts, prefix)
102+
u, cleanupFn, err := pgURL(dbName, user, tenantName, sqlAddr, insecure, clientCerts, prefix, certName)
101103
if err != nil {
102104
return nil, err
103105
}

pkg/sql/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,6 @@ go_test(
942942
"//pkg/testutils/jobutils",
943943
"//pkg/testutils/kvclientutils",
944944
"//pkg/testutils/pgtest",
945-
"//pkg/testutils/pgurlutils",
946945
"//pkg/testutils/serverutils",
947946
"//pkg/testutils/skip",
948947
"//pkg/testutils/sqlutils",

pkg/sql/colenc/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ go_test(
8080
"//pkg/sql/sem/tree",
8181
"//pkg/sql/sessiondata",
8282
"//pkg/sql/types",
83-
"//pkg/testutils/pgurlutils",
8483
"//pkg/testutils/serverutils",
8584
"//pkg/testutils/sqlutils",
8685
"//pkg/testutils/testcluster",

pkg/sql/colenc/bench_test.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ package colenc_test
88
import (
99
"context"
1010
"io"
11-
"net/url"
1211
"testing"
1312

1413
"github.com/cockroachdb/cockroach/pkg/base"
@@ -24,7 +23,6 @@ import (
2423
"github.com/cockroachdb/cockroach/pkg/sql/sem/eval"
2524
"github.com/cockroachdb/cockroach/pkg/sql/sem/tree"
2625
"github.com/cockroachdb/cockroach/pkg/sql/types"
27-
"github.com/cockroachdb/cockroach/pkg/testutils/pgurlutils"
2826
"github.com/cockroachdb/cockroach/pkg/testutils/serverutils"
2927
"github.com/cockroachdb/cockroach/pkg/util/hlc"
3028
"github.com/cockroachdb/cockroach/pkg/util/leaktest"
@@ -90,7 +88,7 @@ func BenchmarkTCPHLineItem(b *testing.B) {
9088
defer srv.Stopper().Stop(ctx)
9189
s := srv.ApplicationLayer()
9290

93-
url, cleanup := pgurlutils.PGUrl(b, s.AdvSQLAddr(), "copytest", url.User(username.RootUser))
91+
url, cleanup := s.PGUrl(b, serverutils.CertsDirPrefix("copytest"), serverutils.User(username.RootUser))
9492
defer cleanup()
9593
var sqlConnCtx clisqlclient.Context
9694
conn := sqlConnCtx.MakeSQLConn(io.Discard, io.Discard, url.String())

pkg/sql/conn_executor_test.go

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ import (
4747
"github.com/cockroachdb/cockroach/pkg/sql/sqlstats/persistedsqlstats/sqlstatstestutil"
4848
"github.com/cockroachdb/cockroach/pkg/testutils"
4949
"github.com/cockroachdb/cockroach/pkg/testutils/pgtest"
50-
"github.com/cockroachdb/cockroach/pkg/testutils/pgurlutils"
5150
"github.com/cockroachdb/cockroach/pkg/testutils/serverutils"
5251
"github.com/cockroachdb/cockroach/pkg/testutils/skip"
5352
"github.com/cockroachdb/cockroach/pkg/testutils/sqlutils"
@@ -80,11 +79,12 @@ func TestSessionFinishRollsBackTxn(t *testing.T) {
8079
defer aborter.Close(t)
8180
params, _ := createTestServerParamsAllowTenants()
8281
params.Knobs.SQLExecutor = aborter.executorKnobs()
83-
s, mainDB, _ := serverutils.StartServer(t, params)
84-
defer s.Stopper().Stop(context.Background())
82+
srv, mainDB, _ := serverutils.StartServer(t, params)
83+
defer srv.Stopper().Stop(context.Background())
84+
s := srv.ApplicationLayer()
8585
{
86-
pgURL, cleanup := pgurlutils.PGUrl(
87-
t, s.AdvSQLAddr(), "TestSessionFinishRollsBackTxn", url.User(username.RootUser))
86+
pgURL, cleanup := s.PGUrl(
87+
t, serverutils.CertsDirPrefix("TestSessionFinishRollsBackTxn"), serverutils.User(username.RootUser))
8888
defer cleanup()
8989
if err := aborter.Init(pgURL); err != nil {
9090
t.Fatal(err)
@@ -108,7 +108,7 @@ CREATE TABLE t.test (k INT PRIMARY KEY, v TEXT);
108108
for _, state := range tests {
109109
t.Run(state, func(t *testing.T) {
110110
// Create a low-level lib/pq connection so we can close it at will.
111-
pgURL, cleanup := s.ApplicationLayer().PGUrl(t)
111+
pgURL, cleanup := s.PGUrl(t)
112112
defer cleanup()
113113
c, err := pq.Open(pgURL.String())
114114
if err != nil {
@@ -960,15 +960,16 @@ func TestErrorDuringPrepareInExplicitTransactionPropagates(t *testing.T) {
960960

961961
ctx := context.Background()
962962
filter := newDynamicRequestFilter()
963-
s, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{
963+
srv, sqlDB, _ := serverutils.StartServer(t, base.TestServerArgs{
964964
Knobs: base.TestingKnobs{
965965
Store: &kvserver.StoreTestingKnobs{
966966
TestingRequestFilter: filter.filter,
967967
},
968968
},
969969
})
970-
defer s.Stopper().Stop(ctx)
971-
codec := s.ApplicationLayer().Codec()
970+
defer srv.Stopper().Stop(ctx)
971+
s := srv.ApplicationLayer()
972+
codec := s.Codec()
972973

973974
testDB := sqlutils.MakeSQLRunner(sqlDB)
974975
testDB.Exec(t, "CREATE TABLE foo (i INT PRIMARY KEY)")
@@ -981,7 +982,7 @@ func TestErrorDuringPrepareInExplicitTransactionPropagates(t *testing.T) {
981982
// transaction state evolves appropriately.
982983

983984
// Use pgx so that we can introspect error codes returned from cockroach.
984-
pgURL, cleanup := pgurlutils.PGUrl(t, s.AdvSQLAddr(), "", url.User("root"))
985+
pgURL, cleanup := s.PGUrl(t, serverutils.User(username.RootUser))
985986
defer cleanup()
986987
conf, err := pgx.ParseConfig(pgURL.String())
987988
require.NoError(t, err)
@@ -1543,9 +1544,9 @@ func TestInjectRetryErrors(t *testing.T) {
15431544
}
15441545
},
15451546
}
1546-
s, db, _ := serverutils.StartServer(t, params)
1547-
defer s.Stopper().Stop(ctx)
1548-
defer db.Close()
1547+
srv, db, _ := serverutils.StartServer(t, params)
1548+
defer srv.Stopper().Stop(ctx)
1549+
s := srv.ApplicationLayer()
15491550

15501551
_, err := db.Exec("SET inject_retry_errors_enabled = 'true'")
15511552
require.NoError(t, err)
@@ -1656,8 +1657,9 @@ func TestInjectRetryErrors(t *testing.T) {
16561657

16571658
// Choose a small results_buffer_size and make sure the statement retry
16581659
// does not occur.
1659-
pgURL, cleanupFn := pgurlutils.PGUrl(
1660-
t, s.AdvSQLAddr(), t.Name(), url.User(username.RootUser))
1660+
pgURL, cleanupFn := s.PGUrl(
1661+
t, serverutils.CertsDirPrefix(t.Name()), serverutils.User(username.RootUser),
1662+
)
16611663
defer cleanupFn()
16621664
q := pgURL.Query()
16631665
q.Add("results_buffer_size", "4")

pkg/sql/copy/BUILD.bazel

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ go_test(
3333
"//pkg/sql/types",
3434
"//pkg/testutils",
3535
"//pkg/testutils/datapathutils",
36-
"//pkg/testutils/pgurlutils",
3736
"//pkg/testutils/serverutils",
3837
"//pkg/testutils/skip",
3938
"//pkg/testutils/sqlutils",
@@ -45,7 +44,6 @@ go_test(
4544
"//pkg/util/leaktest",
4645
"//pkg/util/log",
4746
"//pkg/util/randutil",
48-
"//pkg/util/stop",
4947
"//pkg/util/timeofday",
5048
"//pkg/util/timetz",
5149
"@com_github_cockroachdb_apd_v3//:apd",

pkg/sql/copy/copy_in_test.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import (
1111
"io"
1212
"math"
1313
"math/rand"
14-
"net/url"
1514
"reflect"
1615
"strconv"
1716
"strings"
@@ -30,7 +29,6 @@ import (
3029
"github.com/cockroachdb/cockroach/pkg/sql/sqltestutils"
3130
"github.com/cockroachdb/cockroach/pkg/sql/types"
3231
"github.com/cockroachdb/cockroach/pkg/testutils"
33-
"github.com/cockroachdb/cockroach/pkg/testutils/pgurlutils"
3432
"github.com/cockroachdb/cockroach/pkg/testutils/serverutils"
3533
"github.com/cockroachdb/cockroach/pkg/testutils/sqlutils"
3634
"github.com/cockroachdb/cockroach/pkg/util/admission/admissionpb"
@@ -792,8 +790,9 @@ func TestMessageSizeTooBig(t *testing.T) {
792790
ctx := context.Background()
793791
srv := serverutils.StartServerOnly(t, base.TestServerArgs{})
794792
defer srv.Stopper().Stop(ctx)
793+
s := srv.ApplicationLayer()
795794

796-
url, cleanup := pgurlutils.PGUrl(t, srv.ApplicationLayer().AdvSQLAddr(), "copytest", url.User(username.RootUser))
795+
url, cleanup := s.PGUrl(t, serverutils.CertsDirPrefix("copytest"), serverutils.User(username.RootUser))
797796
defer cleanup()
798797
var sqlConnCtx clisqlclient.Context
799798
conn := sqlConnCtx.MakeSQLConn(io.Discard, io.Discard, url.String())
@@ -841,7 +840,7 @@ func TestCopyExceedsSQLMemory(t *testing.T) {
841840

842841
s := srv.ApplicationLayer()
843842

844-
url, cleanup := pgurlutils.PGUrl(t, s.AdvSQLAddr(), "copytest", url.User(username.RootUser))
843+
url, cleanup := s.PGUrl(t, serverutils.CertsDirPrefix("copytest"), serverutils.User(username.RootUser))
845844
defer cleanup()
846845
var sqlConnCtx clisqlclient.Context
847846
conn := sqlConnCtx.MakeSQLConn(io.Discard, io.Discard, url.String())

pkg/sql/copy/copy_out_test.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import (
2424
"github.com/cockroachdb/cockroach/pkg/util/leaktest"
2525
"github.com/cockroachdb/cockroach/pkg/util/log"
2626
"github.com/cockroachdb/cockroach/pkg/util/randutil"
27-
"github.com/cockroachdb/cockroach/pkg/util/stop"
2827
"github.com/jackc/pgx/v5"
2928
"github.com/stretchr/testify/require"
3029
)
@@ -46,12 +45,12 @@ func TestCopyOutTransaction(t *testing.T) {
4645
`)
4746
require.NoError(t, err)
4847

49-
pgURL, cleanupGoDB, err := s.PGUrlE(
48+
pgURL, cleanupGoDB := s.PGUrl(
49+
t,
5050
serverutils.CertsDirPrefix("StartServer"),
5151
serverutils.User(username.RootUser),
5252
)
53-
require.NoError(t, err)
54-
s.AppStopper().AddCloser(stop.CloserFn(func() { cleanupGoDB() }))
53+
defer cleanupGoDB()
5554
config, err := pgx.ParseConfig(pgURL.String())
5655
require.NoError(t, err)
5756

@@ -113,12 +112,12 @@ func TestCopyOutRandom(t *testing.T) {
113112

114113
// Use pgx for this next bit as it allows selecting rows by raw values.
115114
// Furthermore, it handles CopyTo!
116-
pgURL, cleanupGoDB, err := s.PGUrlE(
115+
pgURL, cleanupGoDB := s.PGUrl(
116+
t,
117117
serverutils.CertsDirPrefix("StartServer"),
118118
serverutils.User(username.RootUser),
119119
)
120-
require.NoError(t, err)
121-
s.AppStopper().AddCloser(stop.CloserFn(func() { cleanupGoDB() }))
120+
defer cleanupGoDB()
122121
config, err := pgx.ParseConfig(pgURL.String())
123122
require.NoError(t, err)
124123
config.Database = sqlutils.TestDB

0 commit comments

Comments
 (0)