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,120 @@
1
+ @testing_solution
2
+ @TextInterpreter
3
+ Feature: Features related to TextInterpreter
4
+
5
+ @variable
6
+ Scenario: interpret with variable reference
7
+ Given VAL_1 = 'value 1'
8
+ Given PARAM_NAME = 'VAL_1'
9
+
10
+ When RES = PARAM_NAME
11
+ Then RES == 'VAL_1'
12
+
13
+ When RES = '${PARAM_NAME}'
14
+ Then RES == 'VAL_1'
15
+
16
+ When RES = ${PARAM_NAME}
17
+ Then RES == 'value 1'
18
+
19
+ When RES = '${${PARAM_NAME}}'
20
+ Then RES == 'value 1'
21
+
22
+ @HexToBytes
23
+ Scenario: function HexToBytes
24
+
25
+ Given HEX = '01569F'
26
+ Given VALUE_1 = ${HexToBytes(HEX)}
27
+ Then VALUE_1 == b'\x01\x56\x9F'
28
+
29
+ Given VALUE_2 = ${HexToBytes('FFFF')}
30
+ Then VALUE_2 == b'\xFF\xFF'
31
+
32
+ @HexToInt
33
+ Scenario: function HexToInt
34
+
35
+ Given HEX = '040A'
36
+ Given VALUE = ${HexToInt(HEX)}
37
+ Then VALUE == 1034
38
+
39
+ Given VALUE = ${HexToInt(040A)}
40
+ Then VALUE == 1034
41
+
42
+ Given VALUE = ${HexToInt('040A')}
43
+ Then VALUE == 1034
44
+
45
+ @MatchPattern
46
+ Scenario: function MatchPattern
47
+
48
+ Given TEXT = 'Hello TOTO !'
49
+ Then TEXT == '${MatchPattern(.*TOTO.*)}'
50
+
51
+ Then TEXT == '${MatchPattern([^ ]+ (?P<NAME>\w+).*)}'
52
+ Then NAME == 'TOTO'
53
+
54
+
55
+ Given TEXT = 'Hello !\nHow are you TOTO ?'
56
+
57
+ Given next step shall fail on exception matching '.*holado_core.common.exceptions.verify_exception.VerifyException\(Match failure, value doesn't match pattern.*'
58
+ Then TEXT == '${MatchPattern(.*(?P<NAME>\w+) \?)}'
59
+
60
+ Then TEXT == '${MatchPattern(.*?(?P<NAME>\w+) \?, re.DOTALL)}'
61
+ Then NAME == 'TOTO'
62
+
63
+
64
+ Given TEXT = 'First plan was launched at 2024-06-20'
65
+ Then TEXT == '${MatchPattern(^First plan was launched at \d{4}-\d{2}-\d{2}$)}'
66
+
67
+
68
+ Given TABLE = table with header
69
+ | Name | Value |
70
+ | 'text' | 'First plan was launched at 2024-06-20' |
71
+ Then table TABLE is
72
+ | Name | Value |
73
+ | 'text' | '${MatchPattern(^First plan was launched at \d{4}-\d{2}-\d{2})}' |
74
+
75
+
76
+ @ToHex
77
+ Scenario: function ToHex
78
+
79
+ Given VALUE = 1034
80
+ Given HEX = '${ToHex(VALUE)}'
81
+ Then HEX == '040A'
82
+ Given HEX = '${ToHex(VALUE, False)}'
83
+ Then HEX == '040a'
84
+
85
+ Given VALUE = 'TEST'
86
+ Given HEX = '${ToHex(VALUE)}'
87
+ Then HEX == '54455354'
88
+
89
+ Given VALUE = b'\xF1\x4A'
90
+ Given HEX = '${ToHex(VALUE)}'
91
+ Then HEX == 'F14A'
92
+
93
+ @EscapeAllBytes
94
+ Scenario: function EscapeAllBytes
95
+
96
+ Given HEX = 'd27ced'
97
+ Given VALUE = ${HexToBytes(HEX)}
98
+ Given ESCAPED_VALUE = '${EscapeAllBytes(VALUE)}'
99
+
100
+ Then ESCAPED_VALUE == 'b'\\xd2\\x7c\\xed''
101
+
102
+ # Same in a thread
103
+ Given THREAD_ID = call steps in a thread
104
+ """
105
+ Given ESCAPED_VALUE_2 = '${EscapeAllBytes(VALUE)}'
106
+ """
107
+ When join thread THREAD_ID
108
+ Then ESCAPED_VALUE_2 == ESCAPED_VALUE
109
+
110
+ # Same with explicit byte expression in text
111
+ Given THREAD_ID = call steps in a thread
112
+ """
113
+ Given ESCAPED_VALUE_3 = '${EscapeAllBytes(b'\\xd2\\x7c\\xed')}'
114
+ """
115
+ When join thread THREAD_ID
116
+ Then ESCAPED_VALUE_3 == ESCAPED_VALUE
117
+
118
+
119
+
120
+
@@ -0,0 +1,514 @@
1
+ @testing_solution
2
+ @yaml
3
+ Feature: Test YAML module
4
+
5
+ @load_file
6
+ Scenario: Load a YAML file
7
+ Given FILE_PATH = create file with name 'load.yaml'
8
+ """
9
+ company: spacelift
10
+ domain:
11
+ - devops
12
+ - devsecops
13
+ tutorial:
14
+ - yaml:
15
+ name: "YAML Ain't Markup Language"
16
+ type: awesome
17
+ born: 2001
18
+ - json:
19
+ name: JavaScript Object Notation
20
+ type: great
21
+ born: 2001
22
+ - xml:
23
+ name: Extensible Markup Language
24
+ type: good
25
+ born: 1996
26
+ author: omkarbirade
27
+ """
28
+
29
+ When CONTENT = load YAML file FILE_PATH
30
+
31
+ Given TABLE = convert json CONTENT to name/value table with names and list uncollapsed
32
+ Then table TABLE is
33
+ | Name | Value |
34
+ | 'author' | 'omkarbirade' |
35
+ | 'company' | 'spacelift' |
36
+ | 'domain[0]' | 'devops' |
37
+ | 'domain[1]' | 'devsecops' |
38
+ | 'tutorial[0].yaml.born' | 2001 |
39
+ | 'tutorial[0].yaml.name' | 'YAML Ain't Markup Language' |
40
+ | 'tutorial[0].yaml.type' | 'awesome' |
41
+ | 'tutorial[1].json.born' | 2001 |
42
+ | 'tutorial[1].json.name' | 'JavaScript Object Notation' |
43
+ | 'tutorial[1].json.type' | 'great' |
44
+ | 'tutorial[2].xml.born' | 1996 |
45
+ | 'tutorial[2].xml.name' | 'Extensible Markup Language' |
46
+ | 'tutorial[2].xml.type' | 'good' |
47
+
48
+ @base_load_file
49
+ Scenario: Load a YAML file with only base YAML features
50
+ Given FILE_PATH = create file with name 'load.yaml'
51
+ """
52
+ company: spacelift
53
+ domain:
54
+ - devops
55
+ - devsecops
56
+ tutorial:
57
+ - yaml:
58
+ name: "YAML Ain't Markup Language"
59
+ type: awesome
60
+ born: 2001
61
+ - json:
62
+ name: JavaScript Object Notation
63
+ type: great
64
+ born: 2001
65
+ - xml:
66
+ name: Extensible Markup Language
67
+ type: good
68
+ born: 1996
69
+ author: omkarbirade
70
+ """
71
+
72
+ When CONTENT = load YAML file FILE_PATH (client type: 'base')
73
+
74
+ Given TABLE = convert json CONTENT to name/value table with names and list uncollapsed
75
+ Then table TABLE is
76
+ | Name | Value |
77
+ | 'author' | 'omkarbirade' |
78
+ | 'company' | 'spacelift' |
79
+ | 'domain[0]' | 'devops' |
80
+ | 'domain[1]' | 'devsecops' |
81
+ | 'tutorial[0].yaml.born' | '2001' |
82
+ | 'tutorial[0].yaml.name' | 'YAML Ain't Markup Language' |
83
+ | 'tutorial[0].yaml.type' | 'awesome' |
84
+ | 'tutorial[1].json.born' | '2001' |
85
+ | 'tutorial[1].json.name' | 'JavaScript Object Notation' |
86
+ | 'tutorial[1].json.type' | 'great' |
87
+ | 'tutorial[2].xml.born' | '1996' |
88
+ | 'tutorial[2].xml.name' | 'Extensible Markup Language' |
89
+ | 'tutorial[2].xml.type' | 'good' |
90
+
91
+ @safe_load_file
92
+ Scenario: Load a YAML file with safe YAML features
93
+ Given FILE_PATH = create file with name 'load.yaml'
94
+ """
95
+ company: spacelift
96
+ domain:
97
+ - devops
98
+ - devsecops
99
+ tutorial:
100
+ - yaml: &reference
101
+ name: "YAML Ain't Markup Language"
102
+ type: awesome
103
+ born: 2001
104
+ - json: *reference
105
+ - xml:
106
+ <<: *reference
107
+ born: 1996
108
+ author: omkarbirade
109
+ """
110
+
111
+ When CONTENT = load YAML file FILE_PATH (client type: 'safe')
112
+
113
+ Given TABLE = convert json CONTENT to name/value table with names and list uncollapsed
114
+ Then table TABLE is
115
+ | Name | Value |
116
+ | 'author' | 'omkarbirade' |
117
+ | 'company' | 'spacelift' |
118
+ | 'domain[0]' | 'devops' |
119
+ | 'domain[1]' | 'devsecops' |
120
+ | 'tutorial[0].yaml.born' | 2001 |
121
+ | 'tutorial[0].yaml.name' | 'YAML Ain't Markup Language' |
122
+ | 'tutorial[0].yaml.type' | 'awesome' |
123
+ | 'tutorial[1].json.born' | 2001 |
124
+ | 'tutorial[1].json.name' | 'YAML Ain't Markup Language' |
125
+ | 'tutorial[1].json.type' | 'awesome' |
126
+ | 'tutorial[2].xml.born' | 1996 |
127
+ | 'tutorial[2].xml.name' | 'YAML Ain't Markup Language' |
128
+ | 'tutorial[2].xml.type' | 'awesome' |
129
+
130
+
131
+ @load_multiple_document
132
+ Scenario: Load a multiple document YAML file
133
+ Given FILE_PATH = create file with name 'load_multiple.yaml'
134
+ """
135
+ ---
136
+ company: spacelift
137
+ domain:
138
+ - devops
139
+ - devsecops
140
+ ---
141
+ tutorial:
142
+ - yaml:
143
+ name: "YAML Ain't Markup Language"
144
+ type: awesome
145
+ born: 2001
146
+ - json:
147
+ name: JavaScript Object Notation
148
+ type: great
149
+ born: 2001
150
+ - xml:
151
+ name: Extensible Markup Language
152
+ type: good
153
+ born: 1996
154
+ author: omkarbirade
155
+ ...
156
+ """
157
+
158
+ When CONTENT = load multiple documents YAML file FILE_PATH
159
+
160
+ Given TABLE_1 = convert json CONTENT[0] to name/value table with names and list uncollapsed
161
+ Given TABLE_2 = convert json CONTENT[1] to name/value table with names and list uncollapsed
162
+ Then table TABLE_1 is
163
+ | Name | Value |
164
+ | 'company' | 'spacelift' |
165
+ | 'domain[0]' | 'devops' |
166
+ | 'domain[1]' | 'devsecops' |
167
+ Then table TABLE_2 is
168
+ | Name | Value |
169
+ | 'author' | 'omkarbirade' |
170
+ | 'tutorial[0].yaml.born' | 2001 |
171
+ | 'tutorial[0].yaml.name' | 'YAML Ain't Markup Language' |
172
+ | 'tutorial[0].yaml.type' | 'awesome' |
173
+ | 'tutorial[1].json.born' | 2001 |
174
+ | 'tutorial[1].json.name' | 'JavaScript Object Notation' |
175
+ | 'tutorial[1].json.type' | 'great' |
176
+ | 'tutorial[2].xml.born' | 1996 |
177
+ | 'tutorial[2].xml.name' | 'Extensible Markup Language' |
178
+ | 'tutorial[2].xml.type' | 'good' |
179
+
180
+
181
+ @save_file
182
+ Scenario: Save data in a YAML file
183
+ Given DATA = ${{'company': 'spacelift', 'domain': ['devops', 'devsecops'], 'tutorial': [{'yaml': {'name': "YAML Ain't Markup Language", 'type': 'awesome', 'born': 2001}}, {'json': {'name': 'JavaScript Object Notation', 'type': 'great', 'born': 2001}}, {'xml': {'name': 'Extensible Markup Language', 'type': 'good', 'born': 1996}}], 'author': 'omkarbirade'}}
184
+
185
+ Given FILE_PATH = path to file with name 'save.yaml'
186
+ When save DATA in YAML file FILE_PATH
187
+
188
+ Given CONTENT_BYTES = content of file FILE_PATH
189
+ Given CONTENT_STR = convert object value CONTENT_BYTES to string
190
+ Given CONTENT_STR = ${CONTENT_STR.strip()}
191
+
192
+ Given EXPECTED = multiline text
193
+ """
194
+ company: spacelift
195
+ domain:
196
+ - devops
197
+ - devsecops
198
+ tutorial:
199
+ - yaml:
200
+ name: YAML Ain't Markup Language
201
+ type: awesome
202
+ born: 2001
203
+ - json:
204
+ name: JavaScript Object Notation
205
+ type: great
206
+ born: 2001
207
+ - xml:
208
+ name: Extensible Markup Language
209
+ type: good
210
+ born: 1996
211
+ author: omkarbirade
212
+ """
213
+ Then CONTENT_STR == EXPECTED
214
+
215
+ @update_file
216
+ Scenario: Update a YAML file
217
+ ### PRECONDITIONS - BEGIN
218
+ Given begin preconditions
219
+
220
+ # Initialize file
221
+ Given CONTENT_FILE_INIT = multiline text
222
+ """
223
+ company: spacelift
224
+ domain:
225
+ - devops
226
+ - devsecops
227
+ tutorial:
228
+ yaml: &reference
229
+ name: YAML Ain't Markup Language
230
+ type: awesome
231
+ born: 2001
232
+ json: *reference
233
+ xml:
234
+ <<: *reference
235
+ born: 1996
236
+ author: omkarbirade
237
+ """
238
+ Given FILE_PATH = create file with name 'load.yaml' and content CONTENT_FILE_INIT
239
+ Given BACKUP_PATH = '${FILE_PATH}.ha_bak'
240
+
241
+ Given end preconditions
242
+ ### PRECONDITIONS - END
243
+
244
+ # Define data to update in file
245
+ When DATA_1 = json object
246
+ """
247
+ {
248
+ "domain": [
249
+ "architect"
250
+ ],
251
+ "size": 100,
252
+ "author": "holado"
253
+ }
254
+ """
255
+ When DATA_2 = json object
256
+ """
257
+ {
258
+ "size": 50
259
+ }
260
+ """
261
+
262
+ # Update file with DATA_1 and backup
263
+ When update YAML file FILE_PATH with data DATA_1 (with backup ; backup extension: '.ha_bak')
264
+
265
+ # Verify content of file and backup
266
+ Given CONTENT_FILE = content of text file FILE_PATH
267
+ Then CONTENT_FILE is text
268
+ """
269
+ company: spacelift
270
+ domain:
271
+ - devops
272
+ - devsecops
273
+ - architect
274
+ tutorial:
275
+ yaml: &reference
276
+ name: YAML Ain't Markup Language
277
+ type: awesome
278
+ born: 2001
279
+ json: *reference
280
+ xml:
281
+ <<: *reference
282
+ born: 1996
283
+ author: holado
284
+ size: 100
285
+ """
286
+
287
+ Given CONTENT_BACKUP = content of text file BACKUP_PATH
288
+ Then CONTENT_BACKUP == CONTENT_FILE_INIT
289
+
290
+ # Update file with DATA_2 and backup
291
+ When update YAML file FILE_PATH with data DATA_2 (with backup ; backup extension: '.ha_bak')
292
+
293
+ # Verify content of file and backup
294
+ Given CONTENT_FILE = content of text file FILE_PATH
295
+ Then CONTENT_FILE is text
296
+ """
297
+ company: spacelift
298
+ domain:
299
+ - devops
300
+ - devsecops
301
+ - architect
302
+ tutorial:
303
+ yaml: &reference
304
+ name: YAML Ain't Markup Language
305
+ type: awesome
306
+ born: 2001
307
+ json: *reference
308
+ xml:
309
+ <<: *reference
310
+ born: 1996
311
+ author: holado
312
+ size: 50
313
+ """
314
+
315
+ Given CONTENT_BACKUP = content of text file BACKUP_PATH
316
+ Then CONTENT_BACKUP == CONTENT_FILE_INIT
317
+
318
+ # Restore file
319
+ When restore YAML file FILE_PATH (backup extension: '.ha_bak')
320
+
321
+ # Verify content of file, and backup doesn't exist anymore
322
+ Given CONTENT_FILE = content of text file FILE_PATH
323
+ Then CONTENT_FILE == CONTENT_FILE_INIT
324
+ Then file BACKUP_PATH doesn't exist
325
+
326
+ @update_string
327
+ Scenario: Update a YAML string
328
+ ### PRECONDITIONS - BEGIN
329
+ Given begin preconditions
330
+
331
+ # Initialize string
332
+ Given STR_INIT = multiline text
333
+ """
334
+ company: spacelift
335
+ domain:
336
+ - devops
337
+ - devsecops
338
+ tutorial:
339
+ yaml: &reference
340
+ name: YAML Ain't Markup Language
341
+ type: awesome
342
+ born: 2001
343
+ json: *reference
344
+ xml:
345
+ <<: *reference
346
+ born: 1996
347
+ author: omkarbirade
348
+ """
349
+
350
+ Given end preconditions
351
+ ### PRECONDITIONS - END
352
+
353
+ # Define data to update in file
354
+ When DATA_1 = json object
355
+ """
356
+ {
357
+ "domain": [
358
+ "architect"
359
+ ],
360
+ "size": 100,
361
+ "author": "holado"
362
+ }
363
+ """
364
+ When DATA_2 = json object
365
+ """
366
+ {
367
+ "size": 50
368
+ }
369
+ """
370
+
371
+ # Update string with DATA_1
372
+ When STR_1 = update YAML string STR_INIT with data DATA_1
373
+
374
+ # Verify string
375
+ Then STR_1 is text
376
+ """
377
+ company: spacelift
378
+ domain:
379
+ - devops
380
+ - devsecops
381
+ - architect
382
+ tutorial:
383
+ yaml: &reference
384
+ name: YAML Ain't Markup Language
385
+ type: awesome
386
+ born: 2001
387
+ json: *reference
388
+ xml:
389
+ <<: *reference
390
+ born: 1996
391
+ author: holado
392
+ size: 100
393
+ """
394
+
395
+ # Update string with DATA_2
396
+ When STR_2 = update YAML string STR_1 with data DATA_2
397
+
398
+ # Verify string
399
+ Then STR_2 is text
400
+ """
401
+ company: spacelift
402
+ domain:
403
+ - devops
404
+ - devsecops
405
+ - architect
406
+ tutorial:
407
+ yaml: &reference
408
+ name: YAML Ain't Markup Language
409
+ type: awesome
410
+ born: 2001
411
+ json: *reference
412
+ xml:
413
+ <<: *reference
414
+ born: 1996
415
+ author: holado
416
+ size: 50
417
+ """
418
+
419
+ @update_yaml_object
420
+ Scenario: Update a YAML object
421
+ ### PRECONDITIONS - BEGIN
422
+ Given begin preconditions
423
+
424
+ # Initialize string
425
+ Given STR_INIT = multiline text
426
+ """
427
+ company: spacelift
428
+ domain:
429
+ - devops
430
+ - devsecops
431
+ tutorial:
432
+ yaml: &reference
433
+ name: YAML Ain't Markup Language
434
+ type: awesome
435
+ born: 2001
436
+ json: *reference
437
+ xml:
438
+ <<: *reference
439
+ born: 1996
440
+ author: omkarbirade
441
+ """
442
+ Given OBJ = load YAML string STR_INIT
443
+
444
+ Given end preconditions
445
+ ### PRECONDITIONS - END
446
+
447
+ # Define data to update in file
448
+ When DATA_1 = YAML object
449
+ """
450
+ domain:
451
+ - architect
452
+ size: 100
453
+ author: holado
454
+ """
455
+ When DATA_2 = json object
456
+ """
457
+ {
458
+ "size": 50
459
+ }
460
+ """
461
+
462
+ # Update object with DATA_1
463
+ When update YAML object OBJ with data DATA_1
464
+
465
+ # Verify object
466
+ When STR_1 = convert YAML object OBJ to string
467
+ Then STR_1 is text
468
+ """
469
+ company: spacelift
470
+ domain:
471
+ - devops
472
+ - devsecops
473
+ - architect
474
+ tutorial:
475
+ yaml: &reference
476
+ name: YAML Ain't Markup Language
477
+ type: awesome
478
+ born: 2001
479
+ json: *reference
480
+ xml:
481
+ <<: *reference
482
+ born: 1996
483
+ author: holado
484
+ size: 100
485
+ """
486
+
487
+ # Update object with DATA_2
488
+ When update YAML object OBJ with data DATA_2
489
+
490
+ # Verify string
491
+ When STR_2 = convert YAML object OBJ to string
492
+ Then STR_2 is text
493
+ """
494
+ company: spacelift
495
+ domain:
496
+ - devops
497
+ - devsecops
498
+ - architect
499
+ tutorial:
500
+ yaml: &reference
501
+ name: YAML Ain't Markup Language
502
+ type: awesome
503
+ born: 2001
504
+ json: *reference
505
+ xml:
506
+ <<: *reference
507
+ born: 1996
508
+ author: holado
509
+ size: 50
510
+ """
511
+
512
+
513
+
514
+
@@ -0,0 +1,20 @@
1
+ @testing_solution
2
+ @json
3
+ @go_nogo
4
+ Feature: Test json module
5
+
6
+ Scenario: Convert text to json object
7
+
8
+ ### PRECONDITIONS - BEGIN
9
+ Given begin preconditions
10
+
11
+ Given FILE_CONTENT = b'[{\n "beaconData": "AAAH24LhKz2M+ICw4tTWc26VM8/D2t0QOva9GgOg7cQ8wLsdpiT3aHGDjYHp9YaRnmtrObAjsxIHvB5AUQlZMo0NaY7YJIroAOE/1WD1/Skofh71N4MVT9VmB8eqeYmP1vhaggycgJ3sa5AUin3fawT6TPm2ULC1JA1tjAhKrr6ziTyT0N+WmlXRwKNef1NQcO1pjcNIpvzTsYfVAeDM4zDec4HT70b9O93vtCeFMUCqjaBQh8rKVJQCyPhocy01trjWKV9QAB5Nt6vTjEZ9jUurbeJywj/sMf7C07OsX79Hu5tdvhB8+pFpFucmPIxdR6k21daA/SboxLErR+1PqJFxqGVxqendVshgQEAJImDIZSmt0q3ITAVYBY10ZHqApxWQSAE+Yox6xjQkL4EzZy3EI2+2zRCf7c6DhtKg3+PhlROOrzSSm5W40SLZdVyN/8Q413xx7ZW9Vcr+O024Fic9f1FwKEWWbv5aInYuiyIQrOATwNcWmBQpbTPVJ8M9kN4/Xl0eIgWZklakBamuJCF+SFD5yXjAUHyiq+lQVBxW7uULC5AucpoHry0I5htJi8Qc4n+T16wPlbdeVb/lC+3Fd9aF+q/yLQv7S8mIk5XpVq48hlc6Tu8gqgXKY5fYwBUjehnPW0qsgpqKddRiHbX6W85d3sTw7w3q+6ZW3RA=",\n "argosMetadata": {\n "base": {\n "satelliteId": "KIN1A",\n "onboardPacketTimeTai": "2023-01-01T00:32:17Z",\n "receptionLevel": -133.0,\n "cn0Dbhz": 44.8\n },\n "modulation": "MODULATION_HDA4",\n "blockCount": 4,\n "messageToaTai": "2023-01-01T00:32:17.167127609Z",\n "processingContext": {\n "processorId": 1,\n "utId": 21,\n "basebandId": 0\n },\n "dopplerRawFoaHz": 401657625.63,\n "qualityIndicator": 0\n },\n "grsMetadata": {\n "stationId": "TLS1",\n "receptionTimeTai": "2023-01-01T00:32:17Z"\n },\n "mcsMetadata": {\n "base": {\n "mcsInstance": "INSTANCE_SITE1",\n "receivedTimeTai": "2023-03-09T15:32:19.811Z",\n "availableTimeTai": "2023-03-09T15:32:19.839Z"\n },\n "foaValid": true,\n "dopplerCompensatedFoaHz": 401657728.29170704,\n "toaValid": true,\n "dopplerToaTai": "2023-01-01T00:32:17.179503679Z"\n }\n},\n{\n "beaconData": "AAAH2/VfdtJF2OKFG1cHg1C9i6ApjT4PsUFMKRSCejlUrO1bYv919RRbMwB6HB9APKZwcRvBU4xd/7kqsitALONMlJ8BsyZoN8r0UIIK7H9YNzkbbaBJZ6ce15UZLYdNEjvvtlCvB60EL5hlH7qsVccywmgf3seg0wu8HftUJMr0W7OCA/3mwfkPB2Ml4mmMRKJkE7EQNsrzm4E1gJRifRD1lG8Qgo+2njuN0YPC1zEpFW33wyf/ukSN0+wBFPqqNKHc6ARP8178xdaHY8OCKFjBh/7oOm91uMtFhajOJ4yCcxTzbvgq2Fhi3qPVKb5Tt+LN3ts1Mod96EXf2bz8GHz0bpCBRc4A53l2lpX7DY0W57vTUrt0moYvC22VXxJso6D4XDmOziaZL9NmBItgDiAAlXUrj9bYn1or93StPSjI9UruHuOIj5fu9cLHvdNEVtXGa2BF1gY0C/YP6EiRHkbdaf0WPWAfIHrB3Ad8HB2JpWyE9buNuIZu0FLYKe4M/WkLlOY28cyifRifZPiMMG2iL3NXQbG8W9n1yua8tOuKHqwmrXXL7LUYP1jnkxOZYF4wjkKvitN5QSAfJGNVUdIfe4TkeKrWgjsK2HPnVe7szCNjIqZFbdVGicAPoffhJSpuR9uBIzRflj1zKJDxwBaovGz0/w/kdXfc+k220QE=",\n "argosMetadata": {\n "base": {\n "satelliteId": "KIN1A",\n "onboardPacketTimeTai": "2023-01-01T00:31:17Z",\n "receptionLevel": -131.0,\n "cn0Dbhz": 48.0\n },\n "modulation": "MODULATION_HDA4",\n "blockCount": 4,\n "messageToaTai": "2023-01-01T00:31:17.168287038Z",\n "processingContext": {\n "utId": 39,\n "basebandId": 0,\n "processorId": 0\n },\n "dopplerRawFoaHz": 401658033.66,\n "qualityIndicator": 0\n },\n "grsMetadata": {\n "stationId": "TLS1",\n "receptionTimeTai": "2023-01-01T00:31:17Z"\n },\n "mcsMetadata": {\n "base": {\n "mcsInstance": "INSTANCE_SITE1",\n "receivedTimeTai": "2023-03-09T15:32:19.805Z",\n "availableTimeTai": "2023-03-09T15:32:19.836Z"\n },\n "foaValid": true,\n "dopplerCompensatedFoaHz": 401658136.3218114,\n "toaValid": true,\n "dopplerToaTai": "2023-01-01T00:31:17.179518938Z"\n }\n},\n{\n "beaconData": "AAAH21gMNR9eyMOyrHdJZw+kCxjdGC19BRlOzRc2P51hdzN2laSbQRlDVJMKeP/T3MpH/fgF5P5HA26jANhk540o/8lPST4XOemTqHAngCOw7qyOOIhCJPMYKZYvfou7PDy+8Et+whuNEidbDAD6FL58NPugDpd2PYPzOmxg0UHjGjWb6lEjtWJw7PCQ7TOWt2kRnRMTINCgX7Ja0S2GmcLqxfJNvCz0R73A4D2ZptFPb2YKwXYT6KgmuERj6a6TjVzib6Qunsq5BPifN/WKlhV8o53lXzOUf1KoQj12eVrCX7Ek0zPRyAyIdl9u0reDcsfIiK7o0HTaayXInEZOAP8juWpFJZAusK7Z4IkKfzZwgseNYpequY1UY5hyOGqrKnKO0OD+brbCtlc1Hp1Sdvezy0m7pNY/nqs+JRIJpICWcgCajkl2tkx4qNo7xVpDmYM9762ubTUP/K7Ea78i8Nqq/fOoKc62n9yVsXGFXFXOSmaOPGr6u9rgNTVp1kwcENgXjhRRTG8x44hF/mPrvzX4BuG7Khgv9jd01kiGftS2GImuxrGG3AKuZyjWyb0JlOKMIf2z3sIaa3v/+IfBaWThomO6EGGf2YwicYT4ixm64A2D2BDF++Fc2a4zTCNucxO0/QrLdu16ETFM/pqEGNUs/U+PcsNHB2VAuC6fLOE=",\n "argosMetadata": {\n "base": {\n "satelliteId": "KIN1A",\n "onboardPacketTimeTai": "2023-01-01T00:33:17Z",\n "receptionLevel": -136.2,\n "cn0Dbhz": 40.0\n },\n "modulation": "MODULATION_HDA4",\n "blockCount": 4,\n "messageToaTai": "2023-01-01T00:33:17.166072368Z",\n "processingContext": {\n "utId": 93,\n "basebandId": 0,\n "processorId": 0\n },\n "dopplerRawFoaHz": 401656977.09,\n "qualityIndicator": 0\n },\n "grsMetadata": {\n "stationId": "TLS1",\n "receptionTimeTai": "2023-01-01T00:33:17Z"\n },\n "mcsMetadata": {\n "base": {\n "mcsInstance": "INSTANCE_SITE1",\n "receivedTimeTai": "2023-03-09T15:32:19.814Z",\n "availableTimeTai": "2023-03-09T15:32:19.842Z"\n },\n "foaValid": true,\n "dopplerCompensatedFoaHz": 401657079.75154126,\n "toaValid": true,\n "dopplerToaTai": "2023-01-01T00:33:17.179488420Z"\n }\n}]'
12
+
13
+ Given end preconditions
14
+ ### PRECONDITIONS - END
15
+
16
+ Given LIST = convert text FILE_CONTENT to json
17
+
18
+ Given SIZE = size of LIST
19
+ Then SIZE == 3
20
+