@@ -98,6 +98,8 @@ def __init__(self,
98
98
self .log_batch_payload_size = log_batch_payload_size
99
99
self .token = token
100
100
self .verify_ssl = verify_ssl
101
+ self .retries = retries
102
+ self .max_pool_size = max_pool_size
101
103
self .http_timeout = http_timeout
102
104
self .session = requests .Session ()
103
105
self .step_reporter = StepReporter (self )
@@ -167,7 +169,7 @@ def finish_test_item(self,
167
169
"""Finish suite/case/step/nested step item.
168
170
169
171
:param item_id: ID of the test item
170
- :param end_time: Test item end time
172
+ :param end_time: The item end time
171
173
:param status: Test status. Allowable values: "passed",
172
174
"failed", "stopped", "skipped", "interrupted",
173
175
"cancelled" or None
@@ -197,7 +199,6 @@ def finish_test_item(self,
197
199
verify_ssl = self .verify_ssl ).make ()
198
200
if not response :
199
201
return
200
- # noinspection PyUnresolvedReferences
201
202
self ._item_stack .pop () if len (self ._item_stack ) > 0 else None
202
203
logger .debug ('finish_test_item - ID: %s' , item_id )
203
204
logger .debug ('response message: %s' , response .message )
@@ -281,9 +282,9 @@ def log(self, time, message, level=None, attachment=None, item_id=None):
281
282
"""Send log message to the Report Portal.
282
283
283
284
:param time: Time in UTC
284
- :param message: Log message
285
+ :param message: Log message text
285
286
:param level: Message's log level
286
- :param attachment: Message attachments
287
+ :param attachment: Message's attachments
287
288
:param item_id: ID of the RP item the message belongs to
288
289
"""
289
290
self ._log_manager .log (time , message , level , attachment , item_id )
@@ -370,7 +371,7 @@ def start_test_item(self,
370
371
"""Start case/step/nested step item.
371
372
372
373
:param name: Name of the test item
373
- :param start_time: Test item start time
374
+ :param start_time: The item start time
374
375
:param item_type: Type of the test item. Allowable values:
375
376
"suite", "story", "test", "scenario", "step",
376
377
"before_class", "before_groups",
@@ -379,7 +380,7 @@ def start_test_item(self,
379
380
"after_method", "after_suite", "after_test"
380
381
:param attributes: Test item attributes
381
382
:param code_ref: Physical location of the test item
382
- :param description: Test item description
383
+ :param description: The item description
383
384
:param has_stats: Set to False if test item is nested step
384
385
:param parameters: Set of parameters (for parametrized test items)
385
386
:param parent_item_id: An ID of a parent SUITE / STEP
@@ -418,7 +419,6 @@ def start_test_item(self,
418
419
item_id = response .id
419
420
if item_id is not NOT_FOUND :
420
421
logger .debug ('start_test_item - ID: %s' , item_id )
421
- # noinspection PyUnresolvedReferences
422
422
self ._item_stack .append (item_id )
423
423
else :
424
424
logger .warning ('start_test_item - invalid response: %s' ,
@@ -452,5 +452,28 @@ def update_test_item(self, item_uuid, attributes=None, description=None):
452
452
453
453
def current_item (self ):
454
454
"""Retrieve the last item reported by the client."""
455
- # noinspection PyUnresolvedReferences
456
455
return self ._item_stack [- 1 ] if len (self ._item_stack ) > 0 else None
456
+
457
+ def clone (self ):
458
+ """Clone the current client, set current item ID as cloned object item ID.
459
+
460
+ :returns: Cloned client object
461
+ :rtype: RPClient
462
+ """
463
+ cloned = RPClient (
464
+ endpoint = self .endpoint ,
465
+ project = self .project ,
466
+ token = self .token ,
467
+ log_batch_size = self .log_batch_size ,
468
+ is_skipped_an_issue = self .is_skipped_an_issue ,
469
+ verify_ssl = self .verify_ssl ,
470
+ retries = self .retries ,
471
+ max_pool_size = self .max_pool_size ,
472
+ launch_id = self .launch_id ,
473
+ http_timeout = self .http_timeout ,
474
+ log_batch_payload_size = self .log_batch_payload_size ,
475
+ mode = self .mode
476
+ )
477
+ current_item = self .current_item ()
478
+ if current_item :
479
+ cloned ._item_stack .append (current_item )
0 commit comments