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

testit-tms / adapters-python / 21520479975

30 Jan 2026 03:09PM UTC coverage: 37.23% (-0.003%) from 37.233%
21520479975

push

github

web-flow
fix: fix TMS-37357 issue with externalId html (#227)

1 of 5 new or added lines in 3 files covered. (20.0%)

1328 of 3567 relevant lines covered (37.23%)

0.74 hits per line

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

63.64
/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
    __work_item_ids: List[str] = []
2 ✔
30
    __parameters: dict = {}
2 ✔
31
    __properties: dict = {}
2 ✔
32
    __automatic_creation_test_cases: bool = False
2 ✔
33
    __external_key: str = None
2 ✔
34

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

41
        return self
×
42

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

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

51
        return self
×
52

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

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

61
        return self
×
62

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

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

71
        return self
×
72

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

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

81
        return self
×
82

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

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

91
        return self
×
92

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

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

101
        return self
×
102

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

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

111
        return self
×
112

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

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

121
        return self
×
122

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

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

131
        return self
×
132

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

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

141
        return self
×
142

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

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

151
        return self
×
152

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

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

161
        return self
×
162

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

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

171
        return self
×
172

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

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

181
        return self
×
182

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

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

191
        return self
×
192

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

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

201
        return self
×
202

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

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

211
        return self
×
212

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

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

221
        return self
×
222

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

227
    @adapter_logger
2 ✔
228
    def set_work_item_ids(self, work_item_ids: list):
2 ✔
229
        self.__work_item_ids = work_item_ids
×
230

231
        return self
×
232

233
    @adapter_logger
2 ✔
234
    def get_work_item_ids(self) -> list:
2 ✔
235
        return self.__work_item_ids
×
236

237
    @adapter_logger
2 ✔
238
    def set_parameters(self, parameters: dict):
2 ✔
239
        self.__parameters = HtmlEscapeUtils.escape_html_in_object(parameters)
×
240

241
        return self
×
242

243
    @adapter_logger
2 ✔
244
    def get_parameters(self) -> dict:
2 ✔
245
        return self.__parameters
×
246

247
    @adapter_logger
2 ✔
248
    def set_properties(self, properties: dict):
2 ✔
249
        self.__properties = HtmlEscapeUtils.escape_html_in_object(properties)
×
250

251
        return self
×
252

253
    @adapter_logger
2 ✔
254
    def get_properties(self) -> dict:
2 ✔
255
        return self.__properties
×
256

257
    @adapter_logger
2 ✔
258
    def set_automatic_creation_test_cases(self, automatic_creation_test_cases: bool):
2 ✔
259
        self.__automatic_creation_test_cases = automatic_creation_test_cases
×
260

261
        return self
×
262

263
    @adapter_logger
2 ✔
264
    def get_automatic_creation_test_cases(self) -> bool:
2 ✔
265
        return self.__automatic_creation_test_cases
×
266

267
    @adapter_logger
2 ✔
268
    def set_external_key(self, external_key: str):
2 ✔
269
        self.__external_key = external_key
×
270

271
        return self
×
272

273
    @adapter_logger
2 ✔
274
    def get_external_key(self) -> str:
2 ✔
275
        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