Skip to content

Commit 107fc9c

Browse files
committed
add TestRegister
1 parent 5a3754f commit 107fc9c

File tree

1 file changed

+33
-39
lines changed

1 file changed

+33
-39
lines changed

internal/dsn/dsn_test.go

Lines changed: 33 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,100 +1,81 @@
11
package dsn
22

33
import (
4-
"context"
4+
"strconv"
55
"testing"
66

7+
"github.com/stretchr/testify/require"
8+
79
"github.com/ydb-platform/ydb-go-sdk/v3/config"
8-
"github.com/ydb-platform/ydb-go-sdk/v3/internal/credentials"
910
"github.com/ydb-platform/ydb-go-sdk/v3/testutil"
1011
)
1112

12-
func init() {
13-
_ = Register("token", func(token string) ([]config.Option, error) {
14-
return []config.Option{
15-
config.WithCredentials(
16-
credentials.NewAccessTokenCredentials(token, ""),
17-
),
18-
}, nil
19-
})
20-
}
21-
2213
func TestParseConnectionString(t *testing.T) {
2314
for _, test := range []struct {
2415
connectionString string
2516
secure bool
2617
endpoint string
2718
database string
28-
token string
2919
}{
3020
{
3121
"grpc://ydb-ru.yandex.net:2135/?" +
32-
"database=/ru/home/gvit/mydb&token=123",
22+
"database=/ru/home/gvit/mydb",
3323
false,
3424
"ydb-ru.yandex.net:2135",
3525
"/ru/home/gvit/mydb",
36-
"123",
3726
},
3827
{
39-
"grpc://ydb-ru.yandex.net:2135/ru/home/gvit/mydb?token=123",
28+
"grpc://ydb-ru.yandex.net:2135/ru/home/gvit/mydb",
4029
false,
4130
"ydb-ru.yandex.net:2135",
4231
"/ru/home/gvit/mydb",
43-
"123",
4432
},
4533
{
4634
"grpcs://ydb.serverless.yandexcloud.net:2135/?" +
47-
"database=/ru-central1/b1g8skpblkos03malf3s/etn02qso4v3isjb00te1&token=123",
35+
"database=/ru-central1/b1g8skpblkos03malf3s/etn02qso4v3isjb00te1",
4836
true,
4937
"ydb.serverless.yandexcloud.net:2135",
5038
"/ru-central1/b1g8skpblkos03malf3s/etn02qso4v3isjb00te1",
51-
"123",
5239
},
5340
{
5441
"grpcs://ydb.serverless.yandexcloud.net:2135" +
55-
"/ru-central1/b1g8skpblkos03malf3s/etn02qso4v3isjb00te1?token=123",
42+
"/ru-central1/b1g8skpblkos03malf3s/etn02qso4v3isjb00te1",
5643
true,
5744
"ydb.serverless.yandexcloud.net:2135",
5845
"/ru-central1/b1g8skpblkos03malf3s/etn02qso4v3isjb00te1",
59-
"123",
6046
},
6147
{
6248
"grpcs://ydb.serverless.yandexcloud.net:2135" +
63-
"/ru-central1/b1g8skpblkos03malf3s/etn02qso4v3isjb00te1?database=/ru/home/gvit/mydb&token=123",
49+
"/ru-central1/b1g8skpblkos03malf3s/etn02qso4v3isjb00te1?database=/ru/home/gvit/mydb",
6450
true,
6551
"ydb.serverless.yandexcloud.net:2135",
6652
"/ru/home/gvit/mydb",
67-
"123",
6853
},
6954
{
7055
"grpcs://lb.etn03r9df42nb631unbv.ydb.mdb.yandexcloud.net:2135/?" +
71-
"database=/ru-central1/b1g8skpblkos03malf3s/etn03r9df42nb631unbv&token=123",
56+
"database=/ru-central1/b1g8skpblkos03malf3s/etn03r9df42nb631unbv",
7257
true,
7358
"lb.etn03r9df42nb631unbv.ydb.mdb.yandexcloud.net:2135",
7459
"/ru-central1/b1g8skpblkos03malf3s/etn03r9df42nb631unbv",
75-
"123",
7660
},
7761
{
7862
"grpcs://lb.etn03r9df42nb631unbv.ydb.mdb.yandexcloud.net:2135" +
79-
"/ru-central1/b1g8skpblkos03malf3s/etn03r9df42nb631unbv?token=123",
63+
"/ru-central1/b1g8skpblkos03malf3s/etn03r9df42nb631unbv",
8064
true,
8165
"lb.etn03r9df42nb631unbv.ydb.mdb.yandexcloud.net:2135",
8266
"/ru-central1/b1g8skpblkos03malf3s/etn03r9df42nb631unbv",
83-
"123",
8467
},
8568
{
8669
"abcd://ydb-ru.yandex.net:2135/?database=/ru/home/gvit/mydb",
8770
true,
8871
"ydb-ru.yandex.net:2135",
8972
"/ru/home/gvit/mydb",
90-
"",
9173
},
9274
{
9375
"abcd://ydb-ru.yandex.net:2135/ru/home/gvit/mydb",
9476
true,
9577
"ydb-ru.yandex.net:2135",
9678
"/ru/home/gvit/mydb",
97-
"",
9879
},
9980
} {
10081
t.Run(test.connectionString, func(t *testing.T) {
@@ -106,16 +87,29 @@ func TestParseConnectionString(t *testing.T) {
10687
testutil.Equal(t, test.secure, config.Secure())
10788
testutil.Equal(t, test.endpoint, config.Endpoint())
10889
testutil.Equal(t, test.database, config.Database())
109-
var token string
110-
if credentials := config.Credentials(); credentials != nil {
111-
token, err = credentials.Token(context.Background())
112-
if err != nil {
113-
t.Fatalf("Received unexpected error:\n%+v", err)
114-
}
115-
} else {
116-
token = ""
117-
}
118-
testutil.Equal(t, test.token, token)
11990
})
12091
}
12192
}
93+
94+
func TestRegister(t *testing.T) {
95+
var test1, test2, test3 int
96+
_ = Register("test1", func(value string) (_ []config.Option, err error) {
97+
test1, err = strconv.Atoi(value)
98+
if err != nil {
99+
return nil, err
100+
}
101+
return []config.Option{}, nil
102+
})
103+
_ = Register("test2", func(value string) (_ []config.Option, err error) {
104+
test2, err = strconv.Atoi(value)
105+
if err != nil {
106+
return nil, err
107+
}
108+
return []config.Option{}, nil
109+
})
110+
_, err := Parse("grpc://ydb-ru.yandex.net:2135/ru/home/gvit/mydb?test1=1&test2=2&test3=3")
111+
require.NoError(t, err, "")
112+
require.Equal(t, 1, test1, "")
113+
require.Equal(t, 2, test2, "")
114+
require.NotEqualf(t, 3, test3, "")
115+
}

0 commit comments

Comments
 (0)