File tree 2 files changed +26
-2
lines changed
2 files changed +26
-2
lines changed Original file line number Diff line number Diff line change
1
+ import ydb
2
+ import pytest
3
+
4
+ from os import path
5
+
6
+
7
+ def test_scheme_error (driver_sync , database ):
8
+ session = driver_sync .table_client .session ().create ()
9
+ with pytest .raises (ydb .issues .SchemeError ) as exc :
10
+ session .drop_table (path .join (database , "foobartable" ))
11
+
12
+ server_code = ydb .issues .StatusCode .SCHEME_ERROR
13
+
14
+ assert type (exc .value ) == ydb .issues .SchemeError
15
+ assert exc .value .status == server_code
16
+ assert f"server_code: { server_code } " in str (exc .value )
17
+ assert "Path does not exist" in str (exc .value )
Original file line number Diff line number Diff line change @@ -159,11 +159,18 @@ class SessionPoolEmpty(Error, queue.Empty):
159
159
def _format_issues (issues ):
160
160
if not issues :
161
161
return ""
162
+
162
163
return " ," .join (
163
- [text_format .MessageToString (issue , False , True ) for issue in issues ]
164
+ text_format .MessageToString (issue , as_utf8 = False , as_one_line = True )
165
+ for issue in issues
164
166
)
165
167
166
168
169
+ def _format_response (response ):
170
+ fmt_issues = _format_issues (response .issues )
171
+ return f"{ fmt_issues } (server_code: { response .status } )"
172
+
173
+
167
174
_success_status_codes = {StatusCode .STATUS_CODE_UNSPECIFIED , StatusCode .SUCCESS }
168
175
_server_side_error_map = {
169
176
StatusCode .BAD_REQUEST : BadRequest ,
@@ -190,4 +197,4 @@ def _format_issues(issues):
190
197
def _process_response (response_proto ):
191
198
if response_proto .status not in _success_status_codes :
192
199
exc_obj = _server_side_error_map .get (response_proto .status )
193
- raise exc_obj (_format_issues (response_proto . issues ), response_proto .issues )
200
+ raise exc_obj (_format_response (response_proto ), response_proto .issues )
You can’t perform that action at this time.
0 commit comments