holado 0.7.1__py3-none-any.whl → 0.8.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.

Files changed (36) hide show
  1. holado/common/context/context.py +107 -4
  2. holado/common/context/session_context.py +15 -5
  3. {holado-0.7.1.dist-info → holado-0.8.1.dist-info}/METADATA +6 -10
  4. {holado-0.7.1.dist-info → holado-0.8.1.dist-info}/RECORD +35 -30
  5. holado_context/tests/behave/steps/private/common/context_steps.py +35 -3
  6. holado_core/common/resource/persisted_method_to_call_manager.py +134 -27
  7. holado_core/common/tools/path_manager.py +47 -26
  8. holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py +12 -9
  9. holado_docker/tools/docker_controller/client/rest/docker_controller_client.py +53 -5
  10. holado_docker/tools/docker_controller/server/rest/api/config.py +57 -0
  11. holado_docker/tools/docker_controller/server/rest/api/container.py +5 -5
  12. holado_docker/tools/docker_controller/server/rest/api/os.py +41 -0
  13. holado_docker/tools/docker_controller/server/rest/openapi.yaml +111 -0
  14. holado_docker/tools/docker_controller/server/run_docker_controller_in_docker.sh +2 -1
  15. holado_helper/docker/run_holado_test_nonreg_in_docker.sh +1 -1
  16. holado_helper/docker/run_terminal_in_docker.sh +1 -1
  17. holado_json/tests/behave/steps/ipc/json_steps.py +11 -0
  18. holado_python/common/iterables.py +8 -0
  19. holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +16 -16
  20. holado_python/standard_library/ssl/resources/certificates/tcpbin.key +26 -26
  21. holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py +0 -2
  22. holado_system/tests/behave/steps/system/file_steps.py +26 -8
  23. holado_test/common/context/scenario_context.py +3 -64
  24. holado_test/scenario/step_tools.py +22 -0
  25. holado_yaml/tests/behave/steps/yaml_steps.py +106 -9
  26. holado_yaml/yaml/enums.py +28 -0
  27. holado_yaml/yaml/pyyaml/pyyaml_client.py +72 -0
  28. holado_yaml/yaml/ruamel/ruamel_yaml_client.py +80 -0
  29. holado_yaml/yaml/yaml_client.py +195 -0
  30. holado_yaml/yaml/yaml_manager.py +57 -49
  31. test_holado/features/NonReg/holado_yaml/yaml.feature +304 -8
  32. test_holado/features/NonReg/scenario/scenario.feature +48 -4
  33. test_holado/logging.conf +1 -0
  34. holado_helper/docker/run_terminal_in_docker-with_docker_control.sh +0 -103
  35. {holado-0.7.1.dist-info → holado-0.8.1.dist-info}/WHEEL +0 -0
  36. {holado-0.7.1.dist-info → holado-0.8.1.dist-info}/licenses/LICENSE +0 -0
@@ -13,9 +13,6 @@
13
13
 
14
14
  import logging
15
15
  from holado.common.handlers.object import DeleteableObject, Object
16
- from holado_core.common.tools.tools import Tools
17
- from holado_core.common.exceptions.element_exception import ElementNotFoundException
18
- from holado_python.standard_library.typing import Typing
19
16
 
20
17
  logger = None
21
18
 
@@ -29,13 +26,40 @@ class Context(DeleteableObject):
29
26
  @summary: Mother class for any context class
30
27
  """
31
28
 
32
- def __init__(self, name):
29
+ def __init__(self, name, with_post_process=False, persisted_kwargs=None):
33
30
  super().__init__(name)
34
31
  self.on_delete_call_gc_collect = True
35
32
 
36
33
  self.__objects = {}
37
34
  self.__on_delete_objects = []
38
35
 
36
+ # Post process management
37
+ if with_post_process:
38
+ self.__persisted_kwargs = persisted_kwargs if persisted_kwargs is not None else {}
39
+ self.__persisted_method_to_call_manager_inst = None
40
+ self.__post_process_funcs = []
41
+
42
+ @property
43
+ def __with_post_process(self):
44
+ return hasattr(self, '_Context__persisted_method_to_call_manager_inst')
45
+
46
+ def __verify_is_with_post_process(self):
47
+ if not self.__with_post_process:
48
+ from holado_core.common.exceptions.technical_exception import TechnicalException
49
+ raise TechnicalException(f"[{self.name}] This context doesn't manage post process")
50
+
51
+ @property
52
+ def __persisted_method_to_call_manager(self):
53
+ self.__verify_is_with_post_process()
54
+
55
+ if self.__persisted_method_to_call_manager_inst is None:
56
+ from holado.common.context.session_context import SessionContext
57
+ from holado_core.common.resource.persisted_method_to_call_manager import PersistedMethodToCallManager
58
+ self.__persisted_method_to_call_manager_inst = PersistedMethodToCallManager(scope_name=self.name, **self.__persisted_kwargs)
59
+ self.__persisted_method_to_call_manager_inst.initialize(SessionContext.instance().resource_manager, SessionContext.instance().expression_evaluator)
60
+ self.__persisted_method_to_call_manager_inst.ensure_persistent_db_exists()
61
+ return self.__persisted_method_to_call_manager_inst
62
+
39
63
  def get_context_name(self):
40
64
  return Object.name(self)
41
65
 
@@ -46,6 +70,8 @@ class Context(DeleteableObject):
46
70
  def remove_all_objects(self):
47
71
  from holado_core.common.exceptions.functional_exception import FunctionalException
48
72
  from holado_core.common.exceptions.technical_exception import TechnicalException
73
+ from holado_core.common.tools.tools import Tools
74
+ from holado_python.standard_library.typing import Typing
49
75
 
50
76
  keys = set(self.__objects.keys())
51
77
  if Tools.do_log(logger, logging.DEBUG):
@@ -67,6 +93,9 @@ class Context(DeleteableObject):
67
93
  self._remove(name, True)
68
94
 
69
95
  def _remove(self, name, remove_from_lifetime_manager):
96
+ from holado_core.common.tools.tools import Tools
97
+ from holado_python.standard_library.typing import Typing
98
+
70
99
  obj = self.get_object(name)
71
100
  if Tools.do_log(logger, logging.DEBUG):
72
101
  logger.debug(f"[{self.name}] Removing object '{name}' (type: {Typing.get_object_class_fullname(obj)})")
@@ -133,13 +162,87 @@ class Context(DeleteableObject):
133
162
  raise NotImplementedError()
134
163
 
135
164
  def get_object_getter_eval_string(self, obj, raise_not_found=True):
165
+ from holado_python.standard_library.typing import Typing
166
+
136
167
  name = self.get_object_name(obj)
137
168
  if name is not None:
138
169
  return f"{Typing.get_object_class_fullname(self)}.instance().get_object('{name}')"
139
170
 
140
171
  if raise_not_found:
172
+ from holado_core.common.exceptions.element_exception import ElementNotFoundException
141
173
  raise ElementNotFoundException(f"[{self.name}] Failed to find object of id {id(obj)}")
142
174
  else:
143
175
  return None
144
176
 
177
+
178
+
179
+ ### Post process management
180
+
181
+ def add_post_process(self, func):
182
+ self.__verify_is_with_post_process()
183
+
184
+ success = self.__persist_function(func)
185
+ if not success:
186
+ logger.debug(f"[{self.name}] Add post process in memory, persistence in DB has failed (post process function: {func})")
187
+ self.__post_process_funcs.append(func)
188
+
189
+ def __persist_function(self, func):
190
+ from holado.common.context.session_context import SessionContext
191
+ from holado_core.common.exceptions.technical_exception import TechnicalException
192
+ from holado_core.common.tools.tools import Tools
193
+ from holado_python.standard_library.typing import Typing
194
+
195
+ try:
196
+ if Typing.is_function(func._target):
197
+ func_qualname = Typing.get_function_fullname(func._target)
198
+ self.__persisted_method_to_call_manager.add_function_to_call(
199
+ func_qualname, args_list=func._args, kwargs_dict=func._kwargs,
200
+ use="post_process", use_index=None)
201
+ return True
202
+ elif Typing.is_method(func._target):
203
+ meth_func = Typing.get_method_function(func._target)
204
+ func_qualname = Typing.get_function_fullname(meth_func)
205
+ meth_obj = Typing.get_method_object_instance(func._target)
206
+ self_getter_eval_str = SessionContext.instance().get_object_getter_eval_string(meth_obj, raise_not_found=False)
207
+ if self_getter_eval_str is not None:
208
+ self.__persisted_method_to_call_manager.add_method_to_call(
209
+ func_qualname, self_getter_eval_str, args_list=func._args, kwargs_dict=func._kwargs,
210
+ use="post_process", use_index=None)
211
+ return True
212
+ else:
213
+ raise TechnicalException(f"[{self.name}] Unmanaged target type '{Typing.get_object_class_fullname(func._target)}'")
214
+ except TechnicalException as exc:
215
+ raise exc
216
+ except Exception as exc:
217
+ logger.warning(f"[{self.name}] Failed to persist function {func}: {Tools.represent_exception(exc)}")
218
+ return False
219
+
220
+ def do_post_processes(self):
221
+ self.__verify_is_with_post_process()
222
+
223
+ # First call functions that were not persisted
224
+ for func in self.__post_process_funcs:
225
+ try:
226
+ func.run()
227
+ except Exception as exc:
228
+ # logger.error(f"Error while post processing [{func}]: {exc}")
229
+ logger.exception(f"[{self.name}] Error while post processing [{func}]: {exc}")
230
+
231
+ # Call persisted functions and methods
232
+ try:
233
+ self.do_persisted_post_processes()
234
+ except Exception as exc:
235
+ logger.exception(f"[{self.name}] Error while scenario post processing persisted methods: {exc}")
236
+
237
+ def do_persisted_post_processes(self):
238
+ """Call functions and methods persisted by a previous context instance
239
+ Note: This is useful especially when a context was deleted (like on process kill) before post processes could be performed
240
+ """
241
+ self.__verify_is_with_post_process()
242
+
243
+ self.__persisted_method_to_call_manager.call_functions_and_methods(use="post_process")
244
+
245
+ def get_number_of_persisted_post_processes_to_perform(self):
246
+ return self.__persisted_method_to_call_manager.get_number_of_functions_and_method_to_call()
247
+
145
248
 
@@ -66,7 +66,7 @@ class SessionContext(Context):
66
66
  logger.debug(f"Reset of session context")
67
67
 
68
68
  def __init__(self, name="Session"):
69
- super().__init__(name)
69
+ super().__init__(name, with_post_process=True)
70
70
 
71
71
  self.__with_session_path = None
72
72
 
@@ -82,7 +82,7 @@ class SessionContext(Context):
82
82
  try:
83
83
  if self.object_state in [ObjectStates.Deleting, ObjectStates.Deleted]:
84
84
  return
85
-
85
+
86
86
  self.delete_object()
87
87
  except Exception as exc:
88
88
  if "Python is likely shutting down" in str(exc):
@@ -165,14 +165,25 @@ class SessionContext(Context):
165
165
  SessionContext.instance().log_manager.set_config()
166
166
 
167
167
  def before_all(self, behave_context):
168
+ log_prefix = f"[Before session] "
169
+
168
170
  with self.__multitask_lock:
169
171
  self.behave_manager.set_main_context(behave_context)
170
172
  self.report_manager.before_all()
171
173
 
172
174
  # Set variable with session context instance
173
175
  self.variable_manager.register_variable("SESSION_CONTEXT", self)
174
-
176
+
177
+ logger.info(f"{log_prefix}Doing previous session post processes if needed...")
178
+ self.do_persisted_post_processes()
179
+
175
180
  def after_all(self):
181
+ log_prefix = f"[After session] "
182
+
183
+ # Post processes
184
+ logger.info(f"{log_prefix}Post processing...")
185
+ self.do_post_processes()
186
+
176
187
  with self.__multitask_lock:
177
188
  self.report_manager.after_all()
178
189
  self.behave_manager.clear()
@@ -281,7 +292,6 @@ class SessionContext(Context):
281
292
  # Create and initialize ScenarioContext
282
293
  scenario_context = ScenarioContext(scenario)
283
294
  self.get_feature_context().add_scenario(scenario_context)
284
- scenario_context.initialize()
285
295
 
286
296
  # Set variable with scenario context instance
287
297
  self.get_scenario_context().get_variable_manager().register_variable("SCENARIO_CONTEXT", self.get_scenario_context())
@@ -304,7 +314,7 @@ class SessionContext(Context):
304
314
  # MemoryProfiler.create_or_reset_tracker_of_objects_changes("scenarios objects")
305
315
 
306
316
  logger.info(f"{log_prefix}Doing previous scenario post processes if needed...")
307
- self.get_scenario_context().do_previous_scenario_post_processes()
317
+ self.get_scenario_context().do_persisted_post_processes()
308
318
 
309
319
  logger.info(f"{log_prefix}End")
310
320
  logger.info(f"Start scenario [{scenario.name}]")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: holado
3
- Version: 0.7.1
3
+ Version: 0.8.1
4
4
  Summary: HolAdo framework
5
5
  Project-URL: Homepage, https://gitlab.com/holado_framework/python
6
6
  Project-URL: Issues, https://gitlab.com/holado_framework/python/-/issues
@@ -17,7 +17,9 @@ Classifier: Programming Language :: Python :: 3.12
17
17
  Requires-Python: >=3.10
18
18
  Requires-Dist: behave==1.2.7.dev6
19
19
  Requires-Dist: psutil
20
+ Requires-Dist: pypika
20
21
  Requires-Dist: python-dateutil
22
+ Requires-Dist: sql-metadata
21
23
  Provides-Extra: ais
22
24
  Requires-Dist: pyais; extra == 'ais'
23
25
  Provides-Extra: all
@@ -43,25 +45,18 @@ Requires-Dist: psycopg-binary; extra == 'all'
43
45
  Requires-Dist: pyais; extra == 'all'
44
46
  Requires-Dist: pympler; extra == 'all'
45
47
  Requires-Dist: pyopenssl; extra == 'all'
46
- Requires-Dist: pypika; extra == 'all'
47
48
  Requires-Dist: pysftp; extra == 'all'
48
- Requires-Dist: pyyaml; extra == 'all'
49
49
  Requires-Dist: redis; extra == 'all'
50
50
  Requires-Dist: redis-om; extra == 'all'
51
+ Requires-Dist: ruamel-yaml; extra == 'all'
51
52
  Requires-Dist: sftpserver; extra == 'all'
52
- Requires-Dist: sql-metadata; extra == 'all'
53
53
  Requires-Dist: truststore; extra == 'all'
54
54
  Requires-Dist: zeep; extra == 'all'
55
55
  Provides-Extra: api-connexion
56
56
  Requires-Dist: connexion[flask,swagger-ui,uvicorn]; extra == 'api-connexion'
57
- Provides-Extra: db
58
- Requires-Dist: pypika; extra == 'db'
59
- Requires-Dist: sql-metadata; extra == 'db'
60
57
  Provides-Extra: db-postgresql
61
58
  Requires-Dist: psycopg; extra == 'db-postgresql'
62
59
  Requires-Dist: psycopg-binary; extra == 'db-postgresql'
63
- Requires-Dist: pypika; extra == 'db-postgresql'
64
- Requires-Dist: sql-metadata; extra == 'db-postgresql'
65
60
  Provides-Extra: docker
66
61
  Requires-Dist: docker; extra == 'docker'
67
62
  Provides-Extra: docker-tools
@@ -108,7 +103,7 @@ Requires-Dist: suds; extra == 'ws-suds'
108
103
  Provides-Extra: ws-zeep
109
104
  Requires-Dist: zeep; extra == 'ws-zeep'
110
105
  Provides-Extra: yaml
111
- Requires-Dist: pyyaml; extra == 'yaml'
106
+ Requires-Dist: ruamel-yaml; extra == 'yaml'
112
107
  Description-Content-Type: text/markdown
113
108
 
114
109
  # HolAdo (Holistic Automation do)
@@ -169,6 +164,7 @@ Currently, main available modules are:
169
164
 
170
165
  Major upcomming capabilities:
171
166
  * WebUI interactions (with playright or selenium)
167
+ * DB ORM
172
168
 
173
169
 
174
170
  # Community
@@ -2,9 +2,9 @@ holado/__init__.py,sha256=ibxjS0XIck0rguf8FT_3HftofWmJqyfWraxjczMzzrw,14895
2
2
  holado/holado_config.py,sha256=H1Wgndhz133nm0OcqS5hD6oDxZbDD_DeHJsKOuenQrI,2588
3
3
  holado/common/__init__.py,sha256=ZjXM-FRQgnfzRNXqcvJOGewDHVRR-U5-ugStSs8U2Xs,1525
4
4
  holado/common/context/__init__.py,sha256=3jJBLm8myrYF9jbdV1EhIA6BtnlmjX33eeoDpTzwmLA,1604
5
- holado/common/context/context.py,sha256=XPrdZw_9j096AI9EZwMT4xVd58c1ZH6VGxT5Yb-qYYU,6660
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=eIcq3AfS1zQLzd2ud6n2T-p8Z6I-WThCmhFFSb22O70,22770
7
+ holado/common/context/session_context.py,sha256=pNiJlyLsIiwdBCUb3aMQmTJB7ZnO0NsDMvluSd7_ZjE,23122
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
@@ -31,7 +31,7 @@ holado_binary/tests/behave/steps/ipc/bit_series_steps.py,sha256=x0YZHTBnvFOUkWgl
31
31
  holado_context/__init__.py,sha256=z0SNFOdBBWUouC12WKDmL18T_OH3TdmfcgIbnNQzbjU,1247
32
32
  holado_context/tests/behave/steps/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
33
33
  holado_context/tests/behave/steps/private/__init__.py,sha256=FrQhfaQLz8qTsJVyIGUxV7Hc4jxwSl-CP7rS0EFg4Bk,1281
34
- holado_context/tests/behave/steps/private/common/context_steps.py,sha256=SCMnfbsq3CWwlF4UPmq7v4nzfXhG5HNE2ibOHh636h0,1826
34
+ holado_context/tests/behave/steps/private/common/context_steps.py,sha256=aC2lh6HZ368mo_nTn55Wmn86kFYCAOWjBIpcvDGV2zA,3211
35
35
  holado_core/__init__.py,sha256=4k0q27nlm4GF9FEIG_7jfc4YUDS82FG_2j50WtGim-Y,2015
36
36
  holado_core/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
37
  holado_core/common/actors/actions.py,sha256=UeD0mFlSyqhU0l5STjJbPNtcDBZuZQaFDFtpwmu9Fvs,4220
@@ -98,7 +98,7 @@ holado_core/common/inspectors/tools/inspect_builder.py,sha256=v7azgwciXHtO-o7gcg
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
100
  holado_core/common/resource/persisted_data_manager.py,sha256=59J_5NP9mwv74xkdq2dKGy3gAIh7Yr9Hw1icQ57jwP8,6185
101
- holado_core/common/resource/persisted_method_to_call_manager.py,sha256=M_1G8OKwOUn5ha18MOwXD3kXz2-1XOyUP0H9QYvg6FQ,7756
101
+ holado_core/common/resource/persisted_method_to_call_manager.py,sha256=8iHJF3oPB5PLLLmXK9ncFc7oSyEWyRUWnwJPEzWj3zw,13813
102
102
  holado_core/common/resource/resource_manager.py,sha256=vyBP4-QKSG4ryB879p5j1_0QvW8YaARtnd7-520Pxi8,7020
103
103
  holado_core/common/tables/__init__.py,sha256=i2-gExPOUa_AnmEPgZJQ2lAXeK02PLpPnjEqbsgj1Co,8
104
104
  holado_core/common/tables/enums.py,sha256=YtYTSI1m6KQ3XFzOSFPi5De6Jc-nkDMTbnmqfRfsiJ0,1395
@@ -125,7 +125,7 @@ holado_core/common/tables/comparators/table_with_header_comparator.py,sha256=j7B
125
125
  holado_core/common/tables/converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
126
126
  holado_core/common/tables/converters/table_converter.py,sha256=PD7NJoxtejpr4aS1l3YKcXW1aEn1xBxdi4Ljs5G7R4g,10251
127
127
  holado_core/common/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- holado_core/common/tools/path_manager.py,sha256=dgdm8wAaVubh-krpquCXXeGUTtGqRKDpuEKmvhA9dKA,8899
128
+ holado_core/common/tools/path_manager.py,sha256=MK4o9ddJXNvInWV6tuRRgnna_lkPYAwLNRbO9KfmabQ,9690
129
129
  holado_core/common/tools/string_tools.py,sha256=bQuMlI_yS7OoSPFL7qyfyXkrnjC8xHVpIsfmEC6JxhI,5590
130
130
  holado_core/common/tools/tools.py,sha256=zkDz7u8S_02bfyN6K-p7-Ey_SkDxzu9DJljnczY0OAo,9683
131
131
  holado_core/common/tools/comparators/comparator.py,sha256=K4LcXIRORHX5vkmDibI6P6Bu1L-6Xezb63ZzzOMKrWY,6812
@@ -192,22 +192,24 @@ holado_docker/__init__.py,sha256=CtGYR7aEkaCdAHPDAsu_ErjpVtYE0yz9wbgbfRUwS8s,157
192
192
  holado_docker/sdk/docker/docker_client.py,sha256=rh1VLtcefIAZY88FMz7eyh1mFrWn3vVxop6TlC9t2sU,14138
193
193
  holado_docker/sdk/docker/docker_service.py,sha256=SvMSIZ7XTCbC7q5rur03lJhJVSHL3uIq1dBQz9oDpkw,3767
194
194
  holado_docker/tests/behave/steps/__init__.py,sha256=lrP0btKLA3qQD2wp3zbOp0ug8RmgpaYWCrOAWehcPiI,1298
195
- holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py,sha256=hgns0Kyl38jJlZsVpMtEWlQKfga815BfJRFS_JhQvWc,4438
195
+ holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py,sha256=Y26ZstOZrI3uVX6MGBQr88jjDEsCsNuik0ZBmpT5kDg,4800
196
196
  holado_docker/tools/docker_controller/docker_controller_manager.py,sha256=q3oac2KIK9wGfMQqGIol65nHUmeuuV0rQ61tfH2APAk,2477
197
- holado_docker/tools/docker_controller/client/rest/docker_controller_client.py,sha256=SJYonsiyOTdnwg4j-6OjcQTfdu75bm-LFVeQbJMKj_c,2655
197
+ holado_docker/tools/docker_controller/client/rest/docker_controller_client.py,sha256=TP3GBgtZusl9y6mNd8rFsOoF9K7u_M8mLFq3ZTsCHUM,4316
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=G_4D5iqDCRFNtZVLFJu2urslXxo6cbAi7B2CJ9snotw,3230
200
+ holado_docker/tools/docker_controller/server/run_docker_controller_in_docker.sh,sha256=Q56P8VA895I29kVSaSa2FpzvjxJUwLVZ9-7vjScXfc0,3406
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
204
204
  holado_docker/tools/docker_controller/server/grpc/proto/definitions/docker_controler.proto,sha256=n9bsXaQfnZX-R5HvfquCVt3QjpFtDJSH6p8gnTjm06k,1650
205
205
  holado_docker/tools/docker_controller/server/rest/README,sha256=-uqu3drdPXkPkU4ha1IKcXGBHFIBEWH-uiTT74DExwE,167
206
206
  holado_docker/tools/docker_controller/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
207
- holado_docker/tools/docker_controller/server/rest/openapi.yaml,sha256=aUZYaj6y9vBNl_ETkng4afUkcGovni53JsY55t6PUds,4027
207
+ holado_docker/tools/docker_controller/server/rest/openapi.yaml,sha256=HUD7CHasVGjpd6yW9mU0sWOKs4tuG_VSoefa7NuQWFI,6773
208
208
  holado_docker/tools/docker_controller/server/rest/run.py,sha256=8w5Xl7uOnjsYW59cmuUMOUd71fcXQn30k2jVis7cVNs,1748
209
209
  holado_docker/tools/docker_controller/server/rest/api/__init__.py,sha256=FlLRagAiw1LDxnF0CmW7Y6bVXuj8x6volT8-DuHTTVY,2427
210
- holado_docker/tools/docker_controller/server/rest/api/container.py,sha256=Y0iE3AqdJVbFUTcQNK90ymc2gwQeW0P3yBA5-RpMXvQ,2662
210
+ holado_docker/tools/docker_controller/server/rest/api/config.py,sha256=pe76IMkdNoljRsDRyhZW6BwkSSu6LsvnSEGqgd8_Ro4,2459
211
+ holado_docker/tools/docker_controller/server/rest/api/container.py,sha256=6D612WF4chpDCzr4MBzZXzELxi-yOwrgxCxSBBVMcVo,2673
212
+ holado_docker/tools/docker_controller/server/rest/api/os.py,sha256=ZdAbx_ZzwMaqHseOWWSf9ZPL_CEdRa2RvEXGvkk5c1o,1830
211
213
  holado_docker/tools/docker_viewer/docker_viewer_manager.py,sha256=tSLuIUdYjJoZIFUc1k4WnrRTUtjjTAmNTbrDmS-8SjI,2287
212
214
  holado_docker/tools/docker_viewer/client/rest/docker_viewer_client.py,sha256=XNBt7QE-Elz9wUT32hdft7vU0ytcY8f-0AvlDZ8NWMo,2005
213
215
  holado_docker/tools/docker_viewer/server/Dockerfile,sha256=012m7y_jg1Jh0NoqJSUTnmG9OppX2zlcFe-KhB71cVA,1750
@@ -270,9 +272,8 @@ holado_helper/debug/README.txt,sha256=kpsK1Ii5-t5pJCL9ChcEbZYyYTKt34fjKdiMC5DGOj
270
272
  holado_helper/debug/memory/memory_profiler.py,sha256=Qu05N3uzntqm5S5XJMPdG9X0EFdagZS5poNQJPgZ-Iw,4659
271
273
  holado_helper/docker/init_user.sh,sha256=vac-OUgsbSTIuO7MK4mpbtRZNGqHbNJGNm3Hk3W3FWQ,913
272
274
  holado_helper/docker/logging.conf,sha256=PKFEwVhQriaaHZMnU3t5I9fGxuM1HFxUBRJ0NZVH-KE,1186
273
- holado_helper/docker/run_holado_test_nonreg_in_docker.sh,sha256=Wwt1LJ87YgCAhaV7l6iATfhAfLH3awrYsxq71X7Ih68,4696
274
- holado_helper/docker/run_terminal_in_docker-with_docker_control.sh,sha256=0N-5sHaQuTiX7TadOjh6nktv-viNXeyZtnh0YixW9kM,3525
275
- holado_helper/docker/run_terminal_in_docker.sh,sha256=_2qqNArGKAyxh9gLg4Y-wkVS3bEzglm2KKNaIbqIImM,3397
275
+ holado_helper/docker/run_holado_test_nonreg_in_docker.sh,sha256=-wxyfHu2rVh1lEmyI6v0PercfzfyoMZ6Ww2FIA0Dse0,4694
276
+ holado_helper/docker/run_terminal_in_docker.sh,sha256=paKLNcUfJ5Uc0qWW3DFQInitbX8zbGDcPsCE65zywFA,3395
276
277
  holado_helper/holado_module_template/__init__.py,sha256=KpbIi2cm1BYZgoWf0LuhE0ei3ZCE15UcUtjC1cSA55M,1653
277
278
  holado_helper/holado_module_template/tests/behave/steps/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
278
279
  holado_helper/holado_module_template/tests/behave/steps/private/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
@@ -292,7 +293,7 @@ holado_json/ipc/json_converter.py,sha256=i4sPg9jZ2EziW8L6K-Rlm5-ubweFIWHq2R19avm
292
293
  holado_json/ipc/json_types.py,sha256=MP72SmSUqFnoNC_YFMLUmU4prJv4uzO1VUoUBVLYwD8,7883
293
294
  holado_json/tests/behave/steps/__init__.py,sha256=FVGM5by0yswjfo8yC58x3onJKjKcQx919TOcYEUOWEw,1276
294
295
  holado_json/tests/behave/steps/ipc/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
- holado_json/tests/behave/steps/ipc/json_steps.py,sha256=3cF2OazFoXztt-X7fXaCu_Fv5DAgc7reu0DbEgCRPX0,6008
296
+ holado_json/tests/behave/steps/ipc/json_steps.py,sha256=vEiEjbjUGXQub5H2CYqRQzNk6PTOQZRkLRhim814hVs,6452
296
297
  holado_keycloak/__init__.py,sha256=z0SNFOdBBWUouC12WKDmL18T_OH3TdmfcgIbnNQzbjU,1247
297
298
  holado_keycloak/tests/behave/steps/__init__.py,sha256=NBE4L-am7jgPiJxcHRlZ4PQRjJ_83PvN9-I-qUb8kKA,1289
298
299
  holado_keycloak/tests/behave/steps/tools/keycloak_client_steps.py,sha256=Dc1xB3qtUcBNwdlTsMS8z_9oG9yyePEJSI0MZQ_3jac,3026
@@ -338,7 +339,7 @@ holado_protobuf/tests/behave/steps/__init__.py,sha256=y2cb2NXe15g8sBts6vB3SicDEU
338
339
  holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py,sha256=Pbw5E-AbTTSKR_i_JXxSkq922F2oFML3rsCF8ILSqXA,17136
339
340
  holado_python/__init__.py,sha256=uZzFUgE2zqLWiM-2yF9D5KinWqZYqoXYMCiD02A3iW8,1657
340
341
  holado_python/common/enums.py,sha256=iwffWOqUdiFaOn83RPmjRVVHakTjQve55sNsbY4x8Ek,1535
341
- holado_python/common/iterables.py,sha256=YxJYr_Xg1st-E5tDbdg14JpVI_8kYsrBjMEM7Sqh4yY,1629
342
+ holado_python/common/iterables.py,sha256=p5X6h18W-GSnZ4WHt5Y5g3Ri4TB4B5i5NhyAwb7g1Ww,2064
342
343
  holado_python/common/tools/datetime.py,sha256=Wyg4i-lM0zbp3gC6cILmTtYwo3c6c5bhDAMJ86JUVJg,12163
343
344
  holado_python/common/tools/comparators/boolean_comparator.py,sha256=66AtqQ1u7NLTKAmgZHdnbE8vMPfgwJ2ZrzMiea90jX0,2042
344
345
  holado_python/common/tools/comparators/bytes_comparator.py,sha256=VKD5Q734n1k5Q0zX14fYgvM-66ysyRWkjo2fLgleyt0,2412
@@ -362,8 +363,8 @@ holado_python/standard_library/ssl/resources/certificates/NOTES.txt,sha256=GlPGG
362
363
  holado_python/standard_library/ssl/resources/certificates/localhost.crt,sha256=iLmZpDuOQVawUlbZkb72g2-uv1c4SAmRJOrm4Th5anY,1123
363
364
  holado_python/standard_library/ssl/resources/certificates/localhost.key,sha256=lP2NCvB9mr2E5sk8whA8FyQRcyU6H7sdWkJeKz80Hyc,1704
364
365
  holado_python/standard_library/ssl/resources/certificates/rootCACert.pem,sha256=ECQDZ8OHRfqpZHCu6JRLMUjiONaPIhKZQF0-kidVrWQ,1424
365
- holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=7EPyVjJZ1rQIK76bcRubh9OWCRQXK354d5__L3cP27Y,1237
366
- holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=nSbpEaanV4pvfhNhyx5kcSbRQWw-rEqRMSxz1ZkPICk,1704
366
+ holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=a3fxUXYKjh5MpBo5vaFDlvGESD9n_HKWZ0GvKUjSBWE,1237
367
+ holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=FpUivY3CuG7xMiUcx-fdsIvaImzAJYJBOnxJ2GQevXI,1704
367
368
  holado_python/tests/behave/steps/__init__.py,sha256=TWEk-kBTTDHi9I4nuu48nufmNMdZ9FHAhPZv0A_cWzc,1661
368
369
  holado_python/tests/behave/steps/convert_steps.py,sha256=bZqRvJVp_u6fSPpdu4ne9NwVyZmui7R-AVdO2-H-I1A,2728
369
370
  holado_python/tests/behave/steps/iterable_steps.py,sha256=f4vGIWBH8Qnjq69Q-ZBluYyctQ8SKauazTc41dsktZA,4041
@@ -380,7 +381,7 @@ holado_rabbitmq/tests/behave/steps/__init__.py,sha256=l-VWY2Qv9f-9ZoPmWjUmeurF8k
380
381
  holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py,sha256=z5BKvzoAZhiflSS7FCLOjV5V0HUcSbW5Fuxpp6JL3ZE,29795
381
382
  holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py,sha256=hG6sXnZhiJ2RzxFUmlyx2ymTQNTqL_99B0dp5od7PT8,3081
382
383
  holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py,sha256=XjcllR9MKhTuj1Nibcd6DM-sCjwr7qWmBNVvREjd7KE,16486
383
- holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py,sha256=hRbpGN9_dhrddTTjfA20XPzA-yeXyctN6kcOon4a5I4,29953
384
+ holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py,sha256=YQTNfi2Gs61LDA3wkdE4iCiHNuyH05m-OJuDFbI9834,29888
384
385
  holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py,sha256=jFxghEOohM8dUjXQg4FYLslJV-lT5xMSdVcKKAiQ8x4,7761
385
386
  holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py,sha256=urWn9A8XZqpAAtbvRZ-YUGVbOX_1Y0uSBA2lHGqJxLA,21039
386
387
  holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py,sha256=FW8iKAHm0I78bHQEbRk4rl0dtCmv4dvAe5BY_HfOQVM,1613
@@ -482,7 +483,7 @@ holado_system/system/command/exceptions.py,sha256=InT6t8GVeGCiBE-NpRr4NzycWVAvzm
482
483
  holado_system/system/filesystem/file.py,sha256=Y5uq2n-ttimdRvLh3QQjpECoOSUzcj9DesuT2HerYuk,2840
483
484
  holado_system/tests/behave/steps/__init__.py,sha256=7LrCSTHk5oHNuEsr4IhJuNDsohtR2cq3YT1owXrhdjc,1351
484
485
  holado_system/tests/behave/steps/system/commands_steps.py,sha256=uYiojPpYPkfif8l8afRrJ0sj-wFBE4j1x67BDMNs76Q,3901
485
- holado_system/tests/behave/steps/system/file_steps.py,sha256=QxiBNe5GPSlHenaK2cEK_sMYQD7a9vTz8I8Ma-24uh0,9852
486
+ holado_system/tests/behave/steps/system/file_steps.py,sha256=kJ7qEzaKkzErRpWCWmq1mJhqO3kHlMa-u5RmsG4664g,10388
486
487
  holado_system/tests/behave/steps/system/system_steps.py,sha256=2XrZwuAaYDjB_HvPgxZq9MpYB_Zo7FVZ0DYcmtKht2s,3778
487
488
  holado_test/__init__.py,sha256=A0edMOLhnuU-A_NazQ50WghvKvB889KNCBddtBPa9Ag,1539
488
489
  holado_test/test_config.py,sha256=yQK2jNHEGltGc3fmsAgcsKN4y3_nuldZHD45XEMrsQA,1575
@@ -495,10 +496,10 @@ holado_test/behave/independant_runner.py,sha256=QR_IS-qkK_x2FTryb2gRQrqyBU3YUgKq
495
496
  holado_test/behave/scenario/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
496
497
  holado_test/behave/scenario/behave_step_tools.py,sha256=apMS8nvdY-vbXsUIw1mVR4wOy2xWHMOCPJ1QiYNU-hI,6612
497
498
  holado_test/common/context/feature_context.py,sha256=GhC0lihnvTBhv5tE4JzPt39eP7gwAU5IApwX_-5Wt2Y,3348
498
- holado_test/common/context/scenario_context.py,sha256=pmo-xGtn6oHtbTmcH6Vtp8Dj2iGrYVdHd0b6smtlhbY,10527
499
+ holado_test/common/context/scenario_context.py,sha256=x5q9AuBNkL9fG5LjiUzLOnqcyBLiOB_AlSPErKAcD1Y,7102
499
500
  holado_test/common/context/step_context.py,sha256=j6S4ozTPrdlpV9Slopc998fYOV8KfMLAUSW4mcEFUI8,2383
500
501
  holado_test/common/exceptions/undefined_step_exception.py,sha256=SHHX22iz4Ip-V4Y3aM2EJFDt30CCS5EaauN6KB-JORo,1461
501
- holado_test/scenario/step_tools.py,sha256=Sqm7M0vVA9O2lRnv3pK5ryrSPOCGr5P7xD7C3esTpGg,25482
502
+ holado_test/scenario/step_tools.py,sha256=iNay6tQPUi4sG-a8PY5LbbLpX0PRakkOj3ls98aEbHM,26375
502
503
  holado_test/scenario/tester_tools.py,sha256=Tv035FyXPjQ46Ep8KuPOjOvzJFvxnbv9EsrSihUzAwg,2479
503
504
  holado_test/tests/behave/steps/__init__.py,sha256=rdqrp-UN7vRplIqORx4sXyKwMUkptRizyLWudsmYehM,1362
504
505
  holado_test/tests/behave/steps/scenario/exception_steps.py,sha256=ZIE92Dz7a6O_c0jAP_0dj6Hc0tnW6YRgNKd4_aBpeR0,4054
@@ -526,15 +527,19 @@ holado_ws/tests/behave/steps/__init__.py,sha256=pQFh5y-mg2rGTlTBejuur8dd38govzBG
526
527
  holado_ws/tests/behave/steps/api/web_service_steps.py,sha256=iEKq0b1KUiqOAqAw2z8HdaaaIbE-zx50E4CayazuMvw,8980
527
528
  holado_yaml/__init__.py,sha256=KpbIi2cm1BYZgoWf0LuhE0ei3ZCE15UcUtjC1cSA55M,1653
528
529
  holado_yaml/tests/behave/steps/__init__.py,sha256=mXzHzGy9gkIDjYXdlxQ6BzaT4AfithgRmL_1sMxr63g,1272
529
- holado_yaml/tests/behave/steps/yaml_steps.py,sha256=t3uNpyXey9UFAJB0g9IIxkweQvw8cFBvxamvjZuiqMs,3486
530
- holado_yaml/yaml/yaml_manager.py,sha256=IeHfKrc1r2Q6ysr8MC6JDcKDLQNb7pITaZfScz_bIOg,3466
530
+ holado_yaml/tests/behave/steps/yaml_steps.py,sha256=cxNgDywCopT_RCeqKiWfcJYyKZM3mlc39bAtGm2rgfc,8531
531
+ holado_yaml/yaml/enums.py,sha256=WD7mM_VhXtv8l0n08s6CSe7k2RUZDf_70mNCFsjjo94,1625
532
+ holado_yaml/yaml/yaml_client.py,sha256=I7Xkhk0KIBVucEBNzTN2vWNOjuSQ-7W_D8ZiPHl1M7k,9042
533
+ holado_yaml/yaml/yaml_manager.py,sha256=iAg-WyXgHeIq_7WzYiVYE8G19Mcalqie8cD3_eyxogg,4363
534
+ holado_yaml/yaml/pyyaml/pyyaml_client.py,sha256=yZrx42Y3fGt6psBsLXTzMTWH30oiOfzsm5dVPkpJjQE,3086
535
+ holado_yaml/yaml/ruamel/ruamel_yaml_client.py,sha256=i4fJi-gbKJMfUPd3KfJPFaF7ZP6shMNfCPu8NPhAJVg,3201
531
536
  test_holado/Dockerfile_test_holado,sha256=zO6OUFnC1X9ZG7fPWWWfcWgZwnxif4WDE4ZDEmI_JU0,1953
532
537
  test_holado/__init__.py,sha256=TIHAHrF05rvz6-VDKuDBSBjasD6PxTxXvcXjMEC3D6E,54
533
538
  test_holado/__main__.py,sha256=PVdCX8V_RGRzbQQKVxf7eyt8a10XfUJ1pcaajGgIlus,1509
534
539
  test_holado/build_docker_image_to_test_holado_in_docker.sh,sha256=B3hbi0yKnEC-t9S18o6ZR27AU1bqiuptwOqm6H7tv8s,142
535
540
  test_holado/environment.py,sha256=QgLXEPss9YbJLZywgIStDgLOOq0MHklzmRElTgZgzM8,2272
536
541
  test_holado/initialize_holado.py,sha256=IPYH-GYNiHV5-7ZCCH6CFmPpmACsPrTV74TYz3MRjpA,3102
537
- test_holado/logging.conf,sha256=L_8mMnRvVvUf5FKP0sqdgjbMmSeEIe6sDSFUX49DQ78,1263
542
+ test_holado/logging.conf,sha256=yeNIHFQCYlDmkdLlQ3NCoMuxpUNn6i8ZDAzOUna_2aA,1282
538
543
  test_holado/test_holado_session_context.py,sha256=qOB_i2k8mYjkR3-q2uv0B04xFc1K3p-K20ttYwe1Z18,1364
539
544
  test_holado/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
540
545
  test_holado/features/NonReg/api/REST.feature,sha256=yAhCpWk7HbHztkdwkfcU-TrfnJVoOzHvYMmk9pUy50A,689
@@ -587,9 +592,9 @@ test_holado/features/NonReg/holado_scripting/common/tools/expression_evaluator.f
587
592
  test_holado/features/NonReg/holado_scripting/common/tools/variable_manager.feature,sha256=EeGskI6KVgIPzfZvL-bncASwXcSKb6PDu1mRDcpd5vE,2006
588
593
  test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.error.feature,sha256=IgBbkgJrV1VX7wT1ZcT-bQjIdbKdhsMDwz-GrN8N29A,674
589
594
  test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.feature,sha256=FR5avmNZq1ts7FvcwxjD0coeBFA7vpOcRzUxV7SiArs,3584
590
- test_holado/features/NonReg/holado_yaml/yaml.feature,sha256=vItBUxKKih5xUwsbm-0QyCsTMa6GaSeGjcZxh28GAlg,9216
595
+ test_holado/features/NonReg/holado_yaml/yaml.feature,sha256=QPA8wVyO4Cc3S-32J8zZ1VzhBJkL5xaUhIVywH9kAZw,17406
591
596
  test_holado/features/NonReg/ipc/json.feature,sha256=zDtpngH-8Hn4Kx7tJ02OozzmZZnrwxNGXvp-WmpEsP8,5336
592
- test_holado/features/NonReg/scenario/scenario.feature,sha256=0zSkDhxB1dDFyetbNY4AzQR3RVM00o8FoQONdxL6pBI,4806
597
+ test_holado/features/NonReg/scenario/scenario.feature,sha256=6wkw6LGN7hByvrvlVrrsEv9t3JQIYaP7Ctk1bKIrIgA,6504
593
598
  test_holado/features/NonReg/test_steps/behave.feature,sha256=JOcJo-TOFPrENsCHOwsgKxIuDDzMY4SopnPs2qG6lw4,6596
594
599
  test_holado/features/NonReg/test_steps/common.feature,sha256=4zF8L-PoqoQBbqL5YCVIUv8mEN2G7OoLsd4Q1Y1DfEU,4181
595
600
  test_holado/features/NonReg/tools/RabbitMQ.feature,sha256=wUA6a-n_F8rxmPHODQgwmFFuuf0V4ahUmGQcMtD0sGc,19141
@@ -650,7 +655,7 @@ test_holado/tools/django/api_rest/api_rest/api1/serializers.py,sha256=o_YxFr-tgC
650
655
  test_holado/tools/django/api_rest/api_rest/api1/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
651
656
  test_holado/tools/django/api_rest/api_rest/api1/views.py,sha256=kOt2xT6bxO47_z__5yYR9kcYIWWv4qYzpX0K8Tqonik,758
652
657
  test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
653
- holado-0.7.1.dist-info/METADATA,sha256=fWwf-M3Znl7L5laYb4hGYm4mQ7V2BhRkCQI6TKqdLmI,7885
654
- holado-0.7.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
655
- holado-0.7.1.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
656
- holado-0.7.1.dist-info/RECORD,,
658
+ holado-0.8.1.dist-info/METADATA,sha256=96tNajEz2ibDQX0118wv3VNay6ndeo-YNIOGQvMo2bI,7671
659
+ holado-0.8.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
660
+ holado-0.8.1.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
661
+ holado-0.8.1.dist-info/RECORD,,
@@ -16,6 +16,8 @@
16
16
  from holado.common.context.session_context import SessionContext
17
17
  from holado_test.behave.behave import * # @UnusedWildImport
18
18
  import logging
19
+ from holado_test.scenario.step_tools import StepTools
20
+ from holado_core.common.exceptions.technical_exception import TechnicalException
19
21
 
20
22
  logger = logging.getLogger(__name__)
21
23
 
@@ -30,7 +32,37 @@ def __get_variable_manager():
30
32
  return __get_scenario_context().get_variable_manager()
31
33
 
32
34
 
33
- @Step(r"execute post processes of scenario context")
34
- def step_impl(context):
35
- __get_scenario_context().do_post_processes()
35
+ def __get_context(context_name):
36
+ context_name = context_name.capitalize()
37
+ if context_name == SessionContext.instance().name:
38
+ return SessionContext.instance()
39
+ elif context_name == __get_scenario_context().name:
40
+ return __get_scenario_context()
41
+ else:
42
+ raise TechnicalException(f"Not found context of name '{context_name}'")
43
+
44
+ @Step(r"execute post processes of (?P<context_name>{Str}) context")
45
+ def step_impl(context, context_name):
46
+ context_name = StepTools.evaluate_scenario_parameter(context_name)
47
+
48
+ context = __get_context(context_name)
49
+ context.do_post_processes()
50
+
51
+ @Step(r"execute persisted post processes of (?P<context_name>{Str}) context")
52
+ def step_impl(context, context_name):
53
+ context_name = StepTools.evaluate_scenario_parameter(context_name)
54
+
55
+ context = __get_context(context_name)
56
+ context.do_persisted_post_processes()
57
+
58
+ @Step(r"(?P<var_name>{Variable}) = number of persisted post processes to perform for (?P<context_name>{Str}) context")
59
+ def step_impl(context, var_name, context_name):
60
+ var_name = StepTools.evaluate_variable_name(var_name)
61
+ context_name = StepTools.evaluate_scenario_parameter(context_name)
62
+
63
+ context = __get_context(context_name)
64
+ res = context.get_number_of_persisted_post_processes_to_perform()
65
+
66
+ __get_variable_manager().register_variable(var_name, res)
67
+
36
68