• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

testit-tms / adapters-python / 22072083504

16 Feb 2026 05:23PM UTC coverage: 38.156% (-3.1%) from 41.236%
22072083504

Pull #234

github

web-flow
Merge a884e5000 into 44a4e9f3f
Pull Request #234: feat: TMS-37545: replace labels with tags when collecting autotest me…

20 of 86 new or added lines in 11 files covered. (23.26%)

11 existing lines in 1 file now uncovered.

1411 of 3698 relevant lines covered (38.16%)

0.76 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

63.9
/testit-python-commons/src/testit_python_commons/models/test_result.py
1
from typing import List
2 ✔
2

3
from testit_python_commons.models.link import Link
2 ✔
4
from testit_python_commons.models.step_result import StepResult
2 ✔
5
from testit_python_commons.services.logger import adapter_logger
2 ✔
6
from testit_python_commons.utils import HtmlEscapeUtils
2 ✔
7

8

9
class TestResult:
2 ✔
10
    __external_id: str = None
2 ✔
11
    __autotest_name: str = None
2 ✔
12
    __outcome: str = None
2 ✔
13
    __title: str = None
2 ✔
14
    __description: str = None
2 ✔
15
    __duration: int = None
2 ✔
16
    __started_on: str = None
2 ✔
17
    __completed_on: str = None
2 ✔
18
    __namespace: str = None
2 ✔
19
    __classname: str = None
2 ✔
20
    __message: str = None
2 ✔
21
    __traces: str = None
2 ✔
22
    __step_results: List[StepResult] = []
2 ✔
23
    __setup_results: List[StepResult] = []
2 ✔
24
    __teardown_results: List[StepResult] = []
2 ✔
25
    __links: List[Link] = []
2 ✔
26
    __result_links: List[Link] = []
2 ✔
27
    __attachments: List[str] = []
2 ✔
28
    __labels: List[str] = []
2 ✔
29
    __tags: List[str] = []
2 ✔
30
    __work_item_ids: List[str] = []
2 ✔
31
    __parameters: dict = {}
2 ✔
32
    __properties: dict = {}
2 ✔
33
    __automatic_creation_test_cases: bool = False
2 ✔
34
    __external_key: str = None
2 ✔
35

36
    @adapter_logger
2 ✔
37
    def set_external_id(self, external_id: str):
2 ✔
38
        # don't use escaping for externalId
39
        # self.__external_id = HtmlEscapeUtils.escape_html_tags(external_id)
40
        self.__external_id = external_id
×
41

42
        return self
×
43

44
    @adapter_logger
2 ✔
45
    def get_external_id(self) -> str:
2 ✔
46
        return self.__external_id
×
47

48
    @adapter_logger
2 ✔
49
    def set_autotest_name(self, autotest_name: str):
2 ✔
50
        self.__autotest_name = HtmlEscapeUtils.escape_html_tags(autotest_name)
×
51

52
        return self
×
53

54
    @adapter_logger
2 ✔
55
    def get_autotest_name(self) -> str:
2 ✔
56
        return self.__autotest_name
×
57

58
    @adapter_logger
2 ✔
59
    def set_outcome(self, outcome: str):
2 ✔
60
        self.__outcome = HtmlEscapeUtils.escape_html_tags(outcome)
×
61

62
        return self
×
63

64
    @adapter_logger
2 ✔
65
    def get_outcome(self) -> str:
2 ✔
66
        return self.__outcome
×
67

68
    @adapter_logger
2 ✔
69
    def set_title(self, title: str):
2 ✔
70
        self.__title = HtmlEscapeUtils.escape_html_tags(title)
×
71

72
        return self
×
73

74
    @adapter_logger
2 ✔
75
    def get_title(self) -> str:
2 ✔
76
        return self.__title
×
77

78
    @adapter_logger
2 ✔
79
    def set_description(self, description: str):
2 ✔
80
        self.__description = HtmlEscapeUtils.escape_html_tags(description)
×
81

82
        return self
×
83

84
    @adapter_logger
2 ✔
85
    def get_description(self) -> str:
2 ✔
86
        return self.__description
×
87

88
    @adapter_logger
2 ✔
89
    def set_duration(self, duration: int):
2 ✔
90
        self.__duration = duration
×
91

92
        return self
×
93

94
    @adapter_logger
2 ✔
95
    def get_duration(self) -> int:
2 ✔
96
        return self.__duration
×
97

98
    @adapter_logger
2 ✔
99
    def set_started_on(self, started_on: str):
2 ✔
100
        self.__started_on = started_on
×
101

102
        return self
×
103

104
    @adapter_logger
2 ✔
105
    def get_started_on(self) -> str:
2 ✔
106
        return self.__started_on
×
107

108
    @adapter_logger
2 ✔
109
    def set_completed_on(self, completed_on: str):
2 ✔
110
        self.__completed_on = completed_on
×
111

112
        return self
×
113

114
    @adapter_logger
2 ✔
115
    def get_completed_on(self) -> str:
2 ✔
116
        return self.__completed_on
×
117

118
    @adapter_logger
2 ✔
119
    def set_namespace(self, namespace: str):
2 ✔
120
        self.__namespace = HtmlEscapeUtils.escape_html_tags(namespace)
×
121

122
        return self
×
123

124
    @adapter_logger
2 ✔
125
    def get_namespace(self) -> str:
2 ✔
126
        return self.__namespace
×
127

128
    @adapter_logger
2 ✔
129
    def set_classname(self, classname: str):
2 ✔
130
        self.__classname = HtmlEscapeUtils.escape_html_tags(classname)
×
131

132
        return self
×
133

134
    @adapter_logger
2 ✔
135
    def get_classname(self) -> str:
2 ✔
136
        return self.__classname
×
137

138
    @adapter_logger
2 ✔
139
    def set_message(self, message: str):
2 ✔
140
        self.__message = HtmlEscapeUtils.escape_html_tags(message)
×
141

142
        return self
×
143

144
    @adapter_logger
2 ✔
145
    def get_message(self) -> str:
2 ✔
146
        return self.__message
×
147

148
    @adapter_logger
2 ✔
149
    def set_traces(self, traces: str):
2 ✔
150
        self.__traces = HtmlEscapeUtils.escape_html_tags(traces)
×
151

152
        return self
×
153

154
    @adapter_logger
2 ✔
155
    def get_traces(self) -> str:
2 ✔
156
        return self.__traces
×
157

158
    @adapter_logger
2 ✔
159
    def set_step_results(self, step_results: list):
2 ✔
160
        self.__step_results = step_results
×
161

162
        return self
×
163

164
    @adapter_logger
2 ✔
165
    def get_step_results(self) -> List[StepResult]:
2 ✔
166
        return self.__step_results
×
167

168
    @adapter_logger
2 ✔
169
    def set_setup_results(self, setup_results: list):
2 ✔
170
        self.__setup_results = setup_results
×
171

172
        return self
×
173

174
    @adapter_logger
2 ✔
175
    def get_setup_results(self) -> List[StepResult]:
2 ✔
176
        return self.__setup_results
×
177

178
    @adapter_logger
2 ✔
179
    def set_teardown_results(self, teardown_results: list):
2 ✔
180
        self.__teardown_results = teardown_results
×
181

182
        return self
×
183

184
    @adapter_logger
2 ✔
185
    def get_teardown_results(self) -> List[StepResult]:
2 ✔
186
        return self.__teardown_results
×
187

188
    @adapter_logger
2 ✔
189
    def set_links(self, links: list):
2 ✔
190
        self.__links = links
×
191

192
        return self
×
193

194
    @adapter_logger
2 ✔
195
    def get_links(self) -> list:
2 ✔
196
        return self.__links
×
197

198
    @adapter_logger
2 ✔
199
    def set_result_links(self, result_links: list):
2 ✔
200
        self.__result_links = result_links
×
201

202
        return self
×
203

204
    @adapter_logger
2 ✔
205
    def get_result_links(self) -> list:
2 ✔
206
        return self.__result_links
×
207

208
    @adapter_logger
2 ✔
209
    def set_attachments(self, attachments: list):
2 ✔
210
        self.__attachments = attachments
×
211

212
        return self
×
213

214
    @adapter_logger
2 ✔
215
    def get_attachments(self) -> list:
2 ✔
216
        return self.__attachments
×
217

218
    @adapter_logger
2 ✔
219
    def set_labels(self, labels: list):
2 ✔
220
        self.__labels = HtmlEscapeUtils.escape_html_in_object(labels)
×
221

222
    @adapter_logger
2 ✔
223
    def get_labels(self) -> list:
2 ✔
224
        return self.__labels
×
225

226
    @adapter_logger
2 ✔
227
    def set_tags(self, tags: list):
2 ✔
NEW
228
        self.__tags = HtmlEscapeUtils.escape_html_in_object(tags)
×
229

NEW
230
        return self
×
231

232
    @adapter_logger
2 ✔
233
    def get_tags(self) -> list:
2 ✔
NEW
234
        return self.__tags
×
235

236
    @adapter_logger
2 ✔
237
    def set_work_item_ids(self, work_item_ids: list):
2 ✔
238
        self.__work_item_ids = work_item_ids
×
239

240
        return self
×
241

242
    @adapter_logger
2 ✔
243
    def get_work_item_ids(self) -> list:
2 ✔
244
        return self.__work_item_ids
×
245

246
    @adapter_logger
2 ✔
247
    def set_parameters(self, parameters: dict):
2 ✔
248
        self.__parameters = HtmlEscapeUtils.escape_html_in_object(parameters)
×
249

250
        return self
×
251

252
    @adapter_logger
2 ✔
253
    def get_parameters(self) -> dict:
2 ✔
254
        return self.__parameters
×
255

256
    @adapter_logger
2 ✔
257
    def set_properties(self, properties: dict):
2 ✔
258
        self.__properties = HtmlEscapeUtils.escape_html_in_object(properties)
×
259

260
        return self
×
261

262
    @adapter_logger
2 ✔
263
    def get_properties(self) -> dict:
2 ✔
264
        return self.__properties
×
265

266
    @adapter_logger
2 ✔
267
    def set_automatic_creation_test_cases(self, automatic_creation_test_cases: bool):
2 ✔
268
        self.__automatic_creation_test_cases = automatic_creation_test_cases
×
269

270
        return self
×
271

272
    @adapter_logger
2 ✔
273
    def get_automatic_creation_test_cases(self) -> bool:
2 ✔
274
        return self.__automatic_creation_test_cases
×
275

276
    @adapter_logger
2 ✔
277
    def set_external_key(self, external_key: str):
2 ✔
278
        self.__external_key = external_key
×
279

280
        return self
×
281

282
    @adapter_logger
2 ✔
283
    def get_external_key(self) -> str:
2 ✔
284
        return self.__external_key
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc