Skip to content

Commit dd3e376

Browse files
committed
upgrade TestRetryWithCustomErrors
1 parent 955b4e9 commit dd3e376

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

internal/table/retry_test.go

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99

1010
"github.com/ydb-platform/ydb-go-sdk/v3/internal/errors"
1111
"github.com/ydb-platform/ydb-go-sdk/v3/internal/rand"
12+
"github.com/ydb-platform/ydb-go-sdk/v3/retry"
1213
"github.com/ydb-platform/ydb-go-sdk/v3/table"
1314
"github.com/ydb-platform/ydb-go-sdk/v3/table/options"
1415
"github.com/ydb-platform/ydb-go-sdk/v3/testutil"
@@ -376,6 +377,16 @@ func TestRetryWithCustomErrors(t *testing.T) {
376377
retriable bool
377378
deleteSession bool
378379
}{
380+
{
381+
error: &CustomError{
382+
Err: retry.RetryableError(
383+
fmt.Errorf("custom error"),
384+
retry.WithDeleteSession(),
385+
),
386+
},
387+
retriable: true,
388+
deleteSession: true,
389+
},
379390
{
380391
error: &CustomError{
381392
Err: errors.NewOpError(
@@ -422,22 +433,28 @@ func TestRetryWithCustomErrors(t *testing.T) {
422433
sessions = make(map[table.Session]int)
423434
)
424435
err := do(ctx, p, func(ctx context.Context, s table.Session) (err error) {
425-
if test.deleteSession {
426-
if _, has := sessions[s]; has {
427-
t.Fatalf("session already used: %s", s.ID())
428-
}
429-
}
430436
sessions[s]++
431437
i++
432438
if i < limit {
433439
return test.error
434440
}
435441
return nil
436442
})
443+
// nolint:nestif
437444
if test.retriable {
438445
if i != limit {
439446
t.Fatalf("unexpected i: %d, err: %v", i, err)
440447
}
448+
if test.deleteSession {
449+
if len(sessions) != limit {
450+
t.Fatalf("unexpected len(sessions): %d, err: %v", len(sessions), err)
451+
}
452+
for s, n := range sessions {
453+
if n != 1 {
454+
t.Fatalf("unexpected session usage: %d, session: %v", n, s.ID())
455+
}
456+
}
457+
}
441458
} else {
442459
if i != 1 {
443460
t.Fatalf("unexpected i: %d, err: %v", i, err)

retry/retry_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,15 @@ func TestRetryWithCustomErrors(t *testing.T) {
620620
error error
621621
retriable bool
622622
}{
623+
{
624+
error: &CustomError{
625+
Err: RetryableError(
626+
fmt.Errorf("custom error"),
627+
WithDeleteSession(),
628+
),
629+
},
630+
retriable: true,
631+
},
623632
{
624633
error: &CustomError{
625634
Err: errors.NewOpError(

0 commit comments

Comments
 (0)