holado 0.8.4__py3-none-any.whl → 0.9.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of holado might be problematic. Click here for more details.
- holado/common/context/session_context.py +6 -5
- {holado-0.8.4.dist-info → holado-0.9.1.dist-info}/METADATA +1 -1
- {holado-0.8.4.dist-info → holado-0.9.1.dist-info}/RECORD +56 -41
- holado_core/common/block/base.py +3 -3
- holado_core/common/resource/persisted_data_manager.py +10 -10
- holado_core/common/resource/resource_manager.py +34 -37
- holado_core/common/resource/table_data_manager.py +110 -0
- holado_core/common/tools/path_manager.py +31 -6
- holado_django/server/django_projects/rest_api/rest_api/urls.py +1 -1
- holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py +2 -2
- holado_docker/tools/docker_controller/client/rest/docker_controller_client.py +38 -1
- holado_docker/tools/docker_controller/server/run_docker_controller_in_docker.sh +3 -3
- holado_examples/tests/behave/testing_solution/environment.py +3 -3
- holado_examples/tests/behave/testing_solution/src/context/session_context.py +2 -2
- holado_examples/tests/behave/testing_solution/steps/config_steps.py +1 -1
- holado_multitask/multithreading/loopthread.py +4 -4
- holado_python/common/tools/datetime.py +37 -16
- holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +16 -16
- holado_python/standard_library/ssl/resources/certificates/tcpbin.key +26 -26
- holado_python/tests/behave/steps/standard_library/datetime_steps.py +2 -2
- holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py +3 -3
- holado_report/__init__.py +1 -0
- holado_report/campaign/campaign_manager.py +194 -0
- holado_report/report/builders/detailed_scenario_failed_report_builder.py +11 -7
- holado_report/report/builders/failure_report_builder.py +4 -3
- holado_report/report/builders/short_scenario_failed_report_builder.py +6 -5
- holado_report/report/builders/summary_report_builder.py +1 -1
- holado_report/report/builders/summary_scenario_failed_report_builder.py +6 -5
- holado_report/report/builders/summary_scenario_report_builder.py +12 -11
- holado_report/report/execution_historic.py +4 -2
- holado_report/report/report_manager.py +65 -13
- holado_rest/api/rest/rest_client.py +5 -1
- holado_system/system/filesystem/file.py +5 -2
- holado_test/__init__.py +3 -0
- holado_test/common/context/feature_context.py +3 -3
- holado_test/common/context/scenario_context.py +3 -3
- holado_test/common/context/step_context.py +3 -3
- holado_test/test_server/client/rest/test_server_client.py +117 -0
- holado_test/test_server/server/Dockerfile +70 -0
- holado_test/test_server/server/core/server_context.py +42 -0
- holado_test/test_server/server/core/server_manager.py +54 -0
- holado_test/test_server/server/requirements.txt +2 -0
- holado_test/test_server/server/rest/README +2 -0
- holado_test/test_server/server/rest/api/__init__.py +23 -0
- holado_docker/tools/docker_controller/docker_controller_manager.py → holado_test/test_server/server/rest/api/campaign/__init__.py +10 -28
- holado_test/test_server/server/rest/api/campaign/scenario.py +33 -0
- holado_test/test_server/server/rest/initialize_holado.py +72 -0
- holado_test/test_server/server/rest/logging.conf +50 -0
- holado_test/test_server/server/rest/openapi.yaml +46 -0
- holado_test/test_server/server/rest/run.py +40 -0
- holado_test/test_server/server/run_test_server_in_docker.sh +101 -0
- holado_value/common/tools/unique_value_manager.py +2 -1
- test_holado/environment.py +1 -1
- test_holado/logging.conf +1 -0
- {holado-0.8.4.dist-info → holado-0.9.1.dist-info}/WHEEL +0 -0
- {holado-0.8.4.dist-info → holado-0.9.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
#################################################
|
|
13
13
|
|
|
14
14
|
from builtins import super
|
|
15
|
-
from _datetime import datetime
|
|
16
15
|
import logging
|
|
17
16
|
import os.path
|
|
18
17
|
from holado.common.context.context import Context
|
|
19
18
|
from holado_core.common.tools.tools import Tools
|
|
20
19
|
import threading
|
|
21
20
|
from holado.common.handlers.enums import ObjectStates
|
|
21
|
+
from holado_python.common.tools.datetime import DateTime
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
logger = logging
|
|
@@ -151,7 +151,7 @@ class SessionContext(Context):
|
|
|
151
151
|
report_path = None
|
|
152
152
|
if self.with_session_path:
|
|
153
153
|
# Create new report path for this session
|
|
154
|
-
name = "session_{}".format(
|
|
154
|
+
name = "session_{}".format(DateTime.now().strftime("%Y-%m-%d_%H-%M-%S"))
|
|
155
155
|
report_path = self.path_manager.get_reports_path(name)
|
|
156
156
|
logger.info(f"Reports location: {report_path}")
|
|
157
157
|
print(f"Reports location: {report_path}")
|
|
@@ -331,13 +331,14 @@ class SessionContext(Context):
|
|
|
331
331
|
|
|
332
332
|
with self.__multitask_lock:
|
|
333
333
|
# Log error on failing scenario
|
|
334
|
-
status_validation, step_failed, step_number = ReportManager.get_current_scenario_status_information(scenario)
|
|
334
|
+
category_validation, status_validation, step_failed, step_number = ReportManager.get_current_scenario_status_information(scenario)
|
|
335
335
|
if status_validation != "Passed":
|
|
336
336
|
msg_list = []
|
|
337
|
+
category_str = f" ({category_validation})" if category_validation else ""
|
|
337
338
|
if step_failed is not None:
|
|
338
|
-
msg_list.append(f"Scenario {status_validation}: [scenario in {scenario.filename} at l.{scenario.line} - step {step_number} (l.{step_failed.line})]")
|
|
339
|
+
msg_list.append(f"Scenario {status_validation}{category_str}: [scenario in {scenario.filename} at l.{scenario.line} - step {step_number} (l.{step_failed.line})]")
|
|
339
340
|
else:
|
|
340
|
-
msg_list.append(f"Scenario {status_validation}: [scenario in {scenario.filename} at l.{scenario.line} - step ? (missing step implementation ?)]")
|
|
341
|
+
msg_list.append(f"Scenario {status_validation}{category_str}: [scenario in {scenario.filename} at l.{scenario.line} - step ? (missing step implementation ?)]")
|
|
341
342
|
step_error_message = ReportManager.get_step_error_message(step_failed)
|
|
342
343
|
if step_error_message:
|
|
343
344
|
msg_list.append(step_error_message)
|
|
@@ -4,7 +4,7 @@ holado/common/__init__.py,sha256=ZjXM-FRQgnfzRNXqcvJOGewDHVRR-U5-ugStSs8U2Xs,152
|
|
|
4
4
|
holado/common/context/__init__.py,sha256=3jJBLm8myrYF9jbdV1EhIA6BtnlmjX33eeoDpTzwmLA,1604
|
|
5
5
|
holado/common/context/context.py,sha256=MV8A6JSpUcTcfia_QzjyDLybQC50rZ-NA0ffotnHXQY,11994
|
|
6
6
|
holado/common/context/service_manager.py,sha256=LaCn8ukE1aqJynmwoexAYj5hCkdb_F3hXRtUBGqorUE,14087
|
|
7
|
-
holado/common/context/session_context.py,sha256=
|
|
7
|
+
holado/common/context/session_context.py,sha256=ib9m1kVg_G7C35GE0TqvhFtVqoCXqx-ioECI34IEIbI,23287
|
|
8
8
|
holado/common/handlers/__init__.py,sha256=d0KDUpaAAw1eBXyX08gaRh4RECnJlXjYQ0TcU-Ndicc,1372
|
|
9
9
|
holado/common/handlers/enums.py,sha256=ieqKVoukEiNyfE3KrKmMOImdbFS1ocUMud8JHe2xNLs,1662
|
|
10
10
|
holado/common/handlers/object.py,sha256=rDaav8zHTYfKVEaLtEdeXMxYXATGVcs2a7um1f5MvCs,7205
|
|
@@ -40,7 +40,7 @@ holado_core/common/actors/element_actor.py,sha256=ZWFEODzEozItsXYasE8QgDxZshCi7v
|
|
|
40
40
|
holado_core/common/actors/find_actor.py,sha256=3Xb5BIEeyhzAdZ6P3x3HTtYZZAF7Pi52xOp6lv3P7u4,4283
|
|
41
41
|
holado_core/common/actors/tree_actor.py,sha256=6qVKYuIyjpi7ehL5Q34GiHJa0w_iyPYAEAn78yVxt6c,1572
|
|
42
42
|
holado_core/common/actors/verify_actions.py,sha256=hkywifHLqzjgXdIZIIMYRrq_UpaZuhRR8sALPYY4MW0,2658
|
|
43
|
-
holado_core/common/block/base.py,sha256=
|
|
43
|
+
holado_core/common/block/base.py,sha256=5CntBPNy1R8qWY9Axq6lBC0SJ4zFvgZKUEop9LOCewI,3853
|
|
44
44
|
holado_core/common/block/block_manager.py,sha256=RRBLc4efmV4MQkTJU8Kd3TPL10yNGZ3RsMyLZeEIEdY,7696
|
|
45
45
|
holado_core/common/block/block_method.py,sha256=eeZK4KUN3xIXlhIpGT_FhVkn64sSZ59z6ZVOBjmgXcs,2108
|
|
46
46
|
holado_core/common/block/block_steps.py,sha256=xHjj2loNoKmBNNdKIM7GC5VVn86rHNgxs173pwOLIX0,1742
|
|
@@ -97,9 +97,10 @@ holado_core/common/inspectors/tree_inspector.py,sha256=DYXmzGFQAzAT1pypKqxpOGPze
|
|
|
97
97
|
holado_core/common/inspectors/tools/inspect_builder.py,sha256=v7azgwciXHtO-o7gcgI5gOo3B-7rfRs8RQNO_q5LWjI,6830
|
|
98
98
|
holado_core/common/inspectors/tools/inspect_context.py,sha256=lzhhO5HxG00c6uMPyIXEUz0FHA61VCNUZr_39ykZ8lQ,2700
|
|
99
99
|
holado_core/common/inspectors/tools/inspect_parameters.py,sha256=2vXUpnZlP2cCYTvI9ddI6NGhONideoM1hBJ0vGdvPKo,7346
|
|
100
|
-
holado_core/common/resource/persisted_data_manager.py,sha256=
|
|
100
|
+
holado_core/common/resource/persisted_data_manager.py,sha256=3pI2qPu0O_SQY4AdfeuAWV8LtzXWkb7q7RiAMVpKvGs,6325
|
|
101
101
|
holado_core/common/resource/persisted_method_to_call_manager.py,sha256=8iHJF3oPB5PLLLmXK9ncFc7oSyEWyRUWnwJPEzWj3zw,13813
|
|
102
|
-
holado_core/common/resource/resource_manager.py,sha256=
|
|
102
|
+
holado_core/common/resource/resource_manager.py,sha256=VP86iQ7_NZzQQ0uUpeev1PjgiejUuwKbV5RfGCNC5tI,7179
|
|
103
|
+
holado_core/common/resource/table_data_manager.py,sha256=bigQGMwh1m3P6ZEO3wi2ftmvyEwpZhGbNCVtI794ops,6289
|
|
103
104
|
holado_core/common/tables/__init__.py,sha256=i2-gExPOUa_AnmEPgZJQ2lAXeK02PLpPnjEqbsgj1Co,8
|
|
104
105
|
holado_core/common/tables/enums.py,sha256=YtYTSI1m6KQ3XFzOSFPi5De6Jc-nkDMTbnmqfRfsiJ0,1395
|
|
105
106
|
holado_core/common/tables/table.py,sha256=VV-68K0J7lzgWpmzesYdU3-ZrkmaIfu9eIYlNhAA02c,10252
|
|
@@ -125,7 +126,7 @@ holado_core/common/tables/comparators/table_with_header_comparator.py,sha256=j7B
|
|
|
125
126
|
holado_core/common/tables/converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
126
127
|
holado_core/common/tables/converters/table_converter.py,sha256=PD7NJoxtejpr4aS1l3YKcXW1aEn1xBxdi4Ljs5G7R4g,10251
|
|
127
128
|
holado_core/common/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
128
|
-
holado_core/common/tools/path_manager.py,sha256=
|
|
129
|
+
holado_core/common/tools/path_manager.py,sha256=vwf07C51H03RoZ-w3xLZQgKbC9XuOZlKm5zslXGhK_I,10743
|
|
129
130
|
holado_core/common/tools/string_tools.py,sha256=bQuMlI_yS7OoSPFL7qyfyXkrnjC8xHVpIsfmEC6JxhI,5590
|
|
130
131
|
holado_core/common/tools/tools.py,sha256=zkDz7u8S_02bfyN6K-p7-Ey_SkDxzu9DJljnczY0OAo,9683
|
|
131
132
|
holado_core/common/tools/comparators/comparator.py,sha256=K4LcXIRORHX5vkmDibI6P6Bu1L-6Xezb63ZzzOMKrWY,6812
|
|
@@ -177,7 +178,7 @@ holado_django/server/django_projects/rest_api/manage.py,sha256=tElgH5cQY8xlY1-mV
|
|
|
177
178
|
holado_django/server/django_projects/rest_api/rest_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
178
179
|
holado_django/server/django_projects/rest_api/rest_api/asgi.py,sha256=aTxP-NQKwxMWy9eRFU05I0ZzetU-xjblCtJCrnx5ImM,404
|
|
179
180
|
holado_django/server/django_projects/rest_api/rest_api/settings.py,sha256=9Qqw6yM-6ZwZEuL2J_vVtVzl1weWGC0XWhbhJzyEDNo,3324
|
|
180
|
-
holado_django/server/django_projects/rest_api/rest_api/urls.py,sha256=
|
|
181
|
+
holado_django/server/django_projects/rest_api/rest_api/urls.py,sha256=t3x9wVHog1oBNX_AZ5mu5pz7HJYoLwavkRWobPnYoaY,1372
|
|
181
182
|
holado_django/server/django_projects/rest_api/rest_api/wsgi.py,sha256=vuHLvl2v-OGGWQUz0fd6ekLrjRrJsAdnmIBFqZazP7k,404
|
|
182
183
|
holado_django/server/django_projects/rest_api/rest_api/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
183
184
|
holado_django/server/django_projects/rest_api/rest_api/application/admin.py,sha256=VWlhkFyPcKZz6ThllvIz1NT1yhDC-eBsdDWtpsuuhO0,65
|
|
@@ -192,12 +193,11 @@ holado_docker/__init__.py,sha256=CtGYR7aEkaCdAHPDAsu_ErjpVtYE0yz9wbgbfRUwS8s,157
|
|
|
192
193
|
holado_docker/sdk/docker/docker_client.py,sha256=rh1VLtcefIAZY88FMz7eyh1mFrWn3vVxop6TlC9t2sU,14138
|
|
193
194
|
holado_docker/sdk/docker/docker_service.py,sha256=SvMSIZ7XTCbC7q5rur03lJhJVSHL3uIq1dBQz9oDpkw,3767
|
|
194
195
|
holado_docker/tests/behave/steps/__init__.py,sha256=lrP0btKLA3qQD2wp3zbOp0ug8RmgpaYWCrOAWehcPiI,1298
|
|
195
|
-
holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py,sha256=
|
|
196
|
-
holado_docker/tools/docker_controller/
|
|
197
|
-
holado_docker/tools/docker_controller/client/rest/docker_controller_client.py,sha256=1NiBNGRXozOK-92cyGdvW00Q8KuJNjfjMxgsuL4tqjw,4560
|
|
196
|
+
holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py,sha256=6E_tI5YkIppszJXB8_E0B2OmyS6YxzhF4uB89sd6dLs,4809
|
|
197
|
+
holado_docker/tools/docker_controller/client/rest/docker_controller_client.py,sha256=s4tDe4JktpxZL_piGmtc5NnoMwy4PmstgAvsjwPFMjU,6239
|
|
198
198
|
holado_docker/tools/docker_controller/server/Dockerfile,sha256=zuSkj3HYDhvpjOSXmxL4oDqhN7dRB1YTX5Fyur1cuDY,1774
|
|
199
199
|
holado_docker/tools/docker_controller/server/requirements.txt,sha256=0RvLV3t2DyBR2FsbAd1WVEcbsVc6FVUN2horQJU4POo,57
|
|
200
|
-
holado_docker/tools/docker_controller/server/run_docker_controller_in_docker.sh,sha256=
|
|
200
|
+
holado_docker/tools/docker_controller/server/run_docker_controller_in_docker.sh,sha256=HPNEv51CAgEm0KZ3b3fV4pHwv5v6VDQAwomTnnL4mxY,3421
|
|
201
201
|
holado_docker/tools/docker_controller/server/grpc/README,sha256=cNOly0Lfsfz_qyhTqLGmELOXzAgZbByNUowuYrUnJa0,132
|
|
202
202
|
holado_docker/tools/docker_controller/server/grpc/__init__.py,sha256=QBkE1ydbCvARUimeSY2PvBkZ-Jp0bCv6k_l89a_8zNw,1551
|
|
203
203
|
holado_docker/tools/docker_controller/server/grpc/proto/compile_proto.py,sha256=NjcStLaAO_zKcSprrcGscq3R_4anh55QeguXLq6SPjo,2191
|
|
@@ -241,7 +241,7 @@ holado_examples/scripts/script_custom_initialization.py,sha256=yOWo08UwUqpDS2vjz
|
|
|
241
241
|
holado_examples/scripts/script_minimal_initialization.py,sha256=4cc3osHekltsJ4ZxmwiqiPYnaGP8tWBaMiz7mHHBiI0,889
|
|
242
242
|
holado_examples/tests/behave/testing_solution/__main__.py,sha256=IS48dqsE3gbHNYGS-1sSIkzfTpefZD58BoNPvQVL57M,299
|
|
243
243
|
holado_examples/tests/behave/testing_solution/behave_environment.py,sha256=-DYfSJkBuB2jOpPmYFtNDW-mnBqXWT8vfi5OE-MON80,1044
|
|
244
|
-
holado_examples/tests/behave/testing_solution/environment.py,sha256=
|
|
244
|
+
holado_examples/tests/behave/testing_solution/environment.py,sha256=6ye4OJKUzFviXZ2_Wsw9tkPhGnq6uUHF1HH0wBPHW00,1027
|
|
245
245
|
holado_examples/tests/behave/testing_solution/initialize_holado.py,sha256=IPYH-GYNiHV5-7ZCCH6CFmPpmACsPrTV74TYz3MRjpA,3102
|
|
246
246
|
holado_examples/tests/behave/testing_solution/logging.conf,sha256=R0yhuVbgQxl7RLA_SLgXvXaYuEzEGD24w8_tiWeiiR0,2687
|
|
247
247
|
holado_examples/tests/behave/testing_solution/requirements.txt,sha256=GEOHLDGhGbwfMoMt9lfY9iCkSTmby36bko3vqi8KioU,33
|
|
@@ -251,8 +251,8 @@ holado_examples/tests/behave/testing_solution/features/Configuration/Actions/con
|
|
|
251
251
|
holado_examples/tests/behave/testing_solution/features/NonReg/example.feature,sha256=AO_q3ubyC4yXg2ZVEY4mJscVfZhuv2itrbt56a7Xe3o,787
|
|
252
252
|
holado_examples/tests/behave/testing_solution/src/common/tools/path_manager.py,sha256=2-3bJIMXLnSD__0FX_rXWv2YGTrAPdAXoTPxz3qjaNY,1209
|
|
253
253
|
holado_examples/tests/behave/testing_solution/src/config/config_manager.py,sha256=WPSrkLX-C5oJ0bANSwzgBKeeSo38CBrgKGdMOp3pHtI,623
|
|
254
|
-
holado_examples/tests/behave/testing_solution/src/context/session_context.py,sha256=
|
|
255
|
-
holado_examples/tests/behave/testing_solution/steps/config_steps.py,sha256=
|
|
254
|
+
holado_examples/tests/behave/testing_solution/src/context/session_context.py,sha256=mwZ8H7qgBYWzIAJCuQnbYBh_2oqMqjxgN2dHl3TMzSA,1415
|
|
255
|
+
holado_examples/tests/behave/testing_solution/steps/config_steps.py,sha256=sToZrs7kFQMs7NPK_n3fsO2jXHHPH4d0rBSZnBe85S4,535
|
|
256
256
|
holado_examples/tests/behave/testing_solution/steps/public_steps.py,sha256=nnxgBjFMpuQ9xVAAxma0lRwLz8VrbTZuF61vRkKKafA,252
|
|
257
257
|
holado_grpc/TODO,sha256=ESjES2-J6-3AJYdt6olcz_YGt4YTxw80CjIt-tjJ0z4,206
|
|
258
258
|
holado_grpc/__init__.py,sha256=SaAz66iSTqMw7oIDrj94rGcO8W7BgS15B78p--OogHc,2266
|
|
@@ -313,7 +313,7 @@ holado_multitask/multitasking/multitask_manager.py,sha256=lPi4gqK9HNK3FR4Mi-0hDn
|
|
|
313
313
|
holado_multitask/multithreading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
314
314
|
holado_multitask/multithreading/functionthreaded.py,sha256=jtfytI-AtST7Ay8U9ZvsCbWmYSvtZe8u-BvpmqWCO8Y,5848
|
|
315
315
|
holado_multitask/multithreading/loopfunctionthreaded.py,sha256=5kfONDR76uuT1bTJrAtnfSncHwvVvzl8jagWUvTduHw,2492
|
|
316
|
-
holado_multitask/multithreading/loopthread.py,sha256=
|
|
316
|
+
holado_multitask/multithreading/loopthread.py,sha256=fu0qnBtsIDxcKXzETGaCd0ubJg8uNRuHgYEyLFdV38g,4279
|
|
317
317
|
holado_multitask/multithreading/periodicfunctionthreaded.py,sha256=PCBKpbOIThNGLq12rOONAh2ECxEOmaOb6Aqj2Ob2XY8,6926
|
|
318
318
|
holado_multitask/multithreading/thread.py,sha256=dKgw1301nTv-8g7y29ecza9ZB5nhbAKCYs1p4KdmLUQ,9376
|
|
319
319
|
holado_multitask/multithreading/threadsmanager.py,sha256=5a-kV8t0-lwL6a9vCLL3_Oi-i67epcqOWWBz6vIJFEU,8462
|
|
@@ -340,7 +340,7 @@ holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py,sha256=Pbw5E-AbTTSKR_i_
|
|
|
340
340
|
holado_python/__init__.py,sha256=uZzFUgE2zqLWiM-2yF9D5KinWqZYqoXYMCiD02A3iW8,1657
|
|
341
341
|
holado_python/common/enums.py,sha256=iwffWOqUdiFaOn83RPmjRVVHakTjQve55sNsbY4x8Ek,1535
|
|
342
342
|
holado_python/common/iterables.py,sha256=p5X6h18W-GSnZ4WHt5Y5g3Ri4TB4B5i5NhyAwb7g1Ww,2064
|
|
343
|
-
holado_python/common/tools/datetime.py,sha256=
|
|
343
|
+
holado_python/common/tools/datetime.py,sha256=f7bAhh5bQJ2eWXoSKso8IsrXHW_lEg4lRwg36n5Emdc,13397
|
|
344
344
|
holado_python/common/tools/comparators/boolean_comparator.py,sha256=66AtqQ1u7NLTKAmgZHdnbE8vMPfgwJ2ZrzMiea90jX0,2042
|
|
345
345
|
holado_python/common/tools/comparators/bytes_comparator.py,sha256=VKD5Q734n1k5Q0zX14fYgvM-66ysyRWkjo2fLgleyt0,2412
|
|
346
346
|
holado_python/common/tools/comparators/datetime_comparator.py,sha256=6smSvQ7ErnNuBNHkSbkf4HoSUJU54DNS2ILhxM1FHAk,3487
|
|
@@ -363,14 +363,14 @@ holado_python/standard_library/ssl/resources/certificates/NOTES.txt,sha256=GlPGG
|
|
|
363
363
|
holado_python/standard_library/ssl/resources/certificates/localhost.crt,sha256=iLmZpDuOQVawUlbZkb72g2-uv1c4SAmRJOrm4Th5anY,1123
|
|
364
364
|
holado_python/standard_library/ssl/resources/certificates/localhost.key,sha256=lP2NCvB9mr2E5sk8whA8FyQRcyU6H7sdWkJeKz80Hyc,1704
|
|
365
365
|
holado_python/standard_library/ssl/resources/certificates/rootCACert.pem,sha256=ECQDZ8OHRfqpZHCu6JRLMUjiONaPIhKZQF0-kidVrWQ,1424
|
|
366
|
-
holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=
|
|
367
|
-
holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=
|
|
366
|
+
holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=fNTwFb1YbCrDS6217atgX9wMP7xEAo3-POIVaWC_00A,1237
|
|
367
|
+
holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=puwUXC55YMr8AmXA77WiqYElt-JDYfhDKP8l6iELjd4,1704
|
|
368
368
|
holado_python/tests/behave/steps/__init__.py,sha256=TWEk-kBTTDHi9I4nuu48nufmNMdZ9FHAhPZv0A_cWzc,1661
|
|
369
369
|
holado_python/tests/behave/steps/convert_steps.py,sha256=bZqRvJVp_u6fSPpdu4ne9NwVyZmui7R-AVdO2-H-I1A,2728
|
|
370
370
|
holado_python/tests/behave/steps/iterable_steps.py,sha256=f4vGIWBH8Qnjq69Q-ZBluYyctQ8SKauazTc41dsktZA,4041
|
|
371
371
|
holado_python/tests/behave/steps/builtins/str_steps.py,sha256=ugNIz5v5EpkiRBDmwDl2JtAq5RWXu6UnLv7HH73WiXw,2101
|
|
372
372
|
holado_python/tests/behave/steps/standard_library/csv_steps.py,sha256=VJ5wmr0CQ8voBSgnXQUBAdYkEGFOCs95JKcV52tVMOo,7460
|
|
373
|
-
holado_python/tests/behave/steps/standard_library/datetime_steps.py,sha256=
|
|
373
|
+
holado_python/tests/behave/steps/standard_library/datetime_steps.py,sha256=6U1hZ5befOYvMub49b9WfkahecpPoICtsnUQnB0rBjg,7815
|
|
374
374
|
holado_python/tests/behave/steps/standard_library/hashlib_steps.py,sha256=j1NmcvFAFKYAhWeYWc6Xf32M0CPGTgk2fHcaBBbav8o,2978
|
|
375
375
|
holado_python/tests/behave/steps/standard_library/multiprocessing_steps.py,sha256=DD--5bxCvFTXY6KBqKzKAuOrOK0aZdPjbRR5SO0PZBo,2519
|
|
376
376
|
holado_python/tests/behave/steps/standard_library/queue_steps.py,sha256=GdHKKIka5tzFxVTBYPJNywyVLDtggZF2RB_mFIbyLdI,17429
|
|
@@ -382,7 +382,7 @@ holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py,sha256=z5BKvzo
|
|
|
382
382
|
holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py,sha256=hG6sXnZhiJ2RzxFUmlyx2ymTQNTqL_99B0dp5od7PT8,3081
|
|
383
383
|
holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py,sha256=XjcllR9MKhTuj1Nibcd6DM-sCjwr7qWmBNVvREjd7KE,16486
|
|
384
384
|
holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py,sha256=YQTNfi2Gs61LDA3wkdE4iCiHNuyH05m-OJuDFbI9834,29888
|
|
385
|
-
holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py,sha256=
|
|
385
|
+
holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py,sha256=0kwz0yq9ma6kvRv6hd4TjzF2GRVy8OSRfh1_p41OKAM,7761
|
|
386
386
|
holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py,sha256=urWn9A8XZqpAAtbvRZ-YUGVbOX_1Y0uSBA2lHGqJxLA,21039
|
|
387
387
|
holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py,sha256=FW8iKAHm0I78bHQEbRk4rl0dtCmv4dvAe5BY_HfOQVM,1613
|
|
388
388
|
holado_redis/__init__.py,sha256=Gl285tg-QaPE-3etWwZql9sH26G7EnVoQn97B0NMvOI,1248
|
|
@@ -391,25 +391,26 @@ holado_redis/tests/behave/steps/tools/redis_client_steps.py,sha256=lOh0YlumJcszt
|
|
|
391
391
|
holado_redis/tools/redis/TODO.txt,sha256=cmFyx6qS6_FgL1Ph0OWRsWch6MQaklfv1j0qBO2ZpZU,202
|
|
392
392
|
holado_redis/tools/redis/redis_client.py,sha256=KWuOrnwTcwt5xkD3rtI_l07v164Y_bsoo1kE0IGzqaQ,8316
|
|
393
393
|
holado_redis/tools/redis/redis_manager.py,sha256=tMO0XrCZTCfGdByFfgWXk9R-I_TUPLO9wXMQf8yCYcQ,1814
|
|
394
|
-
holado_report/__init__.py,sha256=
|
|
395
|
-
holado_report/
|
|
396
|
-
holado_report/report/
|
|
394
|
+
holado_report/__init__.py,sha256=vjp7Ce8hO334H5V1Qk4uhDkvVspXD3iiS5oTrQSM_vs,1687
|
|
395
|
+
holado_report/campaign/campaign_manager.py,sha256=Py5aAGc-6rJb1FlDsUJ7EwyrGy0DBEXLPTJzR7yBMe8,8693
|
|
396
|
+
holado_report/report/execution_historic.py,sha256=M4lYoZwyrSivRa17Q39GOAgROnr0oBvIZX5BNcO5Mnc,6951
|
|
397
|
+
holado_report/report/report_manager.py,sha256=VOA9ABV3DAGf5Q5_eNPVJ3oJndiZSXGI8SKg6uP-Sq0,14713
|
|
397
398
|
holado_report/report/analyze/execution_historic_manager.py,sha256=FMKKPguXOvWNxjF7Q8DodHHsH-2ci9pFzrTV41B8nL4,4556
|
|
398
399
|
holado_report/report/analyze/scenario_duration_manager.py,sha256=Preaxu83qFKGfbvQnzolhSXztZ4i5Zo_Bnxx8tNA80Q,12468
|
|
399
|
-
holado_report/report/builders/detailed_scenario_failed_report_builder.py,sha256=
|
|
400
|
-
holado_report/report/builders/failure_report_builder.py,sha256=
|
|
400
|
+
holado_report/report/builders/detailed_scenario_failed_report_builder.py,sha256=hOXxHYniL9mpN-U7YTW5xVEaE4Z-GlPq8ltT_iNJan4,7892
|
|
401
|
+
holado_report/report/builders/failure_report_builder.py,sha256=jbw2Y1oEZQdk1i1PdbhQqbG8i3AuIlOmVRx3M598BTA,6532
|
|
401
402
|
holado_report/report/builders/json_execution_historic_report_builder.py,sha256=M7OGUvkqNRTG5Td7fO96tv1SJEzRzjm0pl1W02v052E,5929
|
|
402
403
|
holado_report/report/builders/report_builder.py,sha256=5qlhxbdTkSN7p9q6EADkpHQGPDVEHquIhgA3mK2Ck2k,2261
|
|
403
|
-
holado_report/report/builders/short_scenario_failed_report_builder.py,sha256=
|
|
404
|
-
holado_report/report/builders/summary_report_builder.py,sha256
|
|
405
|
-
holado_report/report/builders/summary_scenario_failed_report_builder.py,sha256=
|
|
406
|
-
holado_report/report/builders/summary_scenario_report_builder.py,sha256=
|
|
404
|
+
holado_report/report/builders/short_scenario_failed_report_builder.py,sha256=9athhQPoVioz-NTc1BoD0kbCqKzW3ARkQy77ODPuGkM,4011
|
|
405
|
+
holado_report/report/builders/summary_report_builder.py,sha256=v4LG3W5x_y4FH0kh_5MRaG8pyPOV2GfhlBImsW4BJrs,3954
|
|
406
|
+
holado_report/report/builders/summary_scenario_failed_report_builder.py,sha256=NGJiUTGpEWBcC9Chj6oY34fnQ_SUBoLWKEkBhlwKy9o,3062
|
|
407
|
+
holado_report/report/builders/summary_scenario_report_builder.py,sha256=OaHfZitXFoX0lrGXzRX6zeXGiUFiYh44fNdxxKDRCGQ,3864
|
|
407
408
|
holado_report/report/reports/base_report.py,sha256=NGnWe66uyvT4bCjhd3upwVpc6yQ2gyVNFhcy-3LeQsE,6850
|
|
408
409
|
holado_report/report/reports/feature_report.py,sha256=i0wpk3LQLArVjWDsP9UcNSJzAUWwLhe73HNyfye2gYQ,4810
|
|
409
410
|
holado_report/report/reports/scenario_report.py,sha256=eMyqw9EzaKMmX3pGFJN1rqAOQ5eqO2ISZdxAfK3XQR4,2945
|
|
410
411
|
holado_rest/__init__.py,sha256=BOeE6t6ejeqRYd44SE4vYJVTNz01BwcVCIWfwRQ5axg,1526
|
|
411
412
|
holado_rest/api/rest/TODO.txt,sha256=Oz8BYPkBEs9OAEgyYLLm7i5tJ1bRE5POBpT3SRFWTi4,29
|
|
412
|
-
holado_rest/api/rest/rest_client.py,sha256=
|
|
413
|
+
holado_rest/api/rest/rest_client.py,sha256=VHVzKKY_7QRiTUScAUIzFM-W4lbHFKnNBA09gxCnQ-E,9609
|
|
413
414
|
holado_rest/api/rest/rest_manager.py,sha256=XldPjNgj73GlzAmlsEcQYaHiDRk7SGU6VEFOLBnHjQM,4010
|
|
414
415
|
holado_rest/tests/behave/steps/__init__.py,sha256=lEH5NYkKtpgDV2ZAO1qAGNN4ipwILWMpgvQgnamgYKk,1283
|
|
415
416
|
holado_rest/tests/behave/steps/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -480,12 +481,12 @@ holado_system/system/command/command.py,sha256=9lv9kgvvIq4Fqx6fJXU_HQA8pCO80Ws9r
|
|
|
480
481
|
holado_system/system/command/command_result.py,sha256=sunGDegNVOtpK9s9r4HCAJlREu4iKS0w3HY4KKDEQkw,4613
|
|
481
482
|
holado_system/system/command/curl_command.py,sha256=CEMaO0_qLyKe4tLytMlHzmCuS_gi-oU479hwOaEyZ60,3743
|
|
482
483
|
holado_system/system/command/exceptions.py,sha256=InT6t8GVeGCiBE-NpRr4NzycWVAvzmc6WpM6mk7_1yk,2363
|
|
483
|
-
holado_system/system/filesystem/file.py,sha256=
|
|
484
|
+
holado_system/system/filesystem/file.py,sha256=LAu5h-tbDSCsdNF0YFR9MACJAanBzbevqeH6awtOR5Y,4196
|
|
484
485
|
holado_system/tests/behave/steps/__init__.py,sha256=7LrCSTHk5oHNuEsr4IhJuNDsohtR2cq3YT1owXrhdjc,1351
|
|
485
486
|
holado_system/tests/behave/steps/system/commands_steps.py,sha256=uYiojPpYPkfif8l8afRrJ0sj-wFBE4j1x67BDMNs76Q,3901
|
|
486
487
|
holado_system/tests/behave/steps/system/file_steps.py,sha256=-RPUGEjsYfzWIMRDiQRalmvspPZIPP8YMzSZvSI4-p8,9966
|
|
487
488
|
holado_system/tests/behave/steps/system/system_steps.py,sha256=2XrZwuAaYDjB_HvPgxZq9MpYB_Zo7FVZ0DYcmtKht2s,3778
|
|
488
|
-
holado_test/__init__.py,sha256=
|
|
489
|
+
holado_test/__init__.py,sha256=vJtCQyCdqEdCukAiuD8D6L59rfpGmW2-hJmypGi1d00,1744
|
|
489
490
|
holado_test/test_config.py,sha256=yQK2jNHEGltGc3fmsAgcsKN4y3_nuldZHD45XEMrsQA,1575
|
|
490
491
|
holado_test/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
491
492
|
holado_test/behave/behave.py,sha256=IiqT_F45C-xVY2T8sKDPV7NsFCiGNzb8xpoTaXD-PXg,17708
|
|
@@ -495,12 +496,26 @@ holado_test/behave/behave_manager.py,sha256=TEAfPgBQQONFn_l0s7gm7gDgWU0EejvuaPuF
|
|
|
495
496
|
holado_test/behave/independant_runner.py,sha256=QR_IS-qkK_x2FTryb2gRQrqyBU3YUgKqsaIL2xwXPNQ,3189
|
|
496
497
|
holado_test/behave/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
497
498
|
holado_test/behave/scenario/behave_step_tools.py,sha256=apMS8nvdY-vbXsUIw1mVR4wOy2xWHMOCPJ1QiYNU-hI,6612
|
|
498
|
-
holado_test/common/context/feature_context.py,sha256=
|
|
499
|
-
holado_test/common/context/scenario_context.py,sha256=
|
|
500
|
-
holado_test/common/context/step_context.py,sha256=
|
|
499
|
+
holado_test/common/context/feature_context.py,sha256=9U5n-i7xdcSQlCeMM0savlek8doS5fGqkI3sFIiCGTY,3375
|
|
500
|
+
holado_test/common/context/scenario_context.py,sha256=pkv5uC-GGQeGyu2MB6m58eWv6TPuQLTV0NM_aGMB7c8,7129
|
|
501
|
+
holado_test/common/context/step_context.py,sha256=jknJVU0OrzRaqlTJyhwBFjr9uKPe1dgjao32F4RGE8g,2410
|
|
501
502
|
holado_test/common/exceptions/undefined_step_exception.py,sha256=SHHX22iz4Ip-V4Y3aM2EJFDt30CCS5EaauN6KB-JORo,1461
|
|
502
503
|
holado_test/scenario/step_tools.py,sha256=iNay6tQPUi4sG-a8PY5LbbLpX0PRakkOj3ls98aEbHM,26375
|
|
503
504
|
holado_test/scenario/tester_tools.py,sha256=Tv035FyXPjQ46Ep8KuPOjOvzJFvxnbv9EsrSihUzAwg,2479
|
|
505
|
+
holado_test/test_server/client/rest/test_server_client.py,sha256=TzvF2rwPz7PDcsZ5w-goN9O3pZVdDBZFN6GXD_KNCk8,4924
|
|
506
|
+
holado_test/test_server/server/Dockerfile,sha256=TR_xUU2YLmKYWeGUaRRZRhaBHKHa4Y_1nqQDquK843w,1744
|
|
507
|
+
holado_test/test_server/server/requirements.txt,sha256=c2iNG9IZZogAEC9oSWRTWEF9-OHW0vRtijPNK4P6_xY,45
|
|
508
|
+
holado_test/test_server/server/run_test_server_in_docker.sh,sha256=ISNvFT1dBM6aiw5Iv6yBhInn7L8ZYyz_7EDK_X1eCvk,3121
|
|
509
|
+
holado_test/test_server/server/core/server_context.py,sha256=aDl5rOJpxG9MT_jpymL0ST9z7FpoNOBAk5dLGAPGXas,1223
|
|
510
|
+
holado_test/test_server/server/core/server_manager.py,sha256=PW5ShUdnbdq6E3Ou87C5feXuJRc1V7qADkmGItLIi3A,2890
|
|
511
|
+
holado_test/test_server/server/rest/README,sha256=J_LIXWFxtxc8okQGZ8Kk0dMSRra9oUzbMP_ylCe4pTo,161
|
|
512
|
+
holado_test/test_server/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
513
|
+
holado_test/test_server/server/rest/logging.conf,sha256=yeNIHFQCYlDmkdLlQ3NCoMuxpUNn6i8ZDAzOUna_2aA,1282
|
|
514
|
+
holado_test/test_server/server/rest/openapi.yaml,sha256=4Juf_QggWo7z9te3_sS96TxxARWU1MtFkJZAilEsxr8,1027
|
|
515
|
+
holado_test/test_server/server/rest/run.py,sha256=0BC3fHDDaE28IoObQrICUatDRAOiFxrb0WU_VZU2q4Y,2321
|
|
516
|
+
holado_test/test_server/server/rest/api/__init__.py,sha256=4QcsiWhFX0sGhJYuoqUUfwEYb6ceIDlFFlU1q3ls7Xc,1442
|
|
517
|
+
holado_test/test_server/server/rest/api/campaign/__init__.py,sha256=btZb20N5k7_WbowNAC1C7yYDUkwPnUU5QUmh-jO0bhg,1586
|
|
518
|
+
holado_test/test_server/server/rest/api/campaign/scenario.py,sha256=4eTIScEGL0GKD7g6aIPHJVvaVbwz487zlEg9mRQv84Y,1737
|
|
504
519
|
holado_test/tests/behave/steps/__init__.py,sha256=rdqrp-UN7vRplIqORx4sXyKwMUkptRizyLWudsmYehM,1362
|
|
505
520
|
holado_test/tests/behave/steps/scenario/exception_steps.py,sha256=ZIE92Dz7a6O_c0jAP_0dj6Hc0tnW6YRgNKd4_aBpeR0,4054
|
|
506
521
|
holado_test/tests/behave/steps/scenario/scenario_steps.py,sha256=RfM5Lh4sduKeYSD1NzUxtQ8705O7nausoz_gnpAJQB0,4616
|
|
@@ -516,7 +531,7 @@ holado_value/common/tables/comparators/table_2_value_table_comparator.py,sha256=
|
|
|
516
531
|
holado_value/common/tables/comparators/table_2_value_table_row_comparator.py,sha256=_VglWUQWspG1Fo2iAo41auCwWYR24q0TniFck99BF_E,1752
|
|
517
532
|
holado_value/common/tables/comparators/table_2_value_table_with_header_comparator.py,sha256=VKwA7PbXnE-gFSKWlDCsJv0tkWVuNY-C4aWt2tyIybE,1911
|
|
518
533
|
holado_value/common/tables/converters/value_table_converter.py,sha256=o8r2VZytUAwBlT9yORL4i5gyPvgZNFhvjuPqv32cqgM,12397
|
|
519
|
-
holado_value/common/tools/unique_value_manager.py,sha256=
|
|
534
|
+
holado_value/common/tools/unique_value_manager.py,sha256=Go_su5Ju_pKp0y2YcrwWYTTMp_eXJIVPhy_uh2Izkkk,5287
|
|
520
535
|
holado_value/common/tools/value.py,sha256=BwAx9L_xHA-v4K55osnXjI9z9bQn_MKQ8Cvk3mhqBjA,9108
|
|
521
536
|
holado_value/common/tools/value_types.py,sha256=7nJp5D7xdoT9jMeeOxHIuPRykDyI9fXpve37ndK32gs,1801
|
|
522
537
|
holado_value/tests/behave/steps/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
|
|
@@ -537,9 +552,9 @@ test_holado/Dockerfile_test_holado,sha256=zO6OUFnC1X9ZG7fPWWWfcWgZwnxif4WDE4ZDEm
|
|
|
537
552
|
test_holado/__init__.py,sha256=TIHAHrF05rvz6-VDKuDBSBjasD6PxTxXvcXjMEC3D6E,54
|
|
538
553
|
test_holado/__main__.py,sha256=PVdCX8V_RGRzbQQKVxf7eyt8a10XfUJ1pcaajGgIlus,1509
|
|
539
554
|
test_holado/build_docker_image_to_test_holado_in_docker.sh,sha256=B3hbi0yKnEC-t9S18o6ZR27AU1bqiuptwOqm6H7tv8s,142
|
|
540
|
-
test_holado/environment.py,sha256=
|
|
555
|
+
test_holado/environment.py,sha256=wfVHsu_e67cjARLwmDsECbPH-yZN5WGJOeJj61-gmeM,2293
|
|
541
556
|
test_holado/initialize_holado.py,sha256=IPYH-GYNiHV5-7ZCCH6CFmPpmACsPrTV74TYz3MRjpA,3102
|
|
542
|
-
test_holado/logging.conf,sha256=
|
|
557
|
+
test_holado/logging.conf,sha256=au0QmrtF97ZxuVhgItHXdMLalkxAkxuWtgoOvGivfxc,1312
|
|
543
558
|
test_holado/test_holado_session_context.py,sha256=qOB_i2k8mYjkR3-q2uv0B04xFc1K3p-K20ttYwe1Z18,1364
|
|
544
559
|
test_holado/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
545
560
|
test_holado/features/NonReg/api/REST.feature,sha256=yAhCpWk7HbHztkdwkfcU-TrfnJVoOzHvYMmk9pUy50A,689
|
|
@@ -655,7 +670,7 @@ test_holado/tools/django/api_rest/api_rest/api1/serializers.py,sha256=o_YxFr-tgC
|
|
|
655
670
|
test_holado/tools/django/api_rest/api_rest/api1/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
656
671
|
test_holado/tools/django/api_rest/api_rest/api1/views.py,sha256=kOt2xT6bxO47_z__5yYR9kcYIWWv4qYzpX0K8Tqonik,758
|
|
657
672
|
test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
658
|
-
holado-0.
|
|
659
|
-
holado-0.
|
|
660
|
-
holado-0.
|
|
661
|
-
holado-0.
|
|
673
|
+
holado-0.9.1.dist-info/METADATA,sha256=9Gjc4KHiQekFKYnufDd17zR35GMrP3He5oDWCukuukw,7671
|
|
674
|
+
holado-0.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
675
|
+
holado-0.9.1.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
|
|
676
|
+
holado-0.9.1.dist-info/RECORD,,
|
holado_core/common/block/base.py
CHANGED
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
|
|
14
14
|
from builtins import super
|
|
15
15
|
import abc
|
|
16
|
-
from datetime import datetime
|
|
17
16
|
import logging
|
|
18
17
|
from holado_core.common.tools.tools import Tools
|
|
18
|
+
from holado_python.common.tools.datetime import DateTime
|
|
19
19
|
|
|
20
20
|
logger = logging.getLogger(__name__)
|
|
21
21
|
|
|
@@ -66,10 +66,10 @@ class BaseBlock(object):
|
|
|
66
66
|
raise NotImplementedError
|
|
67
67
|
|
|
68
68
|
def _process_start(self):
|
|
69
|
-
self.__start_dt =
|
|
69
|
+
self.__start_dt = DateTime.now()
|
|
70
70
|
|
|
71
71
|
def _process_end(self):
|
|
72
|
-
self.__end_dt =
|
|
72
|
+
self.__end_dt = DateTime.now()
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
|
|
@@ -42,26 +42,26 @@ class PersistedDataManager():
|
|
|
42
42
|
return self.__table_name
|
|
43
43
|
|
|
44
44
|
def ensure_persistent_db_exists(self):
|
|
45
|
-
if self.__resource_manager.has_data_table(self.__table_name, db_name=self.__db_name):
|
|
46
|
-
if self.__resource_manager.check_data_table_schema(self.__table_name, self.__table_sql_create, db_name=self.__db_name):
|
|
45
|
+
if self.__resource_manager.has_data_table(self.__table_name, db_name=self.__db_name, is_persistent=True):
|
|
46
|
+
if self.__resource_manager.check_data_table_schema(self.__table_name, self.__table_sql_create, db_name=self.__db_name, is_persistent=True):
|
|
47
47
|
# Table already exists with the right schema
|
|
48
48
|
return
|
|
49
49
|
else:
|
|
50
50
|
# Table already exists but with wrong schema => delete table before creating it again
|
|
51
|
-
self.__resource_manager.delete_data_table(self.__table_name, db_name=self.__db_name, raise_if_not_exist=True, do_commit=True)
|
|
51
|
+
self.__resource_manager.delete_data_table(self.__table_name, db_name=self.__db_name, is_persistent=True, raise_if_not_exist=True, do_commit=True)
|
|
52
52
|
|
|
53
53
|
# Create table
|
|
54
54
|
# Note: method create_data_table raise an exception if it doesn't succeed to create the table
|
|
55
|
-
self.__resource_manager.create_data_table(self.__table_name, self.__table_sql_create, db_name=self.__db_name, raise_if_exist=True, do_commit=True, do_audit=self.__do_audit)
|
|
55
|
+
self.__resource_manager.create_data_table(self.__table_name, self.__table_sql_create, db_name=self.__db_name, is_persistent=True, raise_if_exist=True, do_commit=True, do_audit=self.__do_audit)
|
|
56
56
|
|
|
57
57
|
def has_persisted_data(self, filter_data=None, filter_compare_data=None):
|
|
58
|
-
return self.__resource_manager.
|
|
58
|
+
return self.__resource_manager.has_data(self.__table_name, where_data=filter_data, where_compare_data=filter_compare_data, db_name=self.__db_name, is_persistent=True)
|
|
59
59
|
|
|
60
60
|
def get_persisted_datas(self, filter_data=None, filter_compare_data=None, as_generator=False):
|
|
61
61
|
"""
|
|
62
62
|
Note: Whereas 'data' is already a plural, a 's' is added in method name to be coherent with other method names
|
|
63
63
|
"""
|
|
64
|
-
return self.__resource_manager.
|
|
64
|
+
return self.__resource_manager.get_data(self.__table_name, where_data=filter_data, where_compare_data=filter_compare_data, db_name=self.__db_name, is_persistent=True, result_as_dict_list=True, as_generator=as_generator)
|
|
65
65
|
|
|
66
66
|
def get_persisted_data(self, filter_data=None, filter_compare_data=None):
|
|
67
67
|
"""
|
|
@@ -76,12 +76,12 @@ class PersistedDataManager():
|
|
|
76
76
|
return None
|
|
77
77
|
|
|
78
78
|
def count_persisted_data(self, filter_data=None, filter_compare_data=None):
|
|
79
|
-
return self.__resource_manager.
|
|
79
|
+
return self.__resource_manager.count_data(self.__table_name, where_data=filter_data, where_compare_data=filter_compare_data, db_name=self.__db_name, is_persistent=True)
|
|
80
80
|
|
|
81
81
|
def update_persisted_data(self, data, filter_data=None, filter_compare_data=None):
|
|
82
82
|
if Tools.do_log(logger, logging.DEBUG):
|
|
83
83
|
logger.debug(f"Update persisted {self.__data_name} for {filter_data} and {filter_compare_data}: {data}")
|
|
84
|
-
self.__resource_manager.
|
|
84
|
+
self.__resource_manager.update_data(self.__table_name, data, where_data=filter_data, where_compare_data=filter_compare_data, db_name=self.__db_name, is_persistent=True)
|
|
85
85
|
|
|
86
86
|
def add_persisted_data(self, data, persisted_filter_data=None):
|
|
87
87
|
if Tools.do_log(logger, logging.DEBUG):
|
|
@@ -89,7 +89,7 @@ class PersistedDataManager():
|
|
|
89
89
|
data = copy.copy(data)
|
|
90
90
|
if persisted_filter_data:
|
|
91
91
|
data.update(persisted_filter_data)
|
|
92
|
-
self.__resource_manager.
|
|
92
|
+
self.__resource_manager.add_data(self.__table_name, data, db_name=self.__db_name, is_persistent=True)
|
|
93
93
|
|
|
94
94
|
def update_or_add_persisted_data(self, persisted_filter_data, data, persisted_data=undefined_argument):
|
|
95
95
|
if persisted_data is undefined_argument:
|
|
@@ -103,7 +103,7 @@ class PersistedDataManager():
|
|
|
103
103
|
self.add_persisted_data(data, persisted_filter_data)
|
|
104
104
|
|
|
105
105
|
def delete_persisted_data(self, filter_data):
|
|
106
|
-
self.__resource_manager.
|
|
106
|
+
self.__resource_manager.delete_data(self.__table_name, where_data=filter_data, db_name=self.__db_name, is_persistent=True)
|
|
107
107
|
|
|
108
108
|
|
|
109
109
|
|
|
@@ -13,11 +13,6 @@
|
|
|
13
13
|
|
|
14
14
|
import os
|
|
15
15
|
import logging
|
|
16
|
-
from holado.common.context.session_context import SessionContext
|
|
17
|
-
from holado_core.common.exceptions.technical_exception import TechnicalException
|
|
18
|
-
from holado_core.common.exceptions.functional_exception import FunctionalException
|
|
19
|
-
from holado_core.common.tools.tools import Tools
|
|
20
|
-
# from holado_report.report.analyze.scenario_duration_manager import ScenarioDurationManager
|
|
21
16
|
|
|
22
17
|
logger = logging.getLogger(__name__)
|
|
23
18
|
|
|
@@ -56,44 +51,45 @@ class ResourceManager():
|
|
|
56
51
|
def get_path(self, *args):
|
|
57
52
|
return os.path.join(self.__local_resource_path, *args)
|
|
58
53
|
|
|
59
|
-
def
|
|
54
|
+
def get_db_client(self, name, is_persistent=False):
|
|
55
|
+
""" Return a SQLite3 DB client to the resource DB of given name
|
|
56
|
+
@param is_persistent If True, name is prefixed with 'persistent/db/'
|
|
60
57
|
"""
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
_, res = self.__db_manager.get_or_create(name, 'sqlite3', self.__get_db_connect_kwargs(name))
|
|
58
|
+
full_name = os.path.join("persistent", "db", name) if is_persistent else name
|
|
59
|
+
_, res = self.__db_manager.get_or_create(full_name, 'sqlite3', self.__get_db_connect_kwargs(full_name))
|
|
64
60
|
return res
|
|
65
61
|
|
|
66
|
-
def __get_db_connect_kwargs(self,
|
|
67
|
-
if
|
|
68
|
-
db_filepath = self.get_path(
|
|
69
|
-
|
|
62
|
+
def __get_db_connect_kwargs(self, full_name):
|
|
63
|
+
if full_name not in self.__db_connect_kwargs_by_name:
|
|
64
|
+
db_filepath = self.get_path(f"{full_name}.sqlite3")
|
|
65
|
+
self.__path_manager.makedirs(db_filepath)
|
|
70
66
|
|
|
71
67
|
uri = f"file:{db_filepath}?mode=rwc"
|
|
72
68
|
connect_kwargs = {'database': uri,
|
|
73
69
|
'uri': True}
|
|
74
|
-
self.__db_connect_kwargs_by_name[
|
|
75
|
-
return self.__db_connect_kwargs_by_name[
|
|
70
|
+
self.__db_connect_kwargs_by_name[full_name] = connect_kwargs
|
|
71
|
+
return self.__db_connect_kwargs_by_name[full_name]
|
|
76
72
|
|
|
77
73
|
def persist_pair(self, key, value, db_name="default", table_name="pair", do_commit=True):
|
|
78
|
-
client = self.
|
|
74
|
+
client = self.get_db_client(db_name, is_persistent=True)
|
|
79
75
|
client.execute(f"create table if not exists {table_name} (key, value)", do_commit=do_commit)
|
|
80
76
|
|
|
81
77
|
client.execute(f"insert into {table_name} values (?, ?)", key, value, do_commit=do_commit)
|
|
82
78
|
|
|
83
|
-
def has_data_table(self, table_name, db_name="default"):
|
|
84
|
-
client = self.
|
|
79
|
+
def has_data_table(self, table_name, db_name="default", is_persistent=False):
|
|
80
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
85
81
|
return client.exist_table(table_name)
|
|
86
82
|
|
|
87
|
-
def create_data_table(self, table_name, create_sql, db_name="default", raise_if_exist=False, do_commit=True, do_audit=False):
|
|
88
|
-
client = self.
|
|
83
|
+
def create_data_table(self, table_name, create_sql, db_name="default", is_persistent=False, raise_if_exist=False, do_commit=True, do_audit=False):
|
|
84
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
89
85
|
client.create_table(table_name, create_sql, raise_if_exist=raise_if_exist, do_commit=do_commit, do_audit=do_audit)
|
|
90
86
|
|
|
91
|
-
def delete_data_table(self, table_name, db_name="default", raise_if_not_exist=False, do_commit=True):
|
|
92
|
-
client = self.
|
|
87
|
+
def delete_data_table(self, table_name, db_name="default", is_persistent=False, raise_if_not_exist=False, do_commit=True):
|
|
88
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
93
89
|
client.drop_table(table_name, raise_if_not_exist=raise_if_not_exist, do_commit=do_commit)
|
|
94
90
|
|
|
95
|
-
def check_data_table_schema(self, table_name, create_sql, db_name="default"):
|
|
96
|
-
client = self.
|
|
91
|
+
def check_data_table_schema(self, table_name, create_sql, db_name="default", is_persistent=False):
|
|
92
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
97
93
|
result = client.select("sqlite_schema", where_data={'name':table_name}, sql_return='sql')
|
|
98
94
|
if not result:
|
|
99
95
|
return False
|
|
@@ -101,29 +97,30 @@ class ResourceManager():
|
|
|
101
97
|
sql = result[0][0].content
|
|
102
98
|
return sql == create_sql
|
|
103
99
|
|
|
104
|
-
def
|
|
105
|
-
client = self.
|
|
100
|
+
def count_data(self, table_name, where_data: dict=None, where_compare_data: list=None, db_name="default", is_persistent=False):
|
|
101
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
106
102
|
return client.count(table_name, where_data=where_data, where_compare_data=where_compare_data)
|
|
107
103
|
|
|
108
|
-
def
|
|
109
|
-
count = self.
|
|
104
|
+
def has_data(self, table_name, where_data: dict=None, where_compare_data: list=None, db_name="default", is_persistent=False):
|
|
105
|
+
count = self.count_data(table_name, where_data=where_data, where_compare_data=where_compare_data, db_name=db_name, is_persistent=is_persistent)
|
|
110
106
|
return count > 0
|
|
111
107
|
|
|
112
|
-
def
|
|
113
|
-
client = self.
|
|
108
|
+
def get_data(self, table_name, where_data: dict=None, where_compare_data: list=None, db_name="default", is_persistent=False, result_as_dict_list=False, as_generator=False):
|
|
109
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
114
110
|
result = client.select(table_name, where_data=where_data, where_compare_data=where_compare_data, result_as_dict_list=result_as_dict_list, as_generator=as_generator)
|
|
115
111
|
return result
|
|
116
112
|
|
|
117
|
-
def
|
|
118
|
-
client = self.
|
|
119
|
-
client.insert(table_name, data, do_commit=do_commit)
|
|
113
|
+
def add_data(self, table_name, data: dict, db_name="default", is_persistent=False, do_commit=True):
|
|
114
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
115
|
+
result = client.insert(table_name, data, do_commit=do_commit)
|
|
116
|
+
return result
|
|
120
117
|
|
|
121
|
-
def
|
|
122
|
-
client = self.
|
|
118
|
+
def update_data(self, table_name, data: dict, where_data: dict=None, where_compare_data: list=None, db_name="default", is_persistent=False, do_commit=True):
|
|
119
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
123
120
|
result = client.update(table_name, data=data, where_data=where_data, where_compare_data=where_compare_data, do_commit=do_commit)
|
|
124
121
|
return result
|
|
125
122
|
|
|
126
|
-
def
|
|
127
|
-
client = self.
|
|
123
|
+
def delete_data(self, table_name, where_data: dict=None, where_compare_data: list=None, db_name="default", is_persistent=False, do_commit=True):
|
|
124
|
+
client = self.get_db_client(db_name, is_persistent=is_persistent)
|
|
128
125
|
client.delete(table_name, where_data=where_data, where_compare_data=where_compare_data, do_commit=do_commit)
|
|
129
126
|
|