Source code for pylero.test_record
# -*- coding: utf8 -*-
from __future__ import absolute_import, division, print_function
from __future__ import unicode_literals
from pylero.base_polarion import BasePolarion
from pylero.text import Text
from pylero.test_run_attachment import TestRunAttachment
from pylero.test_run_attachment import ArrayOfTestRunAttachment
from pylero.test_step_result import TestStepResult
from pylero.test_step_result import ArrayOfTestStepResult
from pylero.enum_option_id import EnumOptionId
from pylero.work_item import _WorkItem
from pylero.user import User
[docs]class TestRecord(BasePolarion):
"""Object to handle the Polarion WSDL tns3:TestRecord class
Attributes (for specific details, see Polarion):
attachments (ArrayOfTestRunAttachment)
comment (Text)
defect_case_id (string)
duration (float)
executed (dateTime)
executed_by (string)
result (EnumOptionId)
test_case_revision (string)
test_case_id (string)
test_step_results (ArrayOfTestStepResult)
"""
_cls_suds_map = {
"attachments":
{"field_name": "attachments",
"is_array": True,
"cls": TestRunAttachment,
"arr_cls": ArrayOfTestRunAttachment,
"inner_field_name": "TestRunAttachment"},
"comment":
{"field_name": "comment",
"cls": Text},
"defect_case_id":
{"field_name": "defectURI",
"cls": _WorkItem,
"named_arg": "uri",
"sync_field": "uri"},
"duration": "duration",
"executed": "executed",
"executed_by":
{"field_name": "executedByURI",
"cls": User,
"named_arg": "uri",
"sync_field": "uri"},
"result":
{"field_name": "result",
"cls": EnumOptionId,
"enum_id": "result"},
"test_case_id":
{"field_name": "testCaseURI",
"cls": _WorkItem,
"named_arg": "uri",
"sync_field": "uri"},
"test_case_revision": "testCaseRevision",
"test_step_results":
{"field_name": "testStepResults",
"is_array": True,
"cls": TestStepResult,
"arr_cls": ArrayOfTestStepResult,
"inner_field_name": "TestStepResult"}}
_obj_client = "test_management_client"
_obj_struct = "tns3:TestRecord"
_id_field = "test_case_id"
[docs] def __init__(self, project_id=None, test_case_id=None, suds_object=None):
self.project_id = project_id if project_id else self.default_project
super(self.__class__, self).__init__(test_case_id, suds_object)
def _fix_circular_refs(self):
# need to pass in the project_id parm to the Work Item,
# but it is not given before instatiation
self._cls_suds_map["test_case_id"]["additional_parms"] = \
{"project_id": self.project_id}
self._cls_suds_map["defect_case_id"]["additional_parms"] = \
{"project_id": self.project_id}
[docs]class ArrayOfTestRecord(BasePolarion):
_obj_client = "test_management_client"
_obj_struct = "tns3:ArrayOfTestRecord"