1111 BlueskyRemoteControlError ,
1212 BlueskyRequestError ,
1313 InvalidParametersError ,
14+ NotFoundError ,
1415 ParameterError ,
1516 UnauthorisedAccessError ,
1617 UnknownPlanError ,
@@ -39,8 +40,9 @@ def rest_with_auth(oidc_config: OIDCConfig, tmp_path) -> BlueapiRestClient:
3940@pytest .mark .parametrize (
4041 "code,expected_exception" ,
4142 [
42- (404 , KeyError ),
43- (401 , BlueskyRemoteControlError ),
43+ (404 , NotFoundError ),
44+ (401 , UnauthorisedAccessError ),
45+ (403 , UnauthorisedAccessError ),
4446 (450 , BlueskyRemoteControlError ),
4547 (500 , BlueskyRemoteControlError ),
4648 ],
@@ -63,9 +65,9 @@ def test_rest_error_code(
6365 "code,content,expected_exception" ,
6466 [
6567 (200 , None , None ),
66- (401 , None , UnauthorisedAccessError ()),
67- (403 , None , UnauthorisedAccessError ()),
68- (404 , None , UnknownPlanError ()),
68+ (401 , None , UnauthorisedAccessError (401 , "" )),
69+ (403 , None , UnauthorisedAccessError (403 , "" )),
70+ (404 , None , UnknownPlanError (404 , "" )),
6971 (
7072 422 ,
7173 """{
@@ -87,6 +89,11 @@ def test_rest_error_code(
8789 ]
8890 ),
8991 ),
92+ (
93+ 422 ,
94+ '{"detail": "not a list"}' ,
95+ BlueskyRequestError (422 , "" ),
96+ ),
9097 (450 , "non-standard" , BlueskyRequestError (450 , "non-standard" )),
9198 (500 , "internal_error" , BlueskyRequestError (500 , "internal_error" )),
9299 ],
@@ -102,8 +109,11 @@ def test_create_task_exceptions(
102109 response .json .side_effect = lambda : json .loads (content ) if content else None
103110 err = _create_task_exceptions (response )
104111 assert isinstance (err , type (expected_exception ))
105- if expected_exception is not None :
106- assert err .args == expected_exception .args
112+ if isinstance (expected_exception , InvalidParametersError ):
113+ assert isinstance (err , InvalidParametersError )
114+ assert err .errors == expected_exception .errors
115+ elif expected_exception is not None :
116+ assert err .args [0 ] == code
107117
108118
109119def test_auth_request_functionality (
0 commit comments