@@ -246,6 +246,14 @@ def _req(self, method, resource, data=None, fmt=None, id=None, params=None,
246
246
query_string = params , context = context ,
247
247
headers = headers )
248
248
249
+ def _check_http_response (self , res ):
250
+ # Things can go wrong - raise HTTP exc with res code only
251
+ # so it can be caught by unit tests
252
+ if res .status_int >= webob .exc .HTTPClientError .code :
253
+ res .charset = 'utf8'
254
+ raise webob .exc .HTTPClientError (explanation = str (res ),
255
+ code = res .status_int )
256
+
249
257
def new_create_request (self , resource , data , fmt = None , id = None ,
250
258
subresource = None , context = None ):
251
259
return self ._req ('POST' , resource , data , fmt , id = id ,
@@ -523,10 +531,7 @@ def _make_network(self, fmt, name, admin_state_up, **kwargs):
523
531
res = self ._create_network (fmt , name , admin_state_up , ** kwargs )
524
532
# TODO(salvatore-orlando): do exception handling in this test module
525
533
# in a uniform way (we do it differently for ports, subnets, and nets
526
- # Things can go wrong - raise HTTP exc with res code only
527
- # so it can be caught by unit tests
528
- if res .status_int >= webob .exc .HTTPClientError .code :
529
- raise webob .exc .HTTPClientError (code = res .status_int )
534
+ self ._check_http_response (res )
530
535
return self .deserialize (fmt , res )
531
536
532
537
def _make_subnet (self , fmt , network , gateway , cidr , subnetpool_id = None ,
@@ -551,10 +556,7 @@ def _make_subnet(self, fmt, network, gateway, cidr, subnetpool_id=None,
551
556
ipv6_ra_mode = ipv6_ra_mode ,
552
557
ipv6_address_mode = ipv6_address_mode ,
553
558
set_context = set_context )
554
- # Things can go wrong - raise HTTP exc with res code only
555
- # so it can be caught by unit tests
556
- if res .status_int >= webob .exc .HTTPClientError .code :
557
- raise webob .exc .HTTPClientError (code = res .status_int )
559
+ self ._check_http_response (res )
558
560
return self .deserialize (fmt , res )
559
561
560
562
def _make_v6_subnet (self , network , ra_addr_mode , ipv6_pd = False ):
@@ -580,16 +582,14 @@ def _make_subnetpool(self, fmt, prefixes, admin=False, **kwargs):
580
582
** kwargs )
581
583
# Things can go wrong - raise HTTP exc with res code only
582
584
# so it can be caught by unit tests
583
- if res .status_int >= webob .exc .HTTPClientError .code :
584
- raise webob .exc .HTTPClientError (code = res .status_int )
585
+ self ._check_http_response (res )
585
586
return self .deserialize (fmt , res )
586
587
587
588
def _make_port (self , fmt , net_id , expected_res_status = None , ** kwargs ):
588
589
res = self ._create_port (fmt , net_id , expected_res_status , ** kwargs )
589
590
# Things can go wrong - raise HTTP exc with res code only
590
591
# so it can be caught by unit tests
591
- if res .status_int >= webob .exc .HTTPClientError .code :
592
- raise webob .exc .HTTPClientError (code = res .status_int )
592
+ self ._check_http_response (res )
593
593
return self .deserialize (fmt , res )
594
594
595
595
def _create_qos_rule (self , fmt , qos_policy_id , rule_type , max_kbps = None ,
0 commit comments