Skip to content

Commit 7d331b3

Browse files
PavelButuzovpavel.butuzov
andauthored
fix: TMS-35774: fix the utils for escape html tags. (#216)
* fix: TMS-35774: fix the utils for escape html tags. * fix tests --------- Co-authored-by: pavel.butuzov <pavel.butuzov@testit.software>
1 parent fa3e3c8 commit 7d331b3

12 files changed

Lines changed: 47 additions & 56 deletions

File tree

testit-adapter-behave/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from setuptools import find_packages, setup
22

3-
VERSION = "3.10.4"
3+
VERSION = "3.10.5"
44

55
setup(
66
name='testit-adapter-behave',

testit-adapter-nose/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from setuptools import setup, find_packages
22

3-
VERSION = "3.10.4"
3+
VERSION = "3.10.5"
44

55
setup(
66
name='testit-adapter-nose',

testit-adapter-pytest/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from setuptools import find_packages, setup
22

3-
VERSION = "3.10.4"
3+
VERSION = "3.10.5"
44

55
setup(
66
name='testit-adapter-pytest',

testit-adapter-robotframework/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from setuptools import find_packages, setup
22

3-
VERSION = "3.10.4"
3+
VERSION = "3.10.5"
44

55
setup(
66
name='testit-adapter-robotframework',

testit-python-commons/setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from setuptools import find_packages, setup
22

3-
VERSION = "3.10.4"
3+
VERSION = "3.10.5"
44

55
setup(
66
name='testit-python-commons',

testit-python-commons/src/testit_python_commons/client/api_client.py

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@
2323
from testit_python_commons.models.test_result import TestResult
2424
from testit_python_commons.services.logger import adapter_logger
2525
from testit_python_commons.services.retry import retry
26-
from testit_python_commons.utils.html_escape_utils import HtmlEscapeUtils
27-
from typing import List, Any
26+
from typing import List
2827

2928

3029
class ApiClientWorker:
@@ -61,11 +60,6 @@ def __get_api_client(api_client_config: Configuration, token: str) -> ApiClient:
6160
header_name='Authorization',
6261
header_value='PrivateToken ' + token)
6362

64-
@staticmethod
65-
def _escape_html_in_model(model: Any) -> Any:
66-
"""Apply HTML escaping to all models before sending to API"""
67-
return HtmlEscapeUtils.escape_html_in_object(model)
68-
6963
@adapter_logger
7064
def create_test_run(self, test_run_name: str = None) -> str:
7165
test_run_name = f'TestRun_{datetime.today().strftime("%Y-%m-%dT%H:%M:%S")}' if \
@@ -74,7 +68,6 @@ def create_test_run(self, test_run_name: str = None) -> str:
7468
self.__config.get_project_id(),
7569
test_run_name
7670
)
77-
model = self._escape_html_in_model(model)
7871

7972
response = self.__test_run_api.create_empty(create_empty_request=model)
8073

@@ -95,7 +88,6 @@ def get_test_run(self, test_run_id: str) -> TestRunV2ApiResult:
9588
def update_test_run(self, test_run: TestRunV2ApiResult) -> None:
9689
"""Function updates test run."""
9790
model = Converter.build_update_empty_request(test_run)
98-
model = HtmlEscapeUtils.escape_html_in_object(model)
9991
logging.debug(f"Updating test run with model: {model}")
10092

10193
self.__test_run_api.update_empty(update_empty_request=model)
@@ -321,7 +313,6 @@ def __create_test(self, test_result: TestResult) -> str:
321313
test_result,
322314
self.__config.get_project_id(),
323315
work_item_ids_for_link_with_auto_test)
324-
model = self._escape_html_in_model(model)
325316

326317
autotest_response = self.__autotest_api.create_auto_test(create_auto_test_request=model)
327318

@@ -333,7 +324,6 @@ def __create_test(self, test_result: TestResult) -> str:
333324
def __create_tests(self, autotests_for_create: List[AutoTestPostModel]) -> None:
334325
logging.debug(f'Creating autotests: "{autotests_for_create}')
335326

336-
autotests_for_create = self._escape_html_in_model(autotests_for_create)
337327
self.__autotest_api.create_multiple(auto_test_post_model=autotests_for_create)
338328

339329
logging.debug(f'Autotests were created')
@@ -343,7 +333,6 @@ def __update_test(self, test_result: TestResult, autotest: AutoTestApiResult) ->
343333
logging.debug(f'Autotest "{test_result.get_autotest_name()}" was found')
344334

345335
model = Converter.prepare_to_update_autotest(test_result, autotest, self.__config.get_project_id())
346-
model = self._escape_html_in_model(model)
347336

348337
try:
349338
self.__autotest_api.update_auto_test(update_auto_test_request=model)
@@ -356,7 +345,6 @@ def __update_test(self, test_result: TestResult, autotest: AutoTestApiResult) ->
356345
def __update_tests(self, autotests_for_update: List[AutoTestPutModel]) -> None:
357346
logging.debug(f'Updating autotests: {autotests_for_update}')
358347

359-
autotests_for_update = self._escape_html_in_model(autotests_for_update)
360348
self.__autotest_api.update_multiple(auto_test_put_model=autotests_for_update)
361349

362350
logging.debug(f'Autotests were updated')
@@ -384,7 +372,6 @@ def __load_test_result(self, test_result: TestResult) -> str:
384372
model = Converter.test_result_to_testrun_result_post_model(
385373
test_result,
386374
self.__config.get_configuration_id())
387-
model = self._escape_html_in_model(model)
388375

389376
response = self.__test_run_api.set_auto_test_results_for_test_run(
390377
id=self.__config.get_test_run_id(),
@@ -412,8 +399,6 @@ def update_test_results(self, fixtures_containers: dict, test_result_ids: dict)
412399
test_result.get_setup_results())
413400
model.teardown_results = Converter.step_results_to_auto_test_step_result_update_request(
414401
test_result.get_teardown_results())
415-
416-
model = self._escape_html_in_model(model)
417402

418403
try:
419404
self.__test_results_api.api_v2_test_results_id_put(

testit-python-commons/src/testit_python_commons/models/link.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
from testit_python_commons.models.link_type import LinkType
22
from testit_python_commons.services.logger import adapter_logger
3+
from testit_python_commons.utils import HtmlEscapeUtils
34

45

56
class Link:
@@ -20,7 +21,7 @@ def get_url(self) -> str:
2021

2122
@adapter_logger
2223
def set_title(self, title: str):
23-
self.__title = title
24+
self.__title = HtmlEscapeUtils.escape_html_tags(title)
2425

2526
return self
2627

@@ -40,7 +41,7 @@ def get_link_type(self) -> LinkType:
4041

4142
@adapter_logger
4243
def set_description(self, description: str):
43-
self.__description = description
44+
self.__description = HtmlEscapeUtils.escape_html_tags(description)
4445

4546
return self
4647

testit-python-commons/src/testit_python_commons/models/step_result.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
from testit_python_commons.utils.html_escape_utils import HtmlEscapeUtils
2+
3+
14
class StepResult:
25
__title: str = None
36
__outcome: str = None
@@ -15,23 +18,23 @@ def __init__(self):
1518
self.__parameters = {}
1619

1720
def set_title(self, title: str):
18-
self.__title = title
21+
self.__title = HtmlEscapeUtils.escape_html_tags(title)
1922

2023
return self
2124

2225
def get_title(self) -> str:
2326
return self.__title
2427

2528
def set_outcome(self, outcome: str):
26-
self.__outcome = outcome
29+
self.__outcome = HtmlEscapeUtils.escape_html_tags(outcome)
2730

2831
return self
2932

3033
def get_outcome(self) -> str:
3134
return self.__outcome
3235

3336
def set_description(self, description: str):
34-
self.__description = description
37+
self.__description = HtmlEscapeUtils.escape_html_tags(description)
3538

3639
return self
3740

@@ -79,7 +82,7 @@ def get_attachments(self) -> list:
7982
return self.__attachments
8083

8184
def set_parameters(self, parameters: dict):
82-
self.__parameters = parameters
85+
self.__parameters = HtmlEscapeUtils.escape_html_in_object(parameters)
8386

8487
return self
8588

testit-python-commons/src/testit_python_commons/models/test_result.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from testit_python_commons.models.link import Link
44
from testit_python_commons.models.step_result import StepResult
55
from testit_python_commons.services.logger import adapter_logger
6+
from testit_python_commons.utils import HtmlEscapeUtils
67

78

89
class TestResult:
@@ -33,7 +34,7 @@ class TestResult:
3334

3435
@adapter_logger
3536
def set_external_id(self, external_id: str):
36-
self.__external_id = external_id
37+
self.__external_id = HtmlEscapeUtils.escape_html_tags(external_id)
3738

3839
return self
3940

@@ -43,7 +44,7 @@ def get_external_id(self) -> str:
4344

4445
@adapter_logger
4546
def set_autotest_name(self, autotest_name: str):
46-
self.__autotest_name = autotest_name
47+
self.__autotest_name = HtmlEscapeUtils.escape_html_tags(autotest_name)
4748

4849
return self
4950

@@ -53,7 +54,7 @@ def get_autotest_name(self) -> str:
5354

5455
@adapter_logger
5556
def set_outcome(self, outcome: str):
56-
self.__outcome = outcome
57+
self.__outcome = HtmlEscapeUtils.escape_html_tags(outcome)
5758

5859
return self
5960

@@ -63,7 +64,7 @@ def get_outcome(self) -> str:
6364

6465
@adapter_logger
6566
def set_title(self, title: str):
66-
self.__title = title
67+
self.__title = HtmlEscapeUtils.escape_html_tags(title)
6768

6869
return self
6970

@@ -73,7 +74,7 @@ def get_title(self) -> str:
7374

7475
@adapter_logger
7576
def set_description(self, description: str):
76-
self.__description = description
77+
self.__description = HtmlEscapeUtils.escape_html_tags(description)
7778

7879
return self
7980

@@ -113,7 +114,7 @@ def get_completed_on(self) -> str:
113114

114115
@adapter_logger
115116
def set_namespace(self, namespace: str):
116-
self.__namespace = namespace
117+
self.__namespace = HtmlEscapeUtils.escape_html_tags(namespace)
117118

118119
return self
119120

@@ -123,7 +124,7 @@ def get_namespace(self) -> str:
123124

124125
@adapter_logger
125126
def set_classname(self, classname: str):
126-
self.__classname = classname
127+
self.__classname = HtmlEscapeUtils.escape_html_tags(classname)
127128

128129
return self
129130

@@ -133,7 +134,7 @@ def get_classname(self) -> str:
133134

134135
@adapter_logger
135136
def set_message(self, message: str):
136-
self.__message = message
137+
self.__message = HtmlEscapeUtils.escape_html_tags(message)
137138

138139
return self
139140

@@ -143,7 +144,7 @@ def get_message(self) -> str:
143144

144145
@adapter_logger
145146
def set_traces(self, traces: str):
146-
self.__traces = traces
147+
self.__traces = HtmlEscapeUtils.escape_html_tags(traces)
147148

148149
return self
149150

@@ -213,7 +214,7 @@ def get_attachments(self) -> list:
213214

214215
@adapter_logger
215216
def set_labels(self, labels: list):
216-
self.__labels = labels
217+
self.__labels = HtmlEscapeUtils.escape_html_in_object(labels)
217218

218219
return self
219220

@@ -233,7 +234,7 @@ def get_work_item_ids(self) -> list:
233234

234235
@adapter_logger
235236
def set_parameters(self, parameters: dict):
236-
self.__parameters = parameters
237+
self.__parameters = HtmlEscapeUtils.escape_html_in_object(parameters)
237238

238239
return self
239240

@@ -243,7 +244,7 @@ def get_parameters(self) -> dict:
243244

244245
@adapter_logger
245246
def set_properties(self, properties: dict):
246-
self.__properties = properties
247+
self.__properties = HtmlEscapeUtils.escape_html_in_object(properties)
247248

248249
return self
249250

testit-python-commons/src/testit_python_commons/models/test_result_with_all_fixture_step_results_model.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from testit_python_commons.models.step_result import StepResult
22
from typing import List
33

4+
45
class TestResultWithAllFixtureStepResults:
56
def __init__(self, test_result_id: str):
67
self.__test_result_id = test_result_id

0 commit comments

Comments
 (0)