@@ -259,18 +259,57 @@ def test_error_rewrite(code, expected_cls, expected_code):
259
259
assert error .is_retriable () is expected_retryable
260
260
261
261
262
- def test_neo4j_error_from_server_as_str ():
263
- error = Neo4jError .hydrate (message = "Test error message" ,
264
- code = "Neo.ClientError.General.UnknownError" )
262
+ @pytest .mark .parametrize (
263
+ ("code" , "message" , "expected_cls" , "expected_str" ),
264
+ (
265
+ (
266
+ "Neo.ClientError.General.UnknownError" ,
267
+ "Test error message" ,
268
+ ClientError ,
269
+ "{code: Neo.ClientError.General.UnknownError} "
270
+ "{message: Test error message}"
271
+ ),
272
+ (
273
+ None ,
274
+ "Test error message" ,
275
+ DatabaseError ,
276
+ "{code: Neo.DatabaseError.General.UnknownError} "
277
+ "{message: Test error message}"
278
+ ),
279
+ (
280
+ "" ,
281
+ "Test error message" ,
282
+ DatabaseError ,
283
+ "{code: Neo.DatabaseError.General.UnknownError} "
284
+ "{message: Test error message}"
285
+ ),
286
+ (
287
+ "Neo.ClientError.General.UnknownError" ,
288
+ None ,
289
+ ClientError ,
290
+ "{code: Neo.ClientError.General.UnknownError} "
291
+ "{message: An unknown error occurred}"
292
+ ),
293
+ (
294
+ "Neo.ClientError.General.UnknownError" ,
295
+ "" ,
296
+ ClientError ,
297
+ "{code: Neo.ClientError.General.UnknownError} "
298
+ "{message: An unknown error occurred}"
299
+ ),
300
+ )
301
+ )
302
+ def test_neo4j_error_from_server_as_str (code , message , expected_cls ,
303
+ expected_str ):
304
+ error = Neo4jError .hydrate (code = code , message = message )
265
305
266
- assert isinstance (error , ClientError )
267
- assert str (error ) == ("{code: Neo.ClientError.General.UnknownError} "
268
- "{message: Test error message}" )
306
+ assert type (error ) == expected_cls
307
+ assert str (error ) == expected_str
269
308
270
309
271
310
@pytest .mark .parametrize ("cls" , (Neo4jError , ClientError ))
272
311
def test_neo4j_error_from_code_as_str (cls ):
273
312
error = cls ("Generated somewhere in the driver" )
274
313
275
- assert isinstance (error , cls )
314
+ assert type (error ) == cls
276
315
assert str (error ) == "Generated somewhere in the driver"
0 commit comments