1
1
# coding=utf-8
2
2
import logging
3
3
import re
4
-
4
+ from requests import HTTPError
5
5
from .rest_client import AtlassianRestAPI
6
6
7
7
log = logging .getLogger (__name__ )
@@ -535,11 +535,19 @@ def get_test_repo_folder_tests(self, project_key, folder_id, all_descendants=Fal
535
535
:param page: Page of paginated data (first 1)
536
536
:param limit: Amount of Tests per paginated data.
537
537
:return: Returns list of the Tests contained in a given folder of the test repository.
538
+ Note: param "page" and "limit" must coexist, otherwise rest api will raise 400
538
539
"""
539
- url = "rest/raven/1.0/api/testrepository/{0}/folders/{1}/tests?allDescendants={2}&page={3}&limit={4}" .format (
540
- project_key , folder_id , all_descendants , page , limit
541
- )
542
- return self .get (url )
540
+ url = "rest/raven/1.0/api/testrepository/{0}/folders/{1}/tests" .format (project_key , folder_id )
541
+ params = {}
542
+
543
+ if all_descendants :
544
+ params ["allDescendants" ] = all_descendants
545
+ if page :
546
+ params ["page" ] = page
547
+ if limit :
548
+ params ["limit" ] = limit
549
+
550
+ return self .get (url , params = params )
543
551
544
552
def update_test_repo_folder_tests (self , project_key , folder_id , add = None , remove = None ):
545
553
"""
@@ -557,3 +565,17 @@ def update_test_repo_folder_tests(self, project_key, folder_id, add=None, remove
557
565
data = {"add" : add , "remove" : remove }
558
566
url = "rest/raven/1.0/api/testrepository/{0}/folders/{1}/tests" .format (project_key , folder_id )
559
567
return self .put (url , data = data )
568
+
569
+ def raise_for_status (self , response ):
570
+ """
571
+ Checks the response for an error status and raises an exception with the error message provided by the server
572
+ :param response:
573
+ :return:
574
+ """
575
+ if 400 <= response .status_code < 600 :
576
+ try :
577
+ error_msg = response .text
578
+ except Exception :
579
+ response .raise_for_status ()
580
+ else :
581
+ raise HTTPError (error_msg , response = response )
0 commit comments