holado 0.13.22__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.
Files changed (698) hide show
  1. holado/__init__.py +358 -0
  2. holado/common/__init__.py +25 -0
  3. holado/common/context/__init__.py +25 -0
  4. holado/common/context/context.py +248 -0
  5. holado/common/context/service_manager.py +262 -0
  6. holado/common/context/session_context.py +516 -0
  7. holado/common/handlers/__init__.py +19 -0
  8. holado/common/handlers/enums.py +41 -0
  9. holado/common/handlers/object.py +175 -0
  10. holado/common/handlers/undefined.py +55 -0
  11. holado/common/tools/__init__.py +19 -0
  12. holado/common/tools/gc_manager.py +155 -0
  13. holado/holado_config.py +45 -0
  14. holado-0.13.22.dist-info/METADATA +194 -0
  15. holado-0.13.22.dist-info/RECORD +698 -0
  16. holado-0.13.22.dist-info/WHEEL +4 -0
  17. holado-0.13.22.dist-info/licenses/LICENSE +21 -0
  18. holado_ais/__init__.py +33 -0
  19. holado_ais/ais/MaritimeIdentificationDigits.csv +295 -0
  20. holado_ais/ais/ais_manager.py +151 -0
  21. holado_ais/ais/ais_messages.py +356 -0
  22. holado_ais/ais/ais_payload.py +35 -0
  23. holado_ais/ais/enums.py +37 -0
  24. holado_ais/ais/patch_pyais.py +1174 -0
  25. holado_ais/tests/behave/steps/__init__.py +17 -0
  26. holado_ais/tests/behave/steps/ais/__init__.py +0 -0
  27. holado_ais/tests/behave/steps/ais/ais_manager_steps.py +50 -0
  28. holado_ais/tests/behave/steps/ais/ais_messages_steps.py +237 -0
  29. holado_binary/__init__.py +17 -0
  30. holado_binary/ipc/binary.py +125 -0
  31. holado_binary/ipc/bit_series.py +307 -0
  32. holado_binary/tests/behave/steps/__init__.py +17 -0
  33. holado_binary/tests/behave/steps/ipc/binary_steps.py +57 -0
  34. holado_binary/tests/behave/steps/ipc/bit_series_steps.py +132 -0
  35. holado_context/__init__.py +16 -0
  36. holado_context/tests/behave/steps/__init__.py +16 -0
  37. holado_context/tests/behave/steps/private/__init__.py +16 -0
  38. holado_context/tests/behave/steps/private/common/context_steps.py +68 -0
  39. holado_core/__init__.py +32 -0
  40. holado_core/common/__init__.py +0 -0
  41. holado_core/common/actors/actions.py +97 -0
  42. holado_core/common/actors/actor.py +226 -0
  43. holado_core/common/actors/element_actor.py +32 -0
  44. holado_core/common/actors/find_actor.py +106 -0
  45. holado_core/common/actors/tree_actor.py +32 -0
  46. holado_core/common/actors/verify_actions.py +69 -0
  47. holado_core/common/block/base.py +122 -0
  48. holado_core/common/block/block_manager.py +173 -0
  49. holado_core/common/block/block_method.py +46 -0
  50. holado_core/common/block/block_steps.py +37 -0
  51. holado_core/common/block/function.py +42 -0
  52. holado_core/common/block/scope_function.py +28 -0
  53. holado_core/common/block/scope_manager.py +238 -0
  54. holado_core/common/block/scope_steps.py +141 -0
  55. holado_core/common/criterias/and_criteria.py +61 -0
  56. holado_core/common/criterias/criteria.py +78 -0
  57. holado_core/common/criterias/or_criteria.py +64 -0
  58. holado_core/common/criterias/tools/criteria_context.py +20 -0
  59. holado_core/common/criterias/tools/criteria_parameters.py +18 -0
  60. holado_core/common/drivers/driver.py +153 -0
  61. holado_core/common/drivers/element_driver.py +30 -0
  62. holado_core/common/drivers/element_internal_api.py +239 -0
  63. holado_core/common/drivers/internal_api.py +40 -0
  64. holado_core/common/drivers/tree_driver.py +30 -0
  65. holado_core/common/drivers/tree_internal_api.py +176 -0
  66. holado_core/common/exceptions/__init__.py +0 -0
  67. holado_core/common/exceptions/element_exception.py +28 -0
  68. holado_core/common/exceptions/exceptions.py +24 -0
  69. holado_core/common/exceptions/functional_exception.py +21 -0
  70. holado_core/common/exceptions/holado_exception.py +25 -0
  71. holado_core/common/exceptions/technical_exception.py +27 -0
  72. holado_core/common/exceptions/timeout_exception.py +20 -0
  73. holado_core/common/exceptions/verify_exception.py +20 -0
  74. holado_core/common/finders/after_in_tree_finder.py +87 -0
  75. holado_core/common/finders/element_finder.py +60 -0
  76. holado_core/common/finders/else_finder.py +105 -0
  77. holado_core/common/finders/finder.py +478 -0
  78. holado_core/common/finders/or_finder.py +98 -0
  79. holado_core/common/finders/then_finder.py +157 -0
  80. holado_core/common/finders/tools/enums.py +30 -0
  81. holado_core/common/finders/tools/find_builder.py +118 -0
  82. holado_core/common/finders/tools/find_context.py +405 -0
  83. holado_core/common/finders/tools/find_info.py +27 -0
  84. holado_core/common/finders/tools/find_parameters.py +240 -0
  85. holado_core/common/finders/tools/find_updater.py +95 -0
  86. holado_core/common/finders/tools/finder_info.py +26 -0
  87. holado_core/common/finders/tree_finder.py +146 -0
  88. holado_core/common/handlers/__init__.py +0 -0
  89. holado_core/common/handlers/abstracts/base_redo.py +702 -0
  90. holado_core/common/handlers/abstracts/get_or_create.py +120 -0
  91. holado_core/common/handlers/element_holder.py +122 -0
  92. holado_core/common/handlers/enums.py +23 -0
  93. holado_core/common/handlers/exceptions/redo_exceptions.py +28 -0
  94. holado_core/common/handlers/features/resource_by_name.py +187 -0
  95. holado_core/common/handlers/features/resource_by_type.py +174 -0
  96. holado_core/common/handlers/redo.py +119 -0
  97. holado_core/common/handlers/wait.py +127 -0
  98. holado_core/common/inspectors/element_inspector.py +57 -0
  99. holado_core/common/inspectors/inspector.py +221 -0
  100. holado_core/common/inspectors/tools/inspect_builder.py +169 -0
  101. holado_core/common/inspectors/tools/inspect_context.py +69 -0
  102. holado_core/common/inspectors/tools/inspect_parameters.py +181 -0
  103. holado_core/common/inspectors/tree_inspector.py +73 -0
  104. holado_core/common/resource/persisted_data_manager.py +113 -0
  105. holado_core/common/resource/persisted_method_to_call_manager.py +263 -0
  106. holado_core/common/resource/resource_manager.py +126 -0
  107. holado_core/common/resource/table_data_manager.py +110 -0
  108. holado_core/common/tables/__init__.py +1 -0
  109. holado_core/common/tables/comparators/__init__.py +0 -0
  110. holado_core/common/tables/comparators/boolean_table_cell_comparator.py +25 -0
  111. holado_core/common/tables/comparators/bytes_table_cell_comparator.py +25 -0
  112. holado_core/common/tables/comparators/datetime_table_cell_comparator.py +24 -0
  113. holado_core/common/tables/comparators/float_table_cell_comparator.py +31 -0
  114. holado_core/common/tables/comparators/integer_table_cell_comparator.py +25 -0
  115. holado_core/common/tables/comparators/internal_table_cell_comparator.py +30 -0
  116. holado_core/common/tables/comparators/string_table_cell_comparator.py +24 -0
  117. holado_core/common/tables/comparators/string_table_comparator.py +29 -0
  118. holado_core/common/tables/comparators/string_table_row_comparator.py +29 -0
  119. holado_core/common/tables/comparators/table_cell_comparator.py +40 -0
  120. holado_core/common/tables/comparators/table_comparator.py +209 -0
  121. holado_core/common/tables/comparators/table_comparator_manager.py +60 -0
  122. holado_core/common/tables/comparators/table_row_comparator.py +116 -0
  123. holado_core/common/tables/comparators/table_with_header_comparator.py +68 -0
  124. holado_core/common/tables/converters/__init__.py +0 -0
  125. holado_core/common/tables/converters/table_converter.py +233 -0
  126. holado_core/common/tables/enums.py +23 -0
  127. holado_core/common/tables/table.py +261 -0
  128. holado_core/common/tables/table_cell.py +126 -0
  129. holado_core/common/tables/table_manager.py +365 -0
  130. holado_core/common/tables/table_row.py +169 -0
  131. holado_core/common/tables/table_with_header.py +242 -0
  132. holado_core/common/tools/__init__.py +0 -0
  133. holado_core/common/tools/comparators/comparator.py +151 -0
  134. holado_core/common/tools/comparators/object_comparator.py +21 -0
  135. holado_core/common/tools/converters/converter.py +118 -0
  136. holado_core/common/tools/path_manager.py +238 -0
  137. holado_core/common/tools/string_tools.py +144 -0
  138. holado_core/common/tools/tools.py +197 -0
  139. holado_core/tests/behave/steps/__init__.py +20 -0
  140. holado_core/tests/behave/steps/common/__init__.py +0 -0
  141. holado_core/tests/behave/steps/common/common_steps.py +137 -0
  142. holado_core/tests/behave/steps/common/config_steps.py +42 -0
  143. holado_core/tests/behave/steps/common/resource_steps.py +62 -0
  144. holado_core/tests/behave/steps/common/tables_steps.py +560 -0
  145. holado_core/tools/__init__.py +0 -0
  146. holado_core/tools/abstracts/__init__.py +0 -0
  147. holado_core/tools/abstracts/blocking_command_service.py +64 -0
  148. holado_core/tools/abstracts/service.py +48 -0
  149. holado_crypto/__init__.py +31 -0
  150. holado_crypto/crypto/crypto.py +108 -0
  151. holado_crypto/crypto/key.py +92 -0
  152. holado_crypto/crypto/tcpbin.py +105 -0
  153. holado_crypto/crypto/transport/__init__.py +0 -0
  154. holado_crypto/crypto/transport/crc.py +40 -0
  155. holado_crypto/tests/behave/steps/__init__.py +18 -0
  156. holado_crypto/tests/behave/steps/crypto_steps.py +112 -0
  157. holado_crypto/tests/behave/steps/key_steps.py +82 -0
  158. holado_crypto/tests/behave/steps/tcpbin_steps.py +79 -0
  159. holado_data/__init__.py +31 -0
  160. holado_data/data/generator/base.py +93 -0
  161. holado_data/data/generator/generator_manager.py +27 -0
  162. holado_data/data/generator/python_generator.py +30 -0
  163. holado_data/tests/behave/steps/__init__.py +17 -0
  164. holado_data/tests/behave/steps/data/generator_steps.py +91 -0
  165. holado_data/tests/behave/steps/tools/utils_steps.py +59 -0
  166. holado_db/__init__.py +32 -0
  167. holado_db/tests/behave/steps/__init__.py +18 -0
  168. holado_db/tests/behave/steps/tools/db/db_client_steps.py +134 -0
  169. holado_db/tests/behave/steps/tools/db/postgresql_client_steps.py +59 -0
  170. holado_db/tests/behave/steps/tools/db/sqlite_client_steps.py +57 -0
  171. holado_db/tools/db/clients/base/db_audit.py +94 -0
  172. holado_db/tools/db/clients/base/db_client.py +344 -0
  173. holado_db/tools/db/clients/postgresql/postgresql_audit.py +75 -0
  174. holado_db/tools/db/clients/postgresql/postgresql_client.py +84 -0
  175. holado_db/tools/db/clients/sqlite/sqlite_audit.py +70 -0
  176. holado_db/tools/db/clients/sqlite/sqlite_client.py +60 -0
  177. holado_db/tools/db/db_manager.py +109 -0
  178. holado_db/tools/db/query/base/query_builder.py +138 -0
  179. holado_db/tools/db/query/pypika/pypika_query_builder.py +244 -0
  180. holado_db/tools/db/query/query_manager.py +77 -0
  181. holado_django/__init__.py +31 -0
  182. holado_django/server/HOWTO.txt +27 -0
  183. holado_django/server/django_projects/rest_api/db.sqlite3 +0 -0
  184. holado_django/server/django_projects/rest_api/manage.py +22 -0
  185. holado_django/server/django_projects/rest_api/rest_api/__init__.py +0 -0
  186. holado_django/server/django_projects/rest_api/rest_api/application/__init__.py +0 -0
  187. holado_django/server/django_projects/rest_api/rest_api/application/admin.py +3 -0
  188. holado_django/server/django_projects/rest_api/rest_api/application/apps.py +9 -0
  189. holado_django/server/django_projects/rest_api/rest_api/application/migrations/__init__.py +0 -0
  190. holado_django/server/django_projects/rest_api/rest_api/application/models.py +3 -0
  191. holado_django/server/django_projects/rest_api/rest_api/application/tests.py +3 -0
  192. holado_django/server/django_projects/rest_api/rest_api/application/views.py +6 -0
  193. holado_django/server/django_projects/rest_api/rest_api/asgi.py +16 -0
  194. holado_django/server/django_projects/rest_api/rest_api/settings.py +130 -0
  195. holado_django/server/django_projects/rest_api/rest_api/urls.py +35 -0
  196. holado_django/server/django_projects/rest_api/rest_api/wsgi.py +16 -0
  197. holado_django/server/django_server.py +110 -0
  198. holado_django/server/grpc_django_server.py +57 -0
  199. holado_django/server/patch_djangogrpcframework.py +46 -0
  200. holado_django/tests/behave/steps/__init__.py +16 -0
  201. holado_django/tests/behave/steps/django_server_steps.py +83 -0
  202. holado_docker/__init__.py +25 -0
  203. holado_docker/sdk/docker/container_logs.py +447 -0
  204. holado_docker/sdk/docker/docker_client.py +537 -0
  205. holado_docker/sdk/docker/docker_service.py +71 -0
  206. holado_docker/tests/behave/steps/__init__.py +16 -0
  207. holado_docker/tests/behave/steps/sdk/docker/container_logs_steps.py +47 -0
  208. holado_examples/projects/server_rest/server_rest_example/initialize_holado.py +72 -0
  209. holado_examples/projects/server_rest/server_rest_example/rest_api/db.sqlite3 +0 -0
  210. holado_examples/projects/server_rest/server_rest_example/rest_api/manage.py +22 -0
  211. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/__init__.py +0 -0
  212. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/__init__.py +0 -0
  213. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/admin.py +3 -0
  214. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/apps.py +7 -0
  215. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/migrations/__init__.py +0 -0
  216. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/models.py +3 -0
  217. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/serializers.py +15 -0
  218. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/tests.py +3 -0
  219. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/views.py +24 -0
  220. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/asgi.py +16 -0
  221. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/settings.py +130 -0
  222. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/urls.py +31 -0
  223. holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/wsgi.py +16 -0
  224. holado_examples/projects/server_rest/server_rest_example/rest_server.py +37 -0
  225. holado_examples/scripts/script_custom_initialization.py +16 -0
  226. holado_examples/scripts/script_minimal_initialization.py +23 -0
  227. holado_examples/tests/behave/testing_solution/__main__.py +13 -0
  228. holado_examples/tests/behave/testing_solution/behave_environment.py +35 -0
  229. holado_examples/tests/behave/testing_solution/environment.py +36 -0
  230. holado_examples/tests/behave/testing_solution/features/Configuration/Actions/configure_system.feature +10 -0
  231. holado_examples/tests/behave/testing_solution/features/NonReg/example.feature +26 -0
  232. holado_examples/tests/behave/testing_solution/initialize_holado.py +62 -0
  233. holado_examples/tests/behave/testing_solution/logging.conf +102 -0
  234. holado_examples/tests/behave/testing_solution/requirements.txt +5 -0
  235. holado_examples/tests/behave/testing_solution/run_test.sh +7 -0
  236. holado_examples/tests/behave/testing_solution/run_test_nonreg.sh +6 -0
  237. holado_examples/tests/behave/testing_solution/src/common/tools/path_manager.py +40 -0
  238. holado_examples/tests/behave/testing_solution/src/config/config_manager.py +30 -0
  239. holado_examples/tests/behave/testing_solution/src/context/session_context.py +45 -0
  240. holado_examples/tests/behave/testing_solution/steps/config_steps.py +21 -0
  241. holado_examples/tests/behave/testing_solution/steps/public_steps.py +10 -0
  242. holado_grpc/TODO +8 -0
  243. holado_grpc/__init__.py +40 -0
  244. holado_grpc/api/rpc/TODO.txt +4 -0
  245. holado_grpc/api/rpc/grpc_client.py +210 -0
  246. holado_grpc/api/rpc/grpc_manager.py +81 -0
  247. holado_grpc/ipc/rpc/__init__.py +0 -0
  248. holado_grpc/ipc/rpc/grpc_compiler.py +45 -0
  249. holado_grpc/ipc/rpc/grpc_services.py +165 -0
  250. holado_grpc/tests/behave/steps/__init__.py +16 -0
  251. holado_grpc/tests/behave/steps/api/grpc_client_steps.py +173 -0
  252. holado_grpc/tests/behave/steps/private/__init__.py +16 -0
  253. holado_grpc/tests/behave/steps/private/api/grpc_steps.py +77 -0
  254. holado_helper/__init__.py +35 -0
  255. holado_helper/debug/README.txt +32 -0
  256. holado_helper/debug/memory/memory_profiler.py +106 -0
  257. holado_helper/docker/init_user.sh +24 -0
  258. holado_helper/docker/logging.conf +44 -0
  259. holado_helper/docker/run_holado_test_nonreg_in_docker.sh +120 -0
  260. holado_helper/docker/run_terminal_in_docker.sh +101 -0
  261. holado_helper/holado_module_template/__init__.py +38 -0
  262. holado_helper/holado_module_template/tests/behave/steps/__init__.py +16 -0
  263. holado_helper/holado_module_template/tests/behave/steps/private/__init__.py +16 -0
  264. holado_helper/initialize_holado.py +72 -0
  265. holado_helper/script/action.py +130 -0
  266. holado_helper/script/action_script.py +477 -0
  267. holado_helper/script/any_action_script.py +126 -0
  268. holado_helper/script/behave_action_script.py +99 -0
  269. holado_helper/script/csv_action_script.py +142 -0
  270. holado_helper/script/initialize_script.py +95 -0
  271. holado_helper/script/input_output_script.py +136 -0
  272. holado_helper/script/job.py +75 -0
  273. holado_helper/script/json_action_script.py +104 -0
  274. holado_helper/script/script.py +110 -0
  275. holado_json/__init__.py +16 -0
  276. holado_json/filesystem/json_file.py +94 -0
  277. holado_json/filesystem/stream_json_file.py +117 -0
  278. holado_json/ipc/json.py +146 -0
  279. holado_json/ipc/json_converter.py +69 -0
  280. holado_json/ipc/json_types.py +183 -0
  281. holado_json/tests/behave/steps/__init__.py +16 -0
  282. holado_json/tests/behave/steps/ipc/__init__.py +0 -0
  283. holado_json/tests/behave/steps/ipc/json_steps.py +131 -0
  284. holado_keycloak/__init__.py +16 -0
  285. holado_keycloak/tests/behave/steps/__init__.py +16 -0
  286. holado_keycloak/tests/behave/steps/tools/keycloak_client_steps.py +73 -0
  287. holado_keycloak/tools/keycloak/__init__.py +0 -0
  288. holado_keycloak/tools/keycloak/keycloak_client.py +90 -0
  289. holado_logging/__init__.py +38 -0
  290. holado_logging/common/logging/holado_logger.py +71 -0
  291. holado_logging/common/logging/log_config.py +163 -0
  292. holado_logging/common/logging/log_manager.py +335 -0
  293. holado_multitask/__init__.py +33 -0
  294. holado_multitask/multiprocessing/context/process_context.py +35 -0
  295. holado_multitask/multiprocessing/function_process.py +102 -0
  296. holado_multitask/multiprocessing/periodic_function_process.py +137 -0
  297. holado_multitask/multiprocessing/process.py +213 -0
  298. holado_multitask/multiprocessing/processesmanager.py +137 -0
  299. holado_multitask/multitasking/multitask_manager.py +464 -0
  300. holado_multitask/multithreading/__init__.py +0 -0
  301. holado_multitask/multithreading/context/thread_context.py +86 -0
  302. holado_multitask/multithreading/functionthreaded.py +129 -0
  303. holado_multitask/multithreading/loopfunctionthreaded.py +45 -0
  304. holado_multitask/multithreading/loopthread.py +110 -0
  305. holado_multitask/multithreading/periodicfunctionthreaded.py +135 -0
  306. holado_multitask/multithreading/reflection/inspect.py +47 -0
  307. holado_multitask/multithreading/reflection/sys.py +29 -0
  308. holado_multitask/multithreading/reflection/traceback.py +35 -0
  309. holado_multitask/multithreading/thread.py +203 -0
  310. holado_multitask/multithreading/threadsmanager.py +167 -0
  311. holado_multitask/multithreading/timer.py +51 -0
  312. holado_multitask/tests/behave/steps/__init__.py +17 -0
  313. holado_multitask/tests/behave/steps/multiprocessing_steps.py +138 -0
  314. holado_multitask/tests/behave/steps/multithreading_steps.py +129 -0
  315. holado_protobuf/__init__.py +61 -0
  316. holado_protobuf/ipc/protobuf/__init__.py +0 -0
  317. holado_protobuf/ipc/protobuf/abstracts/type.py +45 -0
  318. holado_protobuf/ipc/protobuf/protobuf_compiler.py +118 -0
  319. holado_protobuf/ipc/protobuf/protobuf_converter.py +153 -0
  320. holado_protobuf/ipc/protobuf/protobuf_messages.py +968 -0
  321. holado_protobuf/ipc/protobuf/protobuf_modifier.py +65 -0
  322. holado_protobuf/ipc/protobuf/types/__init__.py +0 -0
  323. holado_protobuf/ipc/protobuf/types/google/__init__.py +0 -0
  324. holado_protobuf/ipc/protobuf/types/google/protobuf.py +124 -0
  325. holado_protobuf/tests/behave/steps/__init__.py +16 -0
  326. holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py +297 -0
  327. holado_python/__init__.py +36 -0
  328. holado_python/common/enums.py +34 -0
  329. holado_python/common/iterables.py +38 -0
  330. holado_python/common/tools/comparators/boolean_comparator.py +37 -0
  331. holado_python/common/tools/comparators/bytes_comparator.py +48 -0
  332. holado_python/common/tools/comparators/datetime_comparator.py +74 -0
  333. holado_python/common/tools/comparators/float_comparator.py +97 -0
  334. holado_python/common/tools/comparators/integer_comparator.py +37 -0
  335. holado_python/common/tools/comparators/string_comparator.py +99 -0
  336. holado_python/common/tools/comparators/type_comparator.py +31 -0
  337. holado_python/common/tools/datetime.py +341 -0
  338. holado_python/standard_library/csv.py +207 -0
  339. holado_python/standard_library/hashlib.py +110 -0
  340. holado_python/standard_library/multiprocessing.py +62 -0
  341. holado_python/standard_library/queue.py +79 -0
  342. holado_python/standard_library/socket/blocking_socket.py +219 -0
  343. holado_python/standard_library/socket/echo_server.py +29 -0
  344. holado_python/standard_library/socket/message_socket.py +152 -0
  345. holado_python/standard_library/socket/non_blocking_socket.py +172 -0
  346. holado_python/standard_library/socket/socket.py +411 -0
  347. holado_python/standard_library/ssl/resources/certificates/NOTES.txt +5 -0
  348. holado_python/standard_library/ssl/resources/certificates/localhost.crt +19 -0
  349. holado_python/standard_library/ssl/resources/certificates/localhost.key +28 -0
  350. holado_python/standard_library/ssl/ssl.py +131 -0
  351. holado_python/standard_library/typing.py +192 -0
  352. holado_python/tests/behave/steps/__init__.py +27 -0
  353. holado_python/tests/behave/steps/builtins/str_steps.py +45 -0
  354. holado_python/tests/behave/steps/convert_steps.py +59 -0
  355. holado_python/tests/behave/steps/iterable_steps.py +87 -0
  356. holado_python/tests/behave/steps/standard_library/csv_steps.py +134 -0
  357. holado_python/tests/behave/steps/standard_library/datetime_steps.py +163 -0
  358. holado_python/tests/behave/steps/standard_library/hashlib_steps.py +57 -0
  359. holado_python/tests/behave/steps/standard_library/multiprocessing_steps.py +56 -0
  360. holado_python/tests/behave/steps/standard_library/queue_steps.py +358 -0
  361. holado_python/tests/behave/steps/standard_library/socket_steps.py +384 -0
  362. holado_python/tests/behave/steps/standard_library/ssl_steps.py +71 -0
  363. holado_rabbitmq/__init__.py +28 -0
  364. holado_rabbitmq/tests/behave/steps/__init__.py +17 -0
  365. holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py +565 -0
  366. holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py +64 -0
  367. holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py +333 -0
  368. holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py +678 -0
  369. holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py +146 -0
  370. holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py +428 -0
  371. holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py +24 -0
  372. holado_redis/__init__.py +17 -0
  373. holado_redis/tests/behave/steps/__init__.py +16 -0
  374. holado_redis/tests/behave/steps/tools/redis_client_steps.py +101 -0
  375. holado_redis/tools/redis/TODO.txt +7 -0
  376. holado_redis/tools/redis/redis_client.py +190 -0
  377. holado_redis/tools/redis/redis_manager.py +38 -0
  378. holado_report/__init__.py +36 -0
  379. holado_report/campaign/campaign_manager.py +348 -0
  380. holado_report/report/analyze/execution_historic_manager.py +96 -0
  381. holado_report/report/analyze/scenario_duration_manager.py +245 -0
  382. holado_report/report/builders/detailed_scenario_report_builder.py +172 -0
  383. holado_report/report/builders/execution_historic_report_builder.py +132 -0
  384. holado_report/report/builders/failure_report_builder.py +150 -0
  385. holado_report/report/builders/report_builder.py +64 -0
  386. holado_report/report/builders/short_scenario_report_builder.py +94 -0
  387. holado_report/report/builders/summary_by_category_report_builder.py +103 -0
  388. holado_report/report/builders/summary_report_builder.py +110 -0
  389. holado_report/report/builders/summary_scenario_by_category_report_builder.py +109 -0
  390. holado_report/report/builders/summary_scenario_report_builder.py +81 -0
  391. holado_report/report/execution_historic.py +144 -0
  392. holado_report/report/report_manager.py +424 -0
  393. holado_report/report/reports/base_report.py +163 -0
  394. holado_report/report/reports/feature_report.py +106 -0
  395. holado_report/report/reports/scenario_report.py +64 -0
  396. holado_rest/__init__.py +32 -0
  397. holado_rest/api/rest/TODO.txt +2 -0
  398. holado_rest/api/rest/rest_client.py +200 -0
  399. holado_rest/api/rest/rest_manager.py +72 -0
  400. holado_rest/tests/behave/steps/__init__.py +16 -0
  401. holado_rest/tests/behave/steps/api/__init__.py +0 -0
  402. holado_rest/tests/behave/steps/api/rest_client_steps.py +181 -0
  403. holado_rest/tests/behave/steps/private/__init__.py +16 -0
  404. holado_rest/tests/behave/steps/private/api/__init__.py +0 -0
  405. holado_rest/tests/behave/steps/private/api/rest_steps.py +75 -0
  406. holado_s3/__init__.py +17 -0
  407. holado_s3/tests/behave/steps/__init__.py +17 -0
  408. holado_s3/tests/behave/steps/private/__init__.py +16 -0
  409. holado_s3/tests/behave/steps/private/tools/s3_steps.py +89 -0
  410. holado_s3/tests/behave/steps/tools/s3_client_steps.py +403 -0
  411. holado_s3/tests/behave/steps/tools/s3_server_steps.py +57 -0
  412. holado_s3/tools/s3/__init__.py +0 -0
  413. holado_s3/tools/s3/boto3_s3_client.py +59 -0
  414. holado_s3/tools/s3/minio_client.py +75 -0
  415. holado_s3/tools/s3/moto_server.py +52 -0
  416. holado_scripting/__init__.py +54 -0
  417. holado_scripting/common/tools/dynamic_text_manager.py +73 -0
  418. holado_scripting/common/tools/evaluate_parameters.py +228 -0
  419. holado_scripting/common/tools/expression_evaluator.py +389 -0
  420. holado_scripting/common/tools/variable_manager.py +354 -0
  421. holado_scripting/tests/behave/steps/__init__.py +22 -0
  422. holado_scripting/tests/behave/steps/common/tools/variable_convert_steps.py +159 -0
  423. holado_scripting/tests/behave/steps/common/tools/variable_new_steps.py +130 -0
  424. holado_scripting/tests/behave/steps/common/tools/variable_steps.py +108 -0
  425. holado_scripting/tests/behave/steps/common/tools/variable_verify_steps.py +160 -0
  426. holado_scripting/tests/behave/steps/scenario/function_steps.py +77 -0
  427. holado_scripting/tests/behave/steps/scenario/if_steps.py +87 -0
  428. holado_scripting/tests/behave/steps/scenario/loop_steps.py +119 -0
  429. holado_scripting/text/base/base_function.py +25 -0
  430. holado_scripting/text/base/base_verify_function.py +25 -0
  431. holado_scripting/text/base/text_inspecter.py +204 -0
  432. holado_scripting/text/interpreter/exceptions/interpreter_exception.py +25 -0
  433. holado_scripting/text/interpreter/functions/function_apply_function.py +60 -0
  434. holado_scripting/text/interpreter/functions/function_cast.py +60 -0
  435. holado_scripting/text/interpreter/functions/function_convert.py +57 -0
  436. holado_scripting/text/interpreter/functions/function_dynamic_value.py +40 -0
  437. holado_scripting/text/interpreter/functions/function_escape_all_bytes.py +35 -0
  438. holado_scripting/text/interpreter/functions/function_exists_variable.py +39 -0
  439. holado_scripting/text/interpreter/functions/function_hex_to_bytes.py +49 -0
  440. holado_scripting/text/interpreter/functions/function_hex_to_int.py +53 -0
  441. holado_scripting/text/interpreter/functions/function_to_base_64.py +41 -0
  442. holado_scripting/text/interpreter/functions/function_to_bytes.py +50 -0
  443. holado_scripting/text/interpreter/functions/function_to_hex.py +42 -0
  444. holado_scripting/text/interpreter/functions/function_to_string.py +50 -0
  445. holado_scripting/text/interpreter/text_interpreter.py +219 -0
  446. holado_scripting/text/verifier/exceptions/verifier_exception.py +21 -0
  447. holado_scripting/text/verifier/functions/verify_function_extract_in.py +35 -0
  448. holado_scripting/text/verifier/functions/verify_function_match_pattern.py +63 -0
  449. holado_scripting/text/verifier/text_verifier.py +103 -0
  450. holado_sftp/__init__.py +16 -0
  451. holado_sftp/tests/behave/steps/__init__.py +17 -0
  452. holado_sftp/tests/behave/steps/private/__init__.py +16 -0
  453. holado_sftp/tests/behave/steps/private/tools/sftp_steps.py +78 -0
  454. holado_sftp/tests/behave/steps/tools/sftp_client_steps.py +94 -0
  455. holado_sftp/tests/behave/steps/tools/sftp_server_steps.py +82 -0
  456. holado_sftp/tools/sftp/__init__.py +0 -0
  457. holado_sftp/tools/sftp/sftp_client.py +103 -0
  458. holado_sftp/tools/sftp/sftp_server.py +39 -0
  459. holado_swagger/__init__.py +31 -0
  460. holado_swagger/swagger_hub/mockserver/mockserver_client.py +82 -0
  461. holado_swagger/swagger_hub/mockserver/mockserver_manager.py +33 -0
  462. holado_swagger/tests/behave/steps/__init__.py +16 -0
  463. holado_swagger/tests/behave/steps/swagger_hub/mockserver_steps.py +74 -0
  464. holado_system/system/command/command.py +247 -0
  465. holado_system/system/command/command_result.py +128 -0
  466. holado_system/system/command/curl_command.py +101 -0
  467. holado_system/system/command/exceptions.py +59 -0
  468. holado_system/system/filesystem/file.py +150 -0
  469. holado_system/system/global_system.py +187 -0
  470. holado_system/tests/behave/steps/__init__.py +18 -0
  471. holado_system/tests/behave/steps/system/commands_steps.py +92 -0
  472. holado_system/tests/behave/steps/system/file_steps.py +231 -0
  473. holado_system/tests/behave/steps/system/system_steps.py +84 -0
  474. holado_test/__init__.py +30 -0
  475. holado_test/behave/__init__.py +0 -0
  476. holado_test/behave/behave.py +400 -0
  477. holado_test/behave/behave_environment.py +169 -0
  478. holado_test/behave/behave_function.py +33 -0
  479. holado_test/behave/behave_manager.py +558 -0
  480. holado_test/behave/independant_runner.py +66 -0
  481. holado_test/behave/scenario/__init__.py +0 -0
  482. holado_test/behave/scenario/behave_step_tools.py +157 -0
  483. holado_test/common/context/feature_context.py +81 -0
  484. holado_test/common/context/scenario_context.py +169 -0
  485. holado_test/common/context/step_context.py +66 -0
  486. holado_test/common/exceptions/undefined_step_exception.py +21 -0
  487. holado_test/scenario/step_tools.py +547 -0
  488. holado_test/scenario/tester_tools.py +57 -0
  489. holado_test/test_config.py +26 -0
  490. holado_test/tests/behave/steps/__init__.py +18 -0
  491. holado_test/tests/behave/steps/scenario/exception_steps.py +87 -0
  492. holado_test/tests/behave/steps/scenario/scenario_steps.py +100 -0
  493. holado_test/tests/behave/steps/scenario/tester_steps.py +65 -0
  494. holado_test/tools/test_server/client/rest/test_server_client.py +150 -0
  495. holado_test/tools/test_server/server/Dockerfile +60 -0
  496. holado_test/tools/test_server/server/core/server_context.py +42 -0
  497. holado_test/tools/test_server/server/core/server_manager.py +41 -0
  498. holado_test/tools/test_server/server/requirements.txt +2 -0
  499. holado_test/tools/test_server/server/rest/README +2 -0
  500. holado_test/tools/test_server/server/rest/api/__init__.py +24 -0
  501. holado_test/tools/test_server/server/rest/api/campaign/__init__.py +32 -0
  502. holado_test/tools/test_server/server/rest/api/campaign/scenario.py +40 -0
  503. holado_test/tools/test_server/server/rest/initialize_holado.py +72 -0
  504. holado_test/tools/test_server/server/rest/logging.conf +51 -0
  505. holado_test/tools/test_server/server/rest/openapi.yaml +57 -0
  506. holado_test/tools/test_server/server/rest/run.py +41 -0
  507. holado_test/tools/test_server/server/run.sh +6 -0
  508. holado_test/tools/test_server/server/run_test_server_in_docker.sh +104 -0
  509. holado_tools/__init__.py +38 -0
  510. holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_processes.py +36 -0
  511. holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_processes.sh +6 -0
  512. holado_tools/scripts/execute_persisted_post_processes/initialize_holado.py +62 -0
  513. holado_tools/tests/behave/steps/__init__.py +16 -0
  514. holado_tools/tests/behave/steps/tools/host_controller/client_steps.py +97 -0
  515. holado_tools/tools/host_controller/client/rest/host_controller_client.py +275 -0
  516. holado_tools/tools/host_controller/server/Dockerfile +60 -0
  517. holado_tools/tools/host_controller/server/requirements.txt +2 -0
  518. holado_tools/tools/host_controller/server/rest/README +2 -0
  519. holado_tools/tools/host_controller/server/rest/api/__init__.py +24 -0
  520. holado_tools/tools/host_controller/server/rest/api/config.py +88 -0
  521. holado_tools/tools/host_controller/server/rest/api/docker/__init__.py +66 -0
  522. holado_tools/tools/host_controller/server/rest/api/docker/container.py +144 -0
  523. holado_tools/tools/host_controller/server/rest/api/docker/logs.py +66 -0
  524. holado_tools/tools/host_controller/server/rest/api/os.py +58 -0
  525. holado_tools/tools/host_controller/server/rest/initialize_holado.py +72 -0
  526. holado_tools/tools/host_controller/server/rest/openapi.yaml +561 -0
  527. holado_tools/tools/host_controller/server/rest/run.py +31 -0
  528. holado_tools/tools/host_controller/server/run_host_controller_in_docker.sh +107 -0
  529. holado_tools/tools/host_viewer/client/rest/host_viewer_client.py +190 -0
  530. holado_tools/tools/host_viewer/server/Dockerfile +60 -0
  531. holado_tools/tools/host_viewer/server/requirements.txt +2 -0
  532. holado_tools/tools/host_viewer/server/rest/README +2 -0
  533. holado_tools/tools/host_viewer/server/rest/api/__init__.py +24 -0
  534. holado_tools/tools/host_viewer/server/rest/api/docker/__init__.py +65 -0
  535. holado_tools/tools/host_viewer/server/rest/api/docker/container.py +87 -0
  536. holado_tools/tools/host_viewer/server/rest/api/os.py +58 -0
  537. holado_tools/tools/host_viewer/server/rest/initialize_holado.py +72 -0
  538. holado_tools/tools/host_viewer/server/rest/openapi.yaml +301 -0
  539. holado_tools/tools/host_viewer/server/rest/run.py +31 -0
  540. holado_tools/tools/host_viewer/server/run_host_viewer_in_docker.sh +107 -0
  541. holado_value/__init__.py +24 -0
  542. holado_value/common/tables/comparators/table_2_value_table_cell_comparator.py +196 -0
  543. holado_value/common/tables/comparators/table_2_value_table_comparator.py +27 -0
  544. holado_value/common/tables/comparators/table_2_value_table_row_comparator.py +27 -0
  545. holado_value/common/tables/comparators/table_2_value_table_with_header_comparator.py +27 -0
  546. holado_value/common/tables/converters/value_table_converter.py +267 -0
  547. holado_value/common/tables/value_table.py +29 -0
  548. holado_value/common/tables/value_table_cell.py +76 -0
  549. holado_value/common/tables/value_table_manager.py +48 -0
  550. holado_value/common/tables/value_table_row.py +43 -0
  551. holado_value/common/tables/value_table_with_header.py +28 -0
  552. holado_value/common/tools/unique_value_manager.py +109 -0
  553. holado_value/common/tools/value.py +191 -0
  554. holado_value/common/tools/value_types.py +41 -0
  555. holado_value/tests/behave/steps/__init__.py +16 -0
  556. holado_value/tests/behave/steps/private/__init__.py +16 -0
  557. holado_ws/__init__.py +16 -0
  558. holado_ws/api/ws/TODO.txt +2 -0
  559. holado_ws/tests/behave/steps/__init__.py +16 -0
  560. holado_ws/tests/behave/steps/api/web_service_steps.py +189 -0
  561. holado_xml/__init__.py +38 -0
  562. holado_xml/tests/behave/steps/__init__.py +16 -0
  563. holado_xml/tests/behave/steps/private/__init__.py +16 -0
  564. holado_xml/xml/stream_xml_file.py +181 -0
  565. holado_xml/xml/xml_file.py +97 -0
  566. holado_xml/xml/xml_manager.py +35 -0
  567. holado_yaml/__init__.py +31 -0
  568. holado_yaml/tests/behave/steps/__init__.py +16 -0
  569. holado_yaml/tests/behave/steps/yaml_steps.py +161 -0
  570. holado_yaml/yaml/enums.py +28 -0
  571. holado_yaml/yaml/pyyaml/pyyaml_client.py +72 -0
  572. holado_yaml/yaml/ruamel/ruamel_yaml_client.py +80 -0
  573. holado_yaml/yaml/yaml_client.py +203 -0
  574. holado_yaml/yaml/yaml_manager.py +94 -0
  575. test_holado/Dockerfile_test_holado +82 -0
  576. test_holado/__init__.py +4 -0
  577. test_holado/__main__.py +25 -0
  578. test_holado/build_docker_image_to_test_holado_in_docker.sh +7 -0
  579. test_holado/environment.py +60 -0
  580. test_holado/features/Configuration/Actions/execute_persisted_post_processes.feature +13 -0
  581. test_holado/features/NonReg/api/REST.feature +26 -0
  582. test_holado/features/NonReg/api/gRPC.feature +116 -0
  583. test_holado/features/NonReg/common/multiprocessing/simple.feature +60 -0
  584. test_holado/features/NonReg/common/system/commands.feature +43 -0
  585. test_holado/features/NonReg/common/system/system.feature +20 -0
  586. test_holado/features/NonReg/common/tables/table.feature +245 -0
  587. test_holado/features/NonReg/common/tables/value_table_conversion.feature +29 -0
  588. test_holado/features/NonReg/common/tools/DateTime.feature +88 -0
  589. test_holado/features/NonReg/common/tools/UniqueValueManager.feature +43 -0
  590. test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature +135 -0
  591. test_holado/features/NonReg/holado_ais/ais_message-nmea_raw_to_dict.feature +93 -0
  592. test_holado/features/NonReg/holado_ais/message_types/type-10.feature +38 -0
  593. test_holado/features/NonReg/holado_ais/message_types/type-12.feature +37 -0
  594. test_holado/features/NonReg/holado_ais/message_types/type-14.feature +36 -0
  595. test_holado/features/NonReg/holado_ais/message_types/type-15.feature +36 -0
  596. test_holado/features/NonReg/holado_ais/message_types/type-16.feature +38 -0
  597. test_holado/features/NonReg/holado_ais/message_types/type-17.feature +46 -0
  598. test_holado/features/NonReg/holado_ais/message_types/type-18.feature +37 -0
  599. test_holado/features/NonReg/holado_ais/message_types/type-19.feature +38 -0
  600. test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature +42 -0
  601. test_holado/features/NonReg/holado_ais/message_types/type-20.feature +38 -0
  602. test_holado/features/NonReg/holado_ais/message_types/type-21.feature +37 -0
  603. test_holado/features/NonReg/holado_ais/message_types/type-22.feature +84 -0
  604. test_holado/features/NonReg/holado_ais/message_types/type-23.feature +49 -0
  605. test_holado/features/NonReg/holado_ais/message_types/type-24.feature +72 -0
  606. test_holado/features/NonReg/holado_ais/message_types/type-25.feature +143 -0
  607. test_holado/features/NonReg/holado_ais/message_types/type-26.feature +144 -0
  608. test_holado/features/NonReg/holado_ais/message_types/type-27.feature +36 -0
  609. test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature +39 -0
  610. test_holado/features/NonReg/holado_ais/message_types/type-5.feature +33 -0
  611. test_holado/features/NonReg/holado_ais/message_types/type-6.feature +37 -0
  612. test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature +43 -0
  613. test_holado/features/NonReg/holado_ais/message_types/type-8.feature +37 -0
  614. test_holado/features/NonReg/holado_ais/message_types/type-9.feature +37 -0
  615. test_holado/features/NonReg/holado_binary/bit_series.error.feature +33 -0
  616. test_holado/features/NonReg/holado_binary/bit_series.feature +144 -0
  617. test_holado/features/NonReg/holado_protobuf/protobuf.feature +291 -0
  618. test_holado/features/NonReg/holado_python/convert.feature +20 -0
  619. test_holado/features/NonReg/holado_python/iterable.feature +61 -0
  620. test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_reset.feature +191 -0
  621. test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_and_verify.feature +279 -0
  622. test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_without_verify.feature +299 -0
  623. test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_without_tls.feature +163 -0
  624. test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_mtls.feature +214 -0
  625. test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_tls.feature +184 -0
  626. test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_without_tls.feature +169 -0
  627. test_holado/features/NonReg/holado_scripting/common/tools/dynamic_text_manager.feature +18 -0
  628. test_holado/features/NonReg/holado_scripting/common/tools/expression_evaluator.feature +185 -0
  629. test_holado/features/NonReg/holado_scripting/common/tools/variable_manager.feature +71 -0
  630. test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.error.feature +21 -0
  631. test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.feature +120 -0
  632. test_holado/features/NonReg/holado_yaml/yaml.feature +514 -0
  633. test_holado/features/NonReg/ipc/json.feature +20 -0
  634. test_holado/features/NonReg/scenario/scenario.feature +183 -0
  635. test_holado/features/NonReg/test_steps/behave.feature +275 -0
  636. test_holado/features/NonReg/test_steps/common.feature +100 -0
  637. test_holado/features/NonReg/tools/RabbitMQ.feature +445 -0
  638. test_holado/features/NonReg/tools/RabbitMQ_steps.feature +276 -0
  639. test_holado/features/NonReg/tools/S3/boto3_client.feature +73 -0
  640. test_holado/features/NonReg/tools/S3/minio_client.feature +75 -0
  641. test_holado/features/NonReg/tools/db_sqlite3.feature +41 -0
  642. test_holado/features/NonReg/tools/sFTP.feature +25 -0
  643. test_holado/features/Test/logger.feature +28 -0
  644. test_holado/features/Test/test_host_controller.feature +13 -0
  645. test_holado/features/Test/test_parameter.feature +15 -0
  646. test_holado/features/__init__.py +0 -0
  647. test_holado/initialize_holado.py +62 -0
  648. test_holado/logging.conf +53 -0
  649. test_holado/resources/proto/definitions/protobuf/custom_types/field_types.proto +24 -0
  650. test_holado/resources/proto/definitions/protobuf/protobuf.dev/tutorial/addressbook.proto +56 -0
  651. test_holado/resources/proto/generated/protobuf/custom_types/field_types_pb2.py +34 -0
  652. test_holado/resources/proto/generated/protobuf/protobuf/dev/tutorial/addressbook_pb2.py +34 -0
  653. test_holado/resources/scripts/list_tags.sh +2 -0
  654. test_holado/resources/scripts/update_resources_proto_generated.py +70 -0
  655. test_holado/steps/__init__.py +0 -0
  656. test_holado/steps/private_steps.py +20 -0
  657. test_holado/steps/public_steps.py +23 -0
  658. test_holado/test_holado_session_context.py +43 -0
  659. test_holado/tools/connexion/api_rest/openapi.yaml +16 -0
  660. test_holado/tools/connexion/api_rest/run.py +19 -0
  661. test_holado/tools/django/README.txt +3 -0
  662. test_holado/tools/django/api_grpc/api_grpc/__init__.py +0 -0
  663. test_holado/tools/django/api_grpc/api_grpc/api1/__init__.py +0 -0
  664. test_holado/tools/django/api_grpc/api_grpc/api1/admin.py +3 -0
  665. test_holado/tools/django/api_grpc/api_grpc/api1/apps.py +6 -0
  666. test_holado/tools/django/api_grpc/api_grpc/api1/migrations/__init__.py +0 -0
  667. test_holado/tools/django/api_grpc/api_grpc/api1/models.py +3 -0
  668. test_holado/tools/django/api_grpc/api_grpc/api1/proto/__init__.py +0 -0
  669. test_holado/tools/django/api_grpc/api_grpc/api1/proto/account.proto +27 -0
  670. test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2.py +33 -0
  671. test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2_grpc.py +199 -0
  672. test_holado/tools/django/api_grpc/api_grpc/api1/serializers.py +12 -0
  673. test_holado/tools/django/api_grpc/api_grpc/api1/services.py +11 -0
  674. test_holado/tools/django/api_grpc/api_grpc/api1/tests.py +3 -0
  675. test_holado/tools/django/api_grpc/api_grpc/api1/views.py +3 -0
  676. test_holado/tools/django/api_grpc/api_grpc/asgi.py +16 -0
  677. test_holado/tools/django/api_grpc/api_grpc/settings.py +126 -0
  678. test_holado/tools/django/api_grpc/api_grpc/urls.py +27 -0
  679. test_holado/tools/django/api_grpc/api_grpc/wsgi.py +16 -0
  680. test_holado/tools/django/api_grpc/db.sqlite3 +0 -0
  681. test_holado/tools/django/api_grpc/manage.py +29 -0
  682. test_holado/tools/django/api_grpc/manual_test_commands.txt +25 -0
  683. test_holado/tools/django/api_grpc/patch_djangogrpcframework.py +42 -0
  684. test_holado/tools/django/api_rest/api_rest/__init__.py +0 -0
  685. test_holado/tools/django/api_rest/api_rest/api1/__init__.py +0 -0
  686. test_holado/tools/django/api_rest/api_rest/api1/admin.py +3 -0
  687. test_holado/tools/django/api_rest/api_rest/api1/apps.py +6 -0
  688. test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py +0 -0
  689. test_holado/tools/django/api_rest/api_rest/api1/models.py +3 -0
  690. test_holado/tools/django/api_rest/api_rest/api1/serializers.py +15 -0
  691. test_holado/tools/django/api_rest/api_rest/api1/tests.py +3 -0
  692. test_holado/tools/django/api_rest/api_rest/api1/views.py +24 -0
  693. test_holado/tools/django/api_rest/api_rest/asgi.py +16 -0
  694. test_holado/tools/django/api_rest/api_rest/settings.py +133 -0
  695. test_holado/tools/django/api_rest/api_rest/urls.py +32 -0
  696. test_holado/tools/django/api_rest/api_rest/wsgi.py +16 -0
  697. test_holado/tools/django/api_rest/db.sqlite3 +0 -0
  698. test_holado/tools/django/api_rest/manage.py +22 -0
@@ -0,0 +1,116 @@
1
+ @testing_solution
2
+ @grpc
3
+ Feature: Test gRPC module
4
+
5
+ @go_nogo
6
+ Scenario: Simple request
7
+
8
+ ### PRECONDITIONS - BEGIN
9
+ Given begin preconditions
10
+
11
+ Given SERVER = start internal gRPC server
12
+ Given CLIENT = new internal gRPC client on service 'account.UserController'
13
+
14
+ Given end preconditions
15
+ ### PRECONDITIONS - END
16
+
17
+ Given SERVICE_NAMES = service names (gRPC client: CLIENT)
18
+ Then SERVICE_NAMES is list
19
+ | 'account.UserController' |
20
+
21
+ When RESULT = request 'account.UserController.List' (gRPC client: CLIENT)
22
+
23
+ When TABLE = convert json RESULT to table with names as columns recursively
24
+ Then table TABLE is
25
+ | email | groups | id | username |
26
+ | 'auto@test.com' | [] | N/A | 'test_user' |
27
+
28
+
29
+ Scenario: Request with parameters
30
+ ### PRECONDITIONS - BEGIN
31
+ Given begin preconditions
32
+
33
+ Given SERVER = start internal gRPC server
34
+ Given CLIENT = new internal gRPC client on service 'account.UserController'
35
+
36
+ Given end preconditions
37
+ ### PRECONDITIONS - END
38
+
39
+ # Extract a user
40
+ When RESULT = request 'account.UserController.List' (gRPC client: CLIENT)
41
+ Given USER_JSON = RESULT[0]
42
+
43
+ When RESULT = request 'account.UserController.List' (gRPC client: CLIENT ; with Protobuf response)
44
+ Given USER_PROTO = RESULT[0]
45
+
46
+ # Retrieve user with json request & response
47
+ When RESULT = request 'account.UserController.Retrieve' (gRPC client: CLIENT)
48
+ | Name | Value |
49
+ | 'id' | USER_PROTO.id |
50
+ Then RESULT == USER_JSON
51
+
52
+ # Retrieve user with json request & proto response
53
+ When RESULT = request 'account.UserController.Retrieve' (gRPC client: CLIENT ; with Protobuf response)
54
+ | Name | Value |
55
+ | 'id' | USER_PROTO.id |
56
+ Then RESULT == USER_PROTO
57
+
58
+ # Retrieve user with proto request & json response
59
+ When RESULT = request 'account.UserController.Retrieve' (gRPC client: CLIENT ; with Protobuf request)
60
+ | Name | Value |
61
+ | 'id' | USER_PROTO.id |
62
+ Then RESULT == USER_JSON
63
+
64
+ # Retrieve user with proto request & proto response
65
+ When RESULT = request 'account.UserController.Retrieve' (gRPC client: CLIENT ; with Protobuf request & response)
66
+ | Name | Value |
67
+ | 'id' | USER_PROTO.id |
68
+ Then RESULT == USER_PROTO
69
+
70
+
71
+
72
+ Scenario: Request with request data build before request
73
+ ### PRECONDITIONS - BEGIN
74
+ Given begin preconditions
75
+
76
+ Given SERVER = start internal gRPC server
77
+ Given CLIENT = new internal gRPC client on service 'account.UserController'
78
+
79
+ Given end preconditions
80
+ ### PRECONDITIONS - END
81
+
82
+ # Extract a user
83
+ When RESULT = request 'account.UserController.List' (gRPC client: CLIENT)
84
+ Given USER_JSON = RESULT[0]
85
+
86
+ When RESULT = request 'account.UserController.List' (gRPC client: CLIENT ; with Protobuf response)
87
+ Given USER_PROTO = RESULT[0]
88
+
89
+ # Retrieve user with json request & response
90
+ When DATA = data for request 'account.UserController.Retrieve' (gRPC client: CLIENT)
91
+ | Name | Value |
92
+ | 'id' | USER_PROTO.id |
93
+ When RESULT = request 'account.UserController.Retrieve' with data DATA (gRPC client: CLIENT)
94
+ Then RESULT == USER_JSON
95
+
96
+ # Retrieve user with json request & proto response
97
+ When DATA = data for request 'account.UserController.Retrieve' (gRPC client: CLIENT)
98
+ | Name | Value |
99
+ | 'id' | USER_PROTO.id |
100
+ When RESULT = request 'account.UserController.Retrieve' with data DATA (gRPC client: CLIENT ; with Protobuf response)
101
+ Then RESULT == USER_PROTO
102
+
103
+ # Retrieve user with proto request & json response
104
+ When DATA = data for request 'account.UserController.Retrieve' (gRPC client: CLIENT ; as Protobuf)
105
+ | Name | Value |
106
+ | 'id' | USER_PROTO.id |
107
+ When RESULT = request 'account.UserController.Retrieve' with data DATA (gRPC client: CLIENT)
108
+ Then RESULT == USER_JSON
109
+
110
+ # Retrieve user with proto request & proto response
111
+ When DATA = data for request 'account.UserController.Retrieve' (gRPC client: CLIENT ; as Protobuf)
112
+ | Name | Value |
113
+ | 'id' | USER_PROTO.id |
114
+ When RESULT = request 'account.UserController.Retrieve' with data DATA (gRPC client: CLIENT ; with Protobuf response)
115
+ Then RESULT == USER_PROTO
116
+
@@ -0,0 +1,60 @@
1
+ @testing_solution
2
+ @multiprocessing
3
+ Feature: Basic features related to multiprocessing
4
+
5
+ Scenario: execute simple steps
6
+ Given BEG = datetime now
7
+ Given EXPECTED_MIN = BEG + 3 seconds
8
+ Given EXPECTED_MAX = EXPECTED_MIN + 400 milliseconds
9
+
10
+ Given PROC_ID_1 = call steps in a process
11
+ """
12
+ Given wait 2 seconds
13
+ """
14
+ Given PROC_ID_2 = call steps in a process
15
+ """
16
+ Given wait 3 seconds
17
+ """
18
+ Given PROC_ID_3 = call steps in a process
19
+ """
20
+ Given wait 1 seconds
21
+ """
22
+ When join process PROC_ID_1
23
+ When join process PROC_ID_2
24
+ When join process PROC_ID_3
25
+
26
+ Given END = datetime now
27
+ Then END >= EXPECTED_MIN
28
+ Then END < EXPECTED_MAX
29
+
30
+ Scenario: execute steps reading variables
31
+ Given SLEEP_1_S = 1
32
+ Given SLEEP_2_S = 2
33
+ Given SLEEP_3_S = 3
34
+
35
+ Given BEG = datetime now
36
+ Given EXPECTED_MIN = BEG + 3 seconds
37
+ Given EXPECTED_MAX = EXPECTED_MIN + 250 milliseconds
38
+
39
+ Given PROC_ID_1 = call steps in a process
40
+ """
41
+ Given wait SLEEP_2_S seconds
42
+ """
43
+ Given PROC_ID_2 = call steps in a process
44
+ """
45
+ Given wait SLEEP_3_S seconds
46
+ """
47
+ Given PROC_ID_3 = call steps in a process
48
+ """
49
+ Given wait SLEEP_1_S seconds
50
+ """
51
+ When join process PROC_ID_1
52
+ When join process PROC_ID_2
53
+ When join process PROC_ID_3
54
+
55
+ Given END = datetime now
56
+ Then END >= EXPECTED_MIN
57
+ Then END < EXPECTED_MAX
58
+
59
+
60
+
@@ -0,0 +1,43 @@
1
+ @testing_solution
2
+ @commands
3
+ Feature: Features realted to commands
4
+
5
+ Scenario: Simple command
6
+
7
+ Given VAR = new command 'pwd'
8
+ Then command VAR has status Ready
9
+
10
+ Given run command VAR
11
+ Then wait until command VAR has status Success (accepted time: 5 s ; timeout: 10 s)
12
+
13
+ Scenario: Simple command with arguments
14
+
15
+ Given VAR = new command 'pwd' with
16
+ | Name | Value |
17
+ | 'blocking' | False |
18
+ Then command VAR has status Ready
19
+
20
+ Given run command VAR
21
+ Then wait until command VAR has status Success (accepted time: 5 s ; timeout: 10 s)
22
+
23
+ Scenario: Simple python command
24
+
25
+ Given VAR = new command 'python3 -c "print('Hello')"' with
26
+ | Name | Value |
27
+ | 'blocking' | True |
28
+ | 'auto_stop' | True |
29
+ | 'name' | 'My command name' |
30
+ Then command VAR has status Ready
31
+
32
+ Given run command VAR
33
+ Then wait until command VAR has status Success (accepted time: 5 s ; timeout: 10 s)
34
+
35
+ Scenario: Failed command
36
+
37
+ Given VAR = new command 'xxxxxx'
38
+ Then command VAR has status Ready
39
+
40
+ Given run command VAR
41
+ Then wait until command VAR has status Error (accepted time: 5 s ; timeout: 10 s)
42
+
43
+
@@ -0,0 +1,20 @@
1
+ @testing_solution
2
+ @system
3
+ Feature: Features related to generic system actions
4
+
5
+ Scenario: Create file with content in context.text
6
+
7
+ Given DT_NOW = datetime now
8
+ Given DT_NOW_STR = convert datetime DT_NOW to string with format '%Y-%m-%dT%H-%M-%S-%f'
9
+ Given FILENAME = 'SC_KINEIS_OPS-ACK_${DT_NOW_STR}.xml'
10
+
11
+ Given TEXT = 'text'
12
+
13
+ Given FILE_PATH = create file with name FILENAME
14
+ """
15
+ <node>${TEXT}</node>
16
+ """
17
+
18
+ Given FILE_CONTENT = content of file FILE_PATH
19
+ Given FILE_CONTENT_STR = convert object value FILE_CONTENT to string
20
+ Then FILE_CONTENT_STR == '<node>text</node>'
@@ -0,0 +1,245 @@
1
+ @testing_solution
2
+ @table
3
+ Feature: Features related to tables
4
+
5
+ Scenario: Extract data from table
6
+ ### PRECONDITIONS - BEGIN
7
+ Given begin preconditions
8
+
9
+ Given INPUT_TABLE = convert json '{"test1" : 1, "test2":2.0, "test3": "test3", "test4" : null}' to name/value table with names uncollapsed
10
+
11
+ Given end preconditions
12
+ ### PRECONDITIONS - END
13
+
14
+ Then table INPUT_TABLE is
15
+ | Name | Value |
16
+ | 'test1' | 1 |
17
+ | 'test2' | 2.0 |
18
+ | 'test3' | 'test3' |
19
+ | 'test4' | None |
20
+
21
+ Given EXTRACTED = extract column 'Name' from table INPUT_TABLE
22
+ Then table EXTRACTED is
23
+ | Name |
24
+ | 'test1' |
25
+ | 'test2' |
26
+ | 'test3' |
27
+ | 'test4' |
28
+
29
+ Given EXTRACTED = extract column 'Value' cells from table INPUT_TABLE
30
+ Then table EXTRACTED is
31
+ | 1 |
32
+ | 2.0 |
33
+ | 'test3' |
34
+ | None |
35
+
36
+ Given EXTRACTED = extract column 'Value' cells from table INPUT_TABLE as row
37
+ Then table EXTRACTED is
38
+ | 1 | 2.0 | 'test3' | None |
39
+
40
+ Scenario: Empty table
41
+ ### PRECONDITIONS - BEGIN
42
+ Given begin preconditions
43
+
44
+ Given INPUT_TABLE = convert json '{}' to name/value table with names uncollapsed
45
+ Then table INPUT_TABLE is
46
+ | Name | Value |
47
+
48
+ Given end preconditions
49
+ ### PRECONDITIONS - END
50
+
51
+ Then table INPUT_TABLE is empty
52
+
53
+ Scenario: Table count
54
+ ### PRECONDITIONS - BEGIN
55
+ Given begin preconditions
56
+
57
+ Given INPUT_TABLE = convert json '{"test1" : 1, "test2":2.0, "test3": "test3", "test4" : null}' to name/value table with names uncollapsed
58
+
59
+ Then table INPUT_TABLE is
60
+ | Name | Value |
61
+ | 'test1' | 1 |
62
+ | 'test2' | 2.0 |
63
+ | 'test3' | 'test3' |
64
+ | 'test4' | None |
65
+
66
+ Given end preconditions
67
+ ### PRECONDITIONS - END
68
+
69
+ Given TABLE_COUNT = number of rows in table INPUT_TABLE
70
+ Then TABLE_COUNT == 4
71
+
72
+
73
+ Scenario: Table count empty
74
+ ### PRECONDITIONS - BEGIN
75
+ Given begin preconditions
76
+
77
+ Given INPUT_TABLE = convert json '{}' to name/value table with names uncollapsed
78
+
79
+ Given end preconditions
80
+ ### PRECONDITIONS - END
81
+
82
+ Given TABLE_COUNT = number of rows in table INPUT_TABLE
83
+ Then TABLE_COUNT == 0
84
+
85
+ @table_is
86
+ Scenario: Table verification and variables
87
+ ### PRECONDITIONS - BEGIN
88
+ Given begin preconditions
89
+
90
+ Given TABLE_1 = convert json '{"test1" : 1, "test2":2.0, "test3": "TEST3 value", "test4" : null}' to name/value table with names uncollapsed
91
+ Given TABLE_2 = convert json '{"TEST1" : 1, "TEST2":2.0, "TEST3": "TEST3 value", "TEST4" : null}' to table with names as columns
92
+
93
+ Given TEST3 = 'test3'
94
+ Given TEST3_VALUE = 'TEST3 value'
95
+
96
+ Given end preconditions
97
+ ### PRECONDITIONS - END
98
+
99
+ Then table TABLE_1 is
100
+ | Name | Value |
101
+ | 'test1' | 1 |
102
+ | 'test2' | 2.0 |
103
+ | ${TEST3} | ${TEST3_VALUE} |
104
+ | 'test4' | None |
105
+
106
+ Then table TABLE_2 is
107
+ | TEST1 | TEST2 | TEST3 | TEST4 |
108
+ | 1 | 2.0 | ${TEST3_VALUE} | None |
109
+
110
+
111
+ @table_without_rows
112
+ Scenario: Table without rows
113
+ ### PRECONDITIONS - BEGIN
114
+ Given begin preconditions
115
+
116
+ Given INPUT_TABLE = convert json '{"a":"a", "b.c.b":"bcb", "b.d.a":"bda", "c.a":"ca", "c.b.a":"cba", "d.a":"da", "dab":"dab", "ea.id":"eaid", "f.a[0].g":"fa0g"}' to name/value table with names uncollapsed
117
+
118
+ Given end preconditions
119
+ ### PRECONDITIONS - END
120
+
121
+ Given TABLE = table INPUT_TABLE without rows verifying
122
+ | Name |
123
+ | '${MatchPattern(c\..*)}' |
124
+ | 'dab' |
125
+ | 'd.a' |
126
+ | '${MatchPattern(f\.a\[\d+\]\.g)}' |
127
+ Then table TABLE is
128
+ | Name | Value |
129
+ | 'a' | 'a' |
130
+ | 'b.c.b' | 'bcb' |
131
+ | 'b.d.a' | 'bda' |
132
+ | 'ea.id' | 'eaid' |
133
+
134
+ @table_with_new_columns
135
+ Scenario: Table with new columns
136
+ ### PRECONDITIONS - BEGIN
137
+ Given begin preconditions
138
+
139
+ Given INPUT_TABLE = table with header
140
+ | Name | Value | seconds | nanos |
141
+ | 'A' | 'VA' | 15 | 123456789 |
142
+ | 'B' | 'VB' | 3600 | 123456 |
143
+
144
+ Given end preconditions
145
+ ### PRECONDITIONS - END
146
+
147
+ Given X = 2
148
+ Given TABLE = table INPUT_TABLE with new columns
149
+ | Column Name | Value Expression |
150
+ | 'Col 1' | 'Name: "${Column(Name)}"' |
151
+ | 'Col 2' | 'Name: '${Column(Name)}' ; Value: '${Column(Value)}' ; X: ${X}' |
152
+ | 'Time 1' | ${Column(seconds)} + ${Column(nanos)} / 1e9 |
153
+ | 'Time 2' | float(f"{${Column(seconds)}}.{${Column(nanos)}:09d}") |
154
+
155
+ Then table TABLE is
156
+ | Name | Value | seconds | nanos | Col 1 | Col 2 | Time 1 | Time 2 |
157
+ | 'A' | 'VA' | 15 | 123456789 | 'Name: "A"' | 'Name: 'A' ; Value: 'VA' ; X: 2' | 15.123456789 | 15.123456789 |
158
+ | 'B' | 'VB' | 3600 | 123456 | 'Name: "B"' | 'Name: 'B' ; Value: 'VB' ; X: 2' | 3600.000123456 | 3600.000123456 |
159
+
160
+ @table_with_new_rows
161
+ Scenario: Table with new rows
162
+ ### PRECONDITIONS - BEGIN
163
+ Given begin preconditions
164
+
165
+ Given TABLE = table with header
166
+ | Name | Value |
167
+ | 'A' | 'VA' |
168
+
169
+ Given end preconditions
170
+ ### PRECONDITIONS - END
171
+
172
+ Given X = 2
173
+ Given Y = 5
174
+ Given TABLE = table TABLE with new rows
175
+ | Name | Value |
176
+ | 'A${X}.${Y}' | ${Y} |
177
+
178
+ Then table TABLE is
179
+ | Name | Value |
180
+ | 'A' | 'VA' |
181
+ | 'A2.5' | 5 |
182
+
183
+ @table_without_duplicated_rows
184
+ Scenario: Table without duplicated rows
185
+ ### PRECONDITIONS - BEGIN
186
+ Given begin preconditions
187
+
188
+ Given TABLE = table with header
189
+ | Col 1 | Col 2 | Col 3 |
190
+ | 'A1' | 'A2' | 'A3' |
191
+ | 'A1' | 'B2' | 'A3' |
192
+ | 'B1' | 'A2' | 'A3' |
193
+ | 'B1' | 'A2' | 'B3' |
194
+ | 'A1' | 'A2' | 'B3' |
195
+ | 'A1' | 'C2' | 'A3' |
196
+ | 'B1' | 'B2' | 'B3' |
197
+
198
+ Given end preconditions
199
+ ### PRECONDITIONS - END
200
+
201
+ Given TABLE = table TABLE without duplicated rows
202
+ | Col 1 | Col 3 |
203
+
204
+ Then table TABLE is
205
+ | Col 1 | Col 2 | Col 3 |
206
+ | 'A1' | 'A2' | 'A3' |
207
+ | 'B1' | 'A2' | 'A3' |
208
+ | 'B1' | 'A2' | 'B3' |
209
+ | 'A1' | 'A2' | 'B3' |
210
+
211
+ @contains
212
+ @doesnt_contain
213
+ Scenario: Table contains or not a row
214
+ ### PRECONDITIONS - BEGIN
215
+ Given begin preconditions
216
+
217
+ Given TABLE = table with header
218
+ | Col 1 | Col 2 | Col 3 |
219
+ | 'A1' | 'A2' | 'A3' |
220
+ | 'A1' | 'B2' | 'A3' |
221
+ | 'B1' | 'A2' | 'A3' |
222
+
223
+ Given end preconditions
224
+ ### PRECONDITIONS - END
225
+
226
+ Then table TABLE contains
227
+ | Col 1 | Col 2 | Col 3 |
228
+ | 'A1' | 'A2' | 'A3' |
229
+ | 'B1' | 'A2' | 'A3' |
230
+
231
+ Given next step shall fail on exception matching 'Table obtained doesn't contain row expected of index 0'
232
+ Then table TABLE contains
233
+ | Col 1 | Col 2 | Col 3 |
234
+ | 'PIPO' | 'A2' | 'A3' |
235
+
236
+ Then table TABLE doesn't contain
237
+ | Col 1 | Col 2 | Col 3 |
238
+ | 'PIPO' | 'A2' | 'A3' |
239
+
240
+ Given next step shall fail on exception matching 'Table obtained contains row expected of index 1'
241
+ Then table TABLE doesn't contain
242
+ | Col 1 | Col 2 | Col 3 |
243
+ | 'PIPO' | 'A2' | 'A3' |
244
+ | 'A1' | 'A2' | 'A3' |
245
+
@@ -0,0 +1,29 @@
1
+ @testing_solution
2
+ @ValueTableManager
3
+ Feature: Features related to ValueTableManager
4
+
5
+ Scenario: Convert Name/Value Scenario table to json
6
+
7
+ ### PRECONDITIONS - BEGIN
8
+ Given begin preconditions
9
+
10
+ Given VAR = 'Variable value'
11
+ Given INPUT_TABLE = table with header
12
+ | Name | Value |
13
+ | 'test1' | 1 |
14
+ | 'test2' | 2.0 |
15
+ | 'test3' | 'test3' |
16
+ | 'test4' | None |
17
+ | 'test5[0]' | 'test5' |
18
+ | 'test6' | VAR |
19
+
20
+ Given end preconditions
21
+ ### PRECONDITIONS - END
22
+
23
+ When JSON = convert name/value table INPUT_TABLE to json
24
+
25
+ Given JSON_STR = convert object value JSON to string
26
+ Given STR = '{'test1': 1, 'test2': 2.0, 'test3': 'test3', 'test4': None, 'test5': ['test5'], 'test6': 'Variable value'}'
27
+ Then JSON_STR == STR
28
+
29
+
@@ -0,0 +1,88 @@
1
+ @testing_solution
2
+ @DateTime
3
+ Feature: Features related to DateTime
4
+
5
+ @datetime_now-to_string
6
+ Scenario: DateTime to String without format
7
+ Given DT_REF = datetime now
8
+ Given DT_REF_STR = convert datetime DT_REF to string
9
+
10
+ @datetime_now_in_utc_tai
11
+ Scenario: DateTime to String without format
12
+ Given DT_UTC = datetime now in UTC
13
+ Given DT_TAI = datetime now in TAI
14
+
15
+ Given DT_UTC_SEC = ${DT_UTC.timestamp()}
16
+ Given DT_TAI_SEC = ${DT_TAI.timestamp()}
17
+ Then ${${DT_UTC_SEC}+36} < DT_TAI_SEC
18
+ Then DT_TAI_SEC < ${${DT_UTC_SEC}+38}
19
+
20
+ @datetime-to_string
21
+ Scenario: DateTime to String without format
22
+ Given DT = datetime '2022/12/09T12:34:56.012345678'
23
+ Given DT_STR = convert datetime DT to string
24
+ Then DT_STR == '2022-12-09T12:34:56.012345'
25
+
26
+ Given DT = datetime '2022/12/09T12:34:56.012345678Z'
27
+ Given DT_STR = convert datetime DT to string
28
+ Then DT_STR == '2022-12-09T12:34:56.012345+00:00'
29
+
30
+ @datetime-to_string_with_format
31
+ Scenario: DateTime to String without format
32
+ Given DT = datetime '2022/12/09T12:34:56.012345678Z'
33
+
34
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%SZ'
35
+ Then DT_STR == '2022-12-09T12:34:56Z'
36
+
37
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
38
+ Then DT_STR == '2022-12-09T12:34:56.012345Z'
39
+
40
+ @datetime-delta
41
+ Scenario: Add delta to DateTime
42
+ Given DT_init = datetime '2022/12/09T12:34:56.012345678Z'
43
+
44
+ # Plus duration
45
+ Given DT = DT_init + 800 microseconds
46
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
47
+ Then DT_STR == '2022-12-09T12:34:56.013145Z'
48
+
49
+ Given DT = DT_init + 9 milliseconds
50
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
51
+ Then DT_STR == '2022-12-09T12:34:56.021345Z'
52
+
53
+ Given DT = DT_init + 10 seconds
54
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
55
+ Then DT_STR == '2022-12-09T12:35:06.012345Z'
56
+
57
+ Given DT = DT_init + 30 minutes
58
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
59
+ Then DT_STR == '2022-12-09T13:04:56.012345Z'
60
+
61
+ Given DT = DT_init + 12 hours
62
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
63
+ Then DT_STR == '2022-12-10T00:34:56.012345Z'
64
+
65
+ Given DT = DT_init + 25 days
66
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
67
+ Then DT_STR == '2023-01-03T12:34:56.012345Z'
68
+
69
+ Given DT = DT_init + 2 weeks
70
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
71
+ Then DT_STR == '2022-12-23T12:34:56.012345Z'
72
+
73
+ Given DT = DT_init + 2 months
74
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
75
+ Then DT_STR == '2023-02-09T12:34:56.012345Z'
76
+
77
+ Given DT = DT_init + 10 years
78
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
79
+ Then DT_STR == '2032-12-09T12:34:56.012345Z'
80
+
81
+
82
+ # Minus duration
83
+ Given DT = DT_init - 70 seconds
84
+ Given DT_STR = convert datetime DT to string with format '%Y-%m-%dT%H:%M:%S.%fZ'
85
+ Then DT_STR == '2022-12-09T12:33:46.012345Z'
86
+
87
+
88
+
@@ -0,0 +1,43 @@
1
+ @testing_solution
2
+ @UniqueValueManager
3
+ Feature: Features related to UniqueValueManager
4
+
5
+ Scenario: unique integer
6
+
7
+ Given VAR1 = new unique integer
8
+ Given VAR2 = new unique integer
9
+
10
+ Then VAR1 != VAR2
11
+ Then VAR1 < VAR2
12
+
13
+ Scenario: unique HEX integer
14
+
15
+ Given VAR1 = new unique HEX integer
16
+ Given VAR2 = new unique HEX integer
17
+
18
+ Then VAR1 != VAR2
19
+
20
+ Scenario: unique HEX integer with padding
21
+
22
+ Given VAR1 = new unique HEX integer (length: 8)
23
+ Given VAR2 = new unique HEX integer (length: 8)
24
+
25
+ Then VAR1 != VAR2
26
+ Then VAR1 < VAR2
27
+
28
+ Scenario: unique string
29
+
30
+ Given VAR1 = new unique string
31
+ Given VAR2 = new unique string
32
+
33
+ Then VAR1 != VAR2
34
+ Then VAR1 < VAR2
35
+
36
+ Scenario: unique string with padding
37
+
38
+ Given VAR1 = new unique string (padding length: 20)
39
+ Given VAR2 = new unique string (padding length: 20)
40
+
41
+ Then VAR1 != VAR2
42
+ Then VAR1 < VAR2
43
+