/
githubmirror
/
ydb-go-sdk
Обзор
Документация
Войти
/
githubmirror
/
ydb-go-sdk
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
internal/xerrors/issues_test.go
100 строк
2 KB
Aleksey Myasnikov
* Marked as non-retryable operation error `ABORTED` with internal issue `200509` ("Datashard program size limit exceeded") (#1841)
31 июл 2025, 13:42
Не верифицирован
31 июл 2025, 13:42
628430b
Код
Авторство
О чём код?
package xerrors import ( "testing" "github.com/stretchr/testify/require" "github.com/ydb-platform/ydb-go-genproto/protos/Ydb" "github.com/ydb-platform/ydb-go-genproto/protos/Ydb_Issue" ) func Test_iterateByIssues(t *testing.T) { t.Run("check stopping", func(t *testing.T) { t.Run("stopped", func(t *testing.T) { counter := 0 stopped := iterateByIssues(Operation(WithStatusCode(Ydb.StatusIds_ABORTED), WithIssues([]*Ydb_Issue.IssueMessage{ { Message: "issue one", IssueCode: 1, Position: &Ydb_Issue.IssueMessage_Position{ Row: 15, Column: 3, File: "", }, }, { Message: "issue two", IssueCode: 2, Issues: []*Ydb_Issue.IssueMessage{ { Message: "issue three", IssueCode: 3, Position: &Ydb_Issue.IssueMessage_Position{ Row: 16, Column: 4, File: "test.yql", }, }, { Message: "issue four", IssueCode: 4, }, }, }, })), func(message string, code Ydb.StatusIds_StatusCode, severity uint32) (stop bool) { counter++ return code == 2 }, ) require.True(t, stopped) require.Equal(t, 2, counter) }) t.Run("non stopped", func(t *testing.T) { counter := 0 stopped := iterateByIssues(Operation(WithStatusCode(Ydb.StatusIds_ABORTED), WithIssues([]*Ydb_Issue.IssueMessage{ { Message: "issue one", IssueCode: 1, Position: &Ydb_Issue.IssueMessage_Position{ Row: 15, Column: 3, File: "", }, }, { Message: "issue two", IssueCode: 2, Issues: []*Ydb_Issue.IssueMessage{ { Message: "issue three", IssueCode: 3, Position: &Ydb_Issue.IssueMessage_Position{ Row: 16, Column: 4, File: "test.yql", }, }, { Message: "issue four", IssueCode: 4, }, }, }, })), func(message string, code Ydb.StatusIds_StatusCode, severity uint32) (stop bool) { counter++ return code == 100500 }, ) require.False(t, stopped) require.Equal(t, 4, counter) }) }) }