holado 0.22.0.dev0__tar.gz → 0.22.0.dev2__tar.gz
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.
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/PKG-INFO +2 -2
- holado-0.22.0.dev2/packaging/VERSION +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tools/string_tools.py +7 -8
- holado-0.22.0.dev2/src/holado_data/data/encoder/BaseXEncoder.py +125 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/hashlib.py +6 -6
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/campaign/campaign_manager.py +156 -110
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/debug_qa_scenarios_report_builder.py +3 -3
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/debug_random_report_builder.py +3 -3
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/detailed_scenario_report_builder.py +26 -20
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/execution_historic_report_builder.py +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/failure_report_builder.py +3 -3
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/short_scenario_report_builder.py +3 -3
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/summary_scenario_report_builder.py +3 -3
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/context/behave_session_context.py +2 -2
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/scenario/behave_scenario_tools.py +94 -2
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/scenario/scenario_tools.py +231 -58
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/test_config.py +10 -1
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/client/rest/test_server_client.py +14 -6
- holado-0.22.0.dev2/src/holado_test/tools/test_server/server/migrate/migrate_to_v0.22.py +157 -0
- holado-0.22.0.dev2/src/holado_test/tools/test_server/server/requirements.txt +2 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/api/campaign/scenario.py +9 -4
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/openapi.yaml +14 -2
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tools/unique_value_manager.py +9 -37
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/api/REST.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/api/gRPC.feature +3 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/common/multiprocessing/simple.feature +2 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/common/system/commands.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/common/system/system.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/common/tables/table.feature +10 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/common/tables/value_table_conversion.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/common/tools/DateTime.feature +5 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/common/tools/UniqueValueManager.feature +5 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature +4 -1
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/ais_message-nmea_raw_to_dict.feature +3 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-10.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-12.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-14.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-15.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-16.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-17.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-18.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-19.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-20.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-21.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-22.feature +2 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-23.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-24.feature +2 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-25.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-26.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-27.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-5.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-6.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-8.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/message_types/type-9.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_ais/tag_block.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_binary/bit_series.error.feature +2 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_binary/bit_series.feature +7 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_email/email.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_protobuf/protobuf.feature +10 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/convert.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/iterable.feature +2 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_reset.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_and_verify.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_without_verify.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_without_tls.feature +3 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_mtls.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_tls.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_without_tls.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/dynamic_text_manager.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/expression_evaluator.feature +7 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_scripting/common/tools/variable_manager.feature +6 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.error.feature +2 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.feature +7 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/holado_yaml/yaml.feature +8 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/ipc/json.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/scenario/scenario.feature +5 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/test_steps/behave.feature +14 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/test_steps/common.feature +4 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/tools/RabbitMQ.feature +7 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/tools/RabbitMQ_steps.feature +3 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/tools/S3/boto3_client.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/tools/S3/minio_client.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/tools/db_sqlite3.feature +1 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/NonReg/tools/sFTP.feature +1 -0
- holado-0.22.0.dev0/packaging/VERSION +0 -1
- holado-0.22.0.dev0/src/holado_test/tools/test_server/server/requirements.txt +0 -2
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/.gitignore +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/.gitlab-ci.yml +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/Dockerfile +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/INSTALL +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/LICENSE +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/NOTES.md +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/README.md +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/README.rst +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/TODO +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/build/Dockerfile_python3.13_alpine3.20 +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/build/Dockerfile_with_docker +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/dependencies/protoc/README.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/packaging/generate_distribution_archive.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/packaging/others/publish_distribution_archive_on_testpypi.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/packaging/publish_distribution_archive.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/pyproject.toml +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/requirements.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/requirements_docker.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/resources/scripts/generate_scenario_duration_limits.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/resources/scripts/generate_scenario_duration_tags.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/resources/scripts/print_execution_historic.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/resources/scripts/update_scenario_duration_tags.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/resources/ssh/id_rsa +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/resources/ssh/id_rsa.pub +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/run_test.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/run_test_draft.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/run_test_needupdate.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/run_test_nonreg.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/context/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/context/context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/context/service_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/context/session_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/handlers/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/handlers/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/handlers/object.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/handlers/undefined.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/tools/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/common/tools/gc_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado/holado_config.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/ais/MaritimeIdentificationDigits.csv +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/ais/ais_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/ais/ais_messages.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/ais/ais_payload.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/ais/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/ais/patch_pyais.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/tests/behave/steps/ais/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/tests/behave/steps/ais/ais_manager_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/tests/behave/steps/ais/ais_messages_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ais/tests/behave/steps/ais/ais_tag_block_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_api/README.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_api/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_api/client/README.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_api/server/README.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_api/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_api/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_api/tests/behave/steps/server/connexion_server_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_binary/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_binary/ipc/binary.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_binary/ipc/bit_series.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_binary/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_binary/tests/behave/steps/ipc/binary_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_binary/tests/behave/steps/ipc/bit_series_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_context/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_context/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_context/tests/behave/steps/common/context_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/actors/actions.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/actors/actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/actors/element_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/actors/find_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/actors/tree_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/actors/verify_actions.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/block/base.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/block/block_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/block/block_method.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/block/block_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/block/function.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/block/scope_function.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/block/scope_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/block/scope_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/criterias/and_criteria.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/criterias/criteria.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/criterias/or_criteria.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/criterias/tools/criteria_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/criterias/tools/criteria_parameters.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/drivers/driver.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/drivers/element_driver.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/drivers/element_internal_api.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/drivers/internal_api.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/drivers/tree_driver.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/drivers/tree_internal_api.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/exceptions/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/exceptions/element_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/exceptions/exceptions.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/exceptions/functional_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/exceptions/holado_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/exceptions/technical_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/exceptions/timeout_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/exceptions/verify_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/after_in_tree_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/element_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/else_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/or_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/then_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/tools/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/tools/find_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/tools/find_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/tools/find_info.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/tools/find_parameters.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/tools/find_updater.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/tools/finder_info.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/finders/tree_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/abstracts/base_redo.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/abstracts/get_or_create.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/element_holder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/exceptions/redo_exceptions.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/features/resource_by_name.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/features/resource_by_type.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/redo.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/handlers/wait.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/inspectors/element_inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/inspectors/inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/inspectors/tools/inspect_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/inspectors/tools/inspect_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/inspectors/tools/inspect_parameters.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/inspectors/tree_inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/boolean_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/bytes_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/datetime_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/float_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/integer_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/internal_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/string_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/string_table_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/string_table_row_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/table_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/table_comparator_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/table_row_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/comparators/table_with_header_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/converters/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/converters/table_converter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/table.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/table_cell.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/table_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/table_row.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tables/table_with_header.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tools/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tools/comparators/comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tools/comparators/object_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tools/converters/converter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tools/path_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/common/tools/tools.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tests/behave/steps/common/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tests/behave/steps/common/common_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tests/behave/steps/common/config_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tests/behave/steps/common/resource_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tests/behave/steps/common/tables_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tools/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tools/abstracts/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tools/abstracts/blocking_command_service.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_core/tools/abstracts/service.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/crypto/crypto.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/crypto/key.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/crypto/tcpbin.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/crypto/transport/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/crypto/transport/crc.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/tests/behave/steps/crypto_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/tests/behave/steps/key_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_crypto/tests/behave/steps/tcpbin_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_data/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_data/data/generator/base.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_data/data/generator/generator_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_data/data/generator/python_generator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_data/data/uid/uid_generator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_data/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_data/tests/behave/steps/data/generator_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_data/tests/behave/steps/tools/utils_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tests/behave/steps/tools/db/db_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tests/behave/steps/tools/db/postgresql_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tests/behave/steps/tools/db/sqlite_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/clients/base/db_audit.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/clients/base/db_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/clients/postgresql/postgresql_audit.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/clients/postgresql/postgresql_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/clients/sqlite/sqlite_audit.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/clients/sqlite/sqlite_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/db_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/query/base/query_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/query/pypika/pypika_query_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_db/tools/db/query/query_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/HOWTO.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/db.sqlite3 +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/manage.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/application/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/application/admin.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/application/apps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/application/migrations/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/application/models.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/application/tests.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/application/views.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/asgi.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/settings.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/urls.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_projects/rest_api/rest_api/wsgi.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/django_server.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/grpc_django_server.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/server/patch_djangogrpcframework.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_django/tests/behave/steps/django_server_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_docker/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_docker/sdk/docker/container_logs.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_docker/sdk/docker/docker_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_docker/sdk/docker/docker_service.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_docker/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_docker/tests/behave/steps/sdk/docker/container_logs_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/email/smtp_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/test_tools/mailhog/mailhog_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/test_tools/mailhog/mailhog_server.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/tests/behave/steps/email/email_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/tests/behave/steps/email/smtp_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/tests/behave/steps/test_tools/mailhog_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_email/tests/behave/steps/test_tools/mailhog_server_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/db.sqlite3 +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/manage.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/admin.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/apps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/migrations/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/models.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/serializers.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/tests.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/views.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/asgi.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/settings.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/urls.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/wsgi.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/projects/server_rest/server_rest_example/rest_server.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/scripts/script_custom_initialization.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/scripts/script_minimal_initialization.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/__main__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/behave_environment.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/environment.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/features/Configuration/Actions/configure_system.feature +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/features/NonReg/example.feature +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/logging.conf +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/requirements.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/run_test.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/run_test_nonreg.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/src/common/tools/path_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/src/config/config_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/src/context/session_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/steps/config_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_examples/tests/behave/testing_solution/steps/public_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/TODO +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/api/rpc/TODO.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/api/rpc/grpc_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/api/rpc/grpc_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/ipc/rpc/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/ipc/rpc/grpc_compiler.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/ipc/rpc/grpc_services.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/tests/behave/steps/api/grpc_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_grpc/tests/behave/steps/private/api/grpc_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/debug/README.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/debug/memory/memory_profiler.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/docker/init_user.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/docker/logging.conf +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/docker/run_holado_test_nonreg_in_docker.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/docker/run_terminal_in_docker.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/holado_module_template/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/holado_module_template/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/holado_module_template/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/action.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/action_script.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/any_action_script.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/behave_action_script.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/csv_action_script.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/initialize_script.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/input_output_script.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/job.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/json_action_script.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_helper/script/script.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/filesystem/json_file.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/filesystem/stream_json_file.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/ipc/json.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/ipc/json_converter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/ipc/json_types.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/tests/behave/steps/ipc/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_json/tests/behave/steps/ipc/json_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_logging/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_logging/common/logging/holado_logger.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_logging/common/logging/log_config.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_logging/common/logging/log_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multiprocessing/context/process_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multiprocessing/function_process.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multiprocessing/periodic_function_process.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multiprocessing/process.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multiprocessing/processesmanager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multitasking/multitask_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/context/thread_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/functionthreaded.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/loopfunctionthreaded.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/loopthread.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/periodicfunctionthreaded.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/reflection/exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/reflection/inspect.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/reflection/sys.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/reflection/traceback.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/thread.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/threadsmanager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/multithreading/timer.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/tests/behave/steps/multiprocessing_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_multitask/tests/behave/steps/multithreading_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/abstracts/type.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/protobuf_compiler.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/protobuf_converter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/protobuf_messages.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/protobuf_modifier.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/types/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/types/google/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/ipc/protobuf/types/google/protobuf.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/iterables.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/boolean_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/bytes_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/comparator_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/datetime_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/float_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/integer_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/json_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/object_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/string_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/comparators/type_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/datetime.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/common/tools/re_ext.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/csv.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/multiprocessing.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/queue.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/socket/blocking_socket.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/socket/echo_server.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/socket/message_socket.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/socket/non_blocking_socket.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/socket/socket.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/ssl/resources/certificates/NOTES.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/ssl/resources/certificates/localhost.crt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/ssl/resources/certificates/localhost.key +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/ssl/ssl.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/standard_library/typing.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/builtins/str_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/convert_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/iterable_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/standard_library/csv_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/standard_library/datetime_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/standard_library/hashlib_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/standard_library/multiprocessing_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/standard_library/queue_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/standard_library/socket_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_python/tests/behave/steps/standard_library/ssl_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_redis/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_redis/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_redis/tests/behave/steps/tools/redis_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_redis/tools/redis/TODO.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_redis/tools/redis/redis_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_redis/tools/redis/redis_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/campaign/campaign_report_exporter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/qa/qa_report.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/analyze/execution_historic_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/analyze/scenario_duration_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/base_report_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/debug_relevancy_summary_report_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/qa_report_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/summary_report_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/builders/summary_run_report_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/execution_historic.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/report_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/reports/base_report.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/reports/feature_report.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_report/report/reports/scenario_report.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/resource/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/resource/persisted_data_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/resource/persisted_key_value_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/resource/persisted_method_to_call_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/resource/resource_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/resource/table_data_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_resource/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/api/rest/TODO.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/api/rest/rest_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/api/rest/rest_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/tests/behave/steps/api/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/tests/behave/steps/api/rest_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/tests/behave/steps/private/api/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_rest/tests/behave/steps/private/api/rest_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tests/behave/steps/private/tools/s3_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tests/behave/steps/tools/s3_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tests/behave/steps/tools/s3_server_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tools/s3/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tools/s3/boto3_s3_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tools/s3/minio_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_s3/tools/s3/moto_server.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/common/tools/dynamic_text_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/common/tools/evaluate_parameters.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/common/tools/expression_evaluator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/common/tools/variable_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/tests/behave/steps/common/tools/variable_convert_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/tests/behave/steps/common/tools/variable_new_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/tests/behave/steps/common/tools/variable_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/tests/behave/steps/common/tools/variable_verify_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/tests/behave/steps/scenario/function_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/tests/behave/steps/scenario/if_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/tests/behave/steps/scenario/loop_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/base/base_function.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/base/base_verify_function.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/base/text_inspecter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/exceptions/interpreter_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_apply_function.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_cast.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_convert.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_dynamic_value.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_escape_all_bytes.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_exists_variable.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_hex_to_bytes.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_hex_to_int.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_to_base_64.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_to_bytes.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_to_hex.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/functions/function_to_string.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/interpreter/text_interpreter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/verifier/exceptions/verifier_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/verifier/functions/verify_function_extract_in.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/verifier/functions/verify_function_match_pattern.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_scripting/text/verifier/text_verifier.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/tests/behave/steps/tools/keycloak_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/token/token_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/tools/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/tools/keycloak/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/tools/keycloak/keycloak_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/tools/keycloak/keycloak_token_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/tools/keycloak/old/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_security/tools/keycloak/old/keycloak_curl_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/tests/behave/steps/private/tools/sftp_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/tests/behave/steps/tools/sftp_client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/tests/behave/steps/tools/sftp_server_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/tools/sftp/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/tools/sftp/sftp_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_sftp/tools/sftp/sftp_server.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_swagger/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_swagger/swagger_hub/mockserver/mockserver_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_swagger/swagger_hub/mockserver/mockserver_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_swagger/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_swagger/tests/behave/steps/swagger_hub/mockserver_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/system/command/command.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/system/command/command_result.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/system/command/curl_command.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/system/command/exceptions.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/system/filesystem/file.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/system/global_system.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/tests/behave/steps/system/commands_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/tests/behave/steps/system/file_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_system/tests/behave/steps/system/system_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/behave.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/behave_environment.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/behave_function.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/behave_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/context/behave_step_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/independant_runner.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/scenario/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/behave/scenario/behave_step_tools.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/common/context/context_tools.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/common/context/feature_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/common/context/scenario_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/common/context/step_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/common/exceptions/undefined_step_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/scenario/step_tools.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/scenario/tester_tools.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tests/behave/steps/scenario/exception_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tests/behave/steps/scenario/scenario_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tests/behave/steps/scenario/tester_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/scripts/reporting_qa.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/scripts/reporting_qa.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/Dockerfile +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/core/server_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/core/server_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/README +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/api/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/api/campaign/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/api/report/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/api/tools/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/logging.conf +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/rest/run.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/run.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_test/tools/test_server/server/run_test_server_in_docker.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_processes.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_processes.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/scripts/execute_persisted_post_processes/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tests/behave/steps/tools/host_controller/client_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/client/rest/host_controller_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/Dockerfile +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/requirements.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/README +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/api/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/api/config.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/api/docker/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/api/docker/container.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/api/docker/logs.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/api/os.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/logging.conf +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/openapi.yaml +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/rest/run.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/run.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_controller/server/run_host_controller_in_docker.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/client/rest/host_viewer_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/Dockerfile +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/requirements.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/rest/README +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/rest/api/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/rest/api/docker/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/rest/api/docker/container.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/rest/api/os.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/rest/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/rest/openapi.yaml +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/rest/run.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_tools/tools/host_viewer/server/run_host_viewer_in_docker.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/actors/actions.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/actors/ui_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/drivers/ui_driver.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/drivers/ui_driver_info.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/drivers/ui_internal_api.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/exceptions/focus_driver_exception.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/finders/ui_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/actors/gui_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/criterias/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/criterias/gui_criteria.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/drivers/gui_driver.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/drivers/gui_internal_api.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/finders/gui_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/handlers/label_gui_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/handlers/zone_gui_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/inspectors/gui_inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/windows/gui_window.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/gui/windows/gui_window_info.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/handlers/ui_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/handlers/ui_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/inspectors/tools/ui_inspect_builder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/inspectors/tools/ui_inspect_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui/ui/inspectors/ui_inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_box/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_box/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_box/tests/behave/steps/easygui_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_box/ui/easygui/easygui_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_mss/ui/mss/mss_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/actors/actions.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/actors/default_selenium_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/actors/selenium_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/criterias/selenium_criteria.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/criterias/selenium_criteria_and_verifier.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/drivers/selenium_driver.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/drivers/selenium_internal_api.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/drivers/web_driver_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/finders/by_selenium_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/finders/children_selenium_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/finders/parent_selenium_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/finders/selenium_finder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/handlers/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_by.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_holder.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_redo.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/handlers/selenium_ui_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/inspectors/default_selenium_inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/inspectors/selenium_inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_row_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/comparators/selenium_2_value_table_with_header_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/converters/selenium_table_converter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_cell.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_row.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tables/selenium_table_with_header.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/tools/selenium_path_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/windows/default_selenium_window.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium/ui/gui/selenium/windows/selenium_window.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium_angular/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium_angular/ui/gui/selenium/actors/angular_selenium_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium_angular/ui/gui/selenium/inspectors/angular_selenium_inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium_html/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium_html/ui/gui/selenium/actors/html_selenium_actor.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ui_selenium_html/ui/gui/selenium/inspectors/html_selenium_inspector.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/comparators/table_2_value_table_cell_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/comparators/table_2_value_table_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/comparators/table_2_value_table_row_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/comparators/table_2_value_table_with_header_comparator.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/converters/value_table_converter.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/value_table.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/value_table_cell.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/value_table_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/value_table_row.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tables/value_table_with_header.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tools/value.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/common/tools/value_types.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_value/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ws/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ws/api/ws/TODO.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ws/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_ws/tests/behave/steps/api/web_service_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_xml/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_xml/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_xml/tests/behave/steps/private/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_xml/xml/stream_xml_file.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_xml/xml/xml_2_dict.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_xml/xml/xml_file.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_xml/xml/xml_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_yaml/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_yaml/tests/behave/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_yaml/tests/behave/steps/yaml_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_yaml/yaml/enums.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_yaml/yaml/pyyaml/pyyaml_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_yaml/yaml/ruamel/ruamel_yaml_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_yaml/yaml/yaml_client.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/src/holado_yaml/yaml/yaml_manager.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/steps_catalog.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/Dockerfile_test_holado +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/__main__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/build_docker_image_to_test_holado_in_docker.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/environment.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/Configuration/Actions/execute_persisted_post_processes.feature +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/Test/logger.feature +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/Test/test_host_controller.feature +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/Test/test_parameter.feature +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/features/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/logging.conf +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/resources/proto/definitions/protobuf/custom_types/field_types.proto +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/resources/proto/definitions/protobuf/protobuf.dev/tutorial/addressbook.proto +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/resources/proto/generated/protobuf/custom_types/field_types_pb2.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/resources/proto/generated/protobuf/protobuf/dev/tutorial/addressbook_pb2.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/resources/scripts/list_tags.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/resources/scripts/update_resources_proto_generated.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/steps/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/steps/private_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/steps/public_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/test_holado_session_context.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/connexion/api_rest/openapi.yaml +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/connexion/api_rest/run.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/README.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/admin.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/apps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/migrations/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/models.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account.proto +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2_grpc.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/serializers.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/services.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/tests.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/api1/views.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/asgi.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/settings.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/urls.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/api_grpc/wsgi.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/db.sqlite3 +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/manage.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/manual_test_commands.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_grpc/patch_djangogrpcframework.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/admin.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/apps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/models.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/serializers.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/tests.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/api1/views.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/asgi.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/settings.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/urls.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/api_rest/wsgi.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/db.sqlite3 +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/behave/test_holado/tools/django/api_rest/manage.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/dgot/classement/classement.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/dgot/classement/classement.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/dgot/classement/commands.txt +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/independant_runner/environment.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/independant_runner/features/fake.feature +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/independant_runner/initialize_holado.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/independant_runner/logging.conf +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/independant_runner/steps/public_steps.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/independant_runner/test.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/independant_runner/test.sh +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/tests/scripts/script_tools.py +0 -0
- {holado-0.22.0.dev0 → holado-0.22.0.dev2}/upgrade_requirements_to_latest.sh +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: holado
|
|
3
|
-
Version: 0.22.0.
|
|
3
|
+
Version: 0.22.0.dev2
|
|
4
4
|
Summary: HolAdo framework
|
|
5
5
|
Project-URL: Homepage, https://gitlab.com/holado_framework/python
|
|
6
6
|
Project-URL: Issues, https://gitlab.com/holado_framework/python/-/issues
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.22.0.dev2
|
|
@@ -100,14 +100,13 @@ class StrTools(object):
|
|
|
100
100
|
def to_bytes(cls, src):
|
|
101
101
|
if isinstance(src, int):
|
|
102
102
|
signed = True if src < 0 else False
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
res = src.to_bytes(length, 'big', signed=signed)
|
|
103
|
+
length = (src.bit_length() + 7) // 8
|
|
104
|
+
try:
|
|
105
|
+
res = src.to_bytes(length, 'big', signed=signed)
|
|
106
|
+
except OverflowError:
|
|
107
|
+
# A bug exists in to_bytes method for some rare cases (ex: -50126786515683650) for which a size of plus one is needed
|
|
108
|
+
res = src.to_bytes(length + 1, 'big', signed=signed)
|
|
109
|
+
res = res.lstrip(b'\x00')
|
|
111
110
|
elif isinstance(src, bytes):
|
|
112
111
|
res = src
|
|
113
112
|
elif isinstance(src, str):
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
|
|
2
|
+
#################################################
|
|
3
|
+
# HolAdo (Holistic Automation do)
|
|
4
|
+
#
|
|
5
|
+
# (C) Copyright 2021-2025 by Eric Klumpp
|
|
6
|
+
#
|
|
7
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
8
|
+
#
|
|
9
|
+
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
10
|
+
|
|
11
|
+
# The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
|
|
12
|
+
#################################################
|
|
13
|
+
|
|
14
|
+
from builtins import int
|
|
15
|
+
import logging
|
|
16
|
+
from datetime import datetime
|
|
17
|
+
import string
|
|
18
|
+
|
|
19
|
+
from holado.common.handlers.undefined import default
|
|
20
|
+
from holado_core.common.exceptions.technical_exception import TechnicalException
|
|
21
|
+
from holado_core.common.tools.tools import Tools
|
|
22
|
+
from holado_python.common.tools.datetime import DateTime
|
|
23
|
+
|
|
24
|
+
logger = logging.getLogger(__name__)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class BaseXEncoder(object):
|
|
29
|
+
""" Encoder in a given base
|
|
30
|
+
Default digits enable to encode in a base in range [2, 62] (default: 62)
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
def __init__(self, padding_character=default, digits=default):
|
|
34
|
+
if digits is default:
|
|
35
|
+
self.__digs = string.digits + string.ascii_uppercase + string.ascii_lowercase
|
|
36
|
+
else:
|
|
37
|
+
self.__digs = digits
|
|
38
|
+
|
|
39
|
+
if padding_character is default:
|
|
40
|
+
# Use first digit by default
|
|
41
|
+
self.__padding_character = self.__digs[0]
|
|
42
|
+
else:
|
|
43
|
+
self.__padding_character = padding_character
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def encode(self, value, base=62, padding_length=None, padding_character=None, raise_if_padding_impossible=True):
|
|
47
|
+
""" Encode given value in given base
|
|
48
|
+
:param value: Value to encode (accepted types: int, bytes, hex string)
|
|
49
|
+
:param base: Base (default: 62)
|
|
50
|
+
:param padding_length: padding length (default: None => no padding is done)
|
|
51
|
+
:param padding_character: padding_character (default: None => padding character defined at BaseXEncoder creation is used)
|
|
52
|
+
:param raise_if_padding_impossible: If True and encode result has a size greater than padding_length, raise TechnicalException
|
|
53
|
+
"""
|
|
54
|
+
if isinstance(value, int):
|
|
55
|
+
int_value = value
|
|
56
|
+
elif isinstance(value, bytes):
|
|
57
|
+
int_value = int.from_bytes(value, byteorder='big', signed=False)
|
|
58
|
+
elif isinstance(value, str):
|
|
59
|
+
int_value = int(value, 16)
|
|
60
|
+
else:
|
|
61
|
+
raise TechnicalException("Value has to be of any type in (int, bytes, hex string)")
|
|
62
|
+
|
|
63
|
+
res = self.__encode_int_until_base62(int_value, base)
|
|
64
|
+
|
|
65
|
+
if padding_length:
|
|
66
|
+
if len(res) > padding_length and raise_if_padding_impossible:
|
|
67
|
+
raise TechnicalException(f"Encode result before padding has length {len(res)}, it is not possible to apply a padding length of {padding_length}")
|
|
68
|
+
if len(res) < padding_length:
|
|
69
|
+
if padding_character is None and self.__padding_character is None:
|
|
70
|
+
raise TechnicalException(
|
|
71
|
+
f"In order to manage padding, the padding character must be given as parameter to BaseXEncoder.encode or constructor of BaseXEncoder")
|
|
72
|
+
pc = padding_character if padding_character is not None else self.__padding_character
|
|
73
|
+
res = res.rjust(padding_length, pc)
|
|
74
|
+
|
|
75
|
+
return res
|
|
76
|
+
|
|
77
|
+
def __encode_int_until_base62(self, x, base):
|
|
78
|
+
if x < 0:
|
|
79
|
+
sign = -1
|
|
80
|
+
elif x == 0:
|
|
81
|
+
return self.__digs[0]
|
|
82
|
+
else:
|
|
83
|
+
sign = 1
|
|
84
|
+
x *= sign
|
|
85
|
+
digits = []
|
|
86
|
+
while x:
|
|
87
|
+
x, ind_digits = divmod(x, base)
|
|
88
|
+
digits.append(self.__digs[ind_digits])
|
|
89
|
+
if sign < 0:
|
|
90
|
+
digits.append('-')
|
|
91
|
+
digits.reverse()
|
|
92
|
+
return ''.join(digits)
|
|
93
|
+
|
|
94
|
+
@classmethod
|
|
95
|
+
def get_max_int_for_base_length(cls, base, length):
|
|
96
|
+
"""
|
|
97
|
+
Compute maximum integer so that associated value doesn't exceed given length once encoded in given base
|
|
98
|
+
:param base: base number
|
|
99
|
+
:param length: max length in given base
|
|
100
|
+
:return: max integer
|
|
101
|
+
"""
|
|
102
|
+
return base ** length - 1
|
|
103
|
+
|
|
104
|
+
@classmethod
|
|
105
|
+
def get_max_value_nb_bytes_for_base_length(cls, base, length, round_method=default):
|
|
106
|
+
"""
|
|
107
|
+
Compute maximum number of bytes of a value so that it has given length once encoded in given base.
|
|
108
|
+
By default, round_method is math.floor to ensure that the result after encoding has not a length exceeding given length.
|
|
109
|
+
For some use case, it is preferable to set round_method=math.ceil in order to get a nb of bytes to ensure that result will have at least the given length.
|
|
110
|
+
:param base: base number
|
|
111
|
+
:param length: max length in given base
|
|
112
|
+
:param round_method: method to round value (default: math.floor)
|
|
113
|
+
:return: max number of bytes
|
|
114
|
+
"""
|
|
115
|
+
import math
|
|
116
|
+
if round_method is default:
|
|
117
|
+
round_method = math.floor
|
|
118
|
+
|
|
119
|
+
max_base_value = cls.get_max_int_for_base_length(base, length)
|
|
120
|
+
max_nb_bytes_as_float = math.log(max_base_value) / math.log(256)
|
|
121
|
+
# Note: Get the floor of max_nb_bytes_as_float to return the max nb of bytes that won't exceed given base length after encode
|
|
122
|
+
return round_method(max_nb_bytes_as_float)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
import logging
|
|
16
16
|
import hashlib
|
|
17
17
|
from holado_core.common.exceptions.technical_exception import TechnicalException
|
|
18
|
+
from holado_core.common.tools.string_tools import StrTools
|
|
18
19
|
|
|
19
20
|
logger = logging.getLogger(__name__)
|
|
20
21
|
|
|
@@ -92,8 +93,8 @@ class HashTools(object):
|
|
|
92
93
|
if not isinstance(content, str):
|
|
93
94
|
try:
|
|
94
95
|
for cont in content:
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
# Convert ot bytes if needed
|
|
97
|
+
cont = StrTools.to_bytes(cont)
|
|
97
98
|
hash_obj.update(cont)
|
|
98
99
|
done = True
|
|
99
100
|
except TypeError:
|
|
@@ -103,8 +104,7 @@ class HashTools(object):
|
|
|
103
104
|
if type(content) != bytes:
|
|
104
105
|
content = content.encode('utf-8')
|
|
105
106
|
hash_obj.update(content)
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
110
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
7
7
|
#
|
|
8
8
|
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
9
|
-
|
|
9
|
+
import copy
|
|
10
10
|
# The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
|
|
11
11
|
#################################################
|
|
12
12
|
|
|
@@ -90,7 +90,11 @@ class CampaignManager(object):
|
|
|
90
90
|
return """CREATE TABLE campaign_scenarios (
|
|
91
91
|
id INTEGER PRIMARY KEY,
|
|
92
92
|
campaign_id INTEGER NOT NULL,
|
|
93
|
-
|
|
93
|
+
executed_scenario_uid TEXT NOT NULL,
|
|
94
|
+
scenario_uid TEXT NOT NULL,
|
|
95
|
+
scenario_version TEXT NOT NULL,
|
|
96
|
+
scenario_example_row_uid TEXT,
|
|
97
|
+
scenario_example_row TEXT,
|
|
94
98
|
name TEXT NOT NULL,
|
|
95
99
|
report_path TEXT,
|
|
96
100
|
status TEXT,
|
|
@@ -100,12 +104,12 @@ class CampaignManager(object):
|
|
|
100
104
|
|
|
101
105
|
def __get_campaign_scenarios_table_unique_indexes(self):
|
|
102
106
|
return [
|
|
103
|
-
('campaign_id', '
|
|
107
|
+
('campaign_id', 'executed_scenario_uid')
|
|
104
108
|
]
|
|
105
109
|
|
|
106
110
|
def __get_campaign_scenarios_table_indexes(self):
|
|
107
111
|
return [
|
|
108
|
-
('
|
|
112
|
+
('executed_scenario_uid', 'status_at')
|
|
109
113
|
]
|
|
110
114
|
|
|
111
115
|
def update_stored_campaigns(self):
|
|
@@ -127,8 +131,8 @@ class CampaignManager(object):
|
|
|
127
131
|
def __get_campaigns_report_paths(self, since_datetime):
|
|
128
132
|
reports_path = self._path_manager.get_reports_path(name="test_runner", with_application_group=False)
|
|
129
133
|
file_paths = self._path_manager.find_files(reports_path,
|
|
130
|
-
|
|
131
|
-
|
|
134
|
+
subdir_relative_path=Config.campaign_manager_import_report_name, # @UndefinedVariable
|
|
135
|
+
since_datetime=since_datetime)
|
|
132
136
|
return [os.path.dirname(p) for p in file_paths]
|
|
133
137
|
|
|
134
138
|
def __get_last_campaign_updated_datetime(self):
|
|
@@ -204,20 +208,27 @@ class CampaignManager(object):
|
|
|
204
208
|
logger.debug(f"Failed to import campaign report '{report_path}' from '{Config.campaign_manager_import_report_name}': {str(exc)}") # @UndefinedVariable
|
|
205
209
|
else:
|
|
206
210
|
logger.debug(f"Imported campaign report '{report_path}' from '{Config.campaign_manager_import_report_name}'") # @UndefinedVariable
|
|
207
|
-
|
|
208
|
-
#
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
211
|
+
|
|
212
|
+
# Note: It is commented since not maintained anymore (see note on __import_campaign_report_summary_scenario_all)
|
|
213
|
+
# # Try to import information from 'report_summary_scenario_all.txt'
|
|
214
|
+
# if updated_dt is None:
|
|
215
|
+
# try:
|
|
216
|
+
# updated_dt = self.__import_campaign_report_summary_scenario_all(report_path, camp_id)
|
|
217
|
+
# except:
|
|
218
|
+
# raise TechnicalException(f"Failed to import campaign report '{report_path}'")
|
|
219
|
+
# else:
|
|
220
|
+
# logger.debug(f"Imported campaign report '{report_path}' from 'report_summary_scenario_all.txt'")
|
|
216
221
|
|
|
217
222
|
# Update campaign updated datetime
|
|
218
223
|
self.__update_campaign_updated_datetime(camp_id, updated_dt)
|
|
219
224
|
|
|
225
|
+
def get_executed_scenario_uids(self, since=None, until=None):
|
|
226
|
+
return self._get_scenario_field_values('executed_scenario_uid', since, until)
|
|
227
|
+
|
|
220
228
|
def get_scenario_uids(self, since=None, until=None):
|
|
229
|
+
return self._get_scenario_field_values('scenario_uid', since, until)
|
|
230
|
+
|
|
231
|
+
def _get_scenario_field_values(self, field_name, since=None, until=None):
|
|
221
232
|
client = self.__get_db_client()
|
|
222
233
|
|
|
223
234
|
# Get data from DB
|
|
@@ -230,20 +241,25 @@ class CampaignManager(object):
|
|
|
230
241
|
if isinstance(until, datetime):
|
|
231
242
|
until = DateTime.datetime_2_str(until)
|
|
232
243
|
w_compare_data.append(('status_at', CompareOperator.Inferior, until))
|
|
233
|
-
camp_names_gen = client.select("campaign_scenarios", where_compare_data=w_compare_data, sql_return=
|
|
234
|
-
result_as_dict_list=True, as_generator=True, order_bys=[
|
|
244
|
+
camp_names_gen = client.select("campaign_scenarios", where_compare_data=w_compare_data, sql_return=field_name,
|
|
245
|
+
result_as_dict_list=True, as_generator=True, order_bys=[field_name], distinct=True)
|
|
235
246
|
|
|
236
247
|
# Build result
|
|
237
|
-
res = [cn[
|
|
248
|
+
res = [cn[field_name] for cn in camp_names_gen]
|
|
238
249
|
|
|
239
250
|
return res
|
|
240
251
|
|
|
241
|
-
def get_scenario_history(self, scenario_uid=None,
|
|
252
|
+
def get_scenario_history(self, executed_scenario_uid=None, scenario_uid=None, scenario_version=None, scenario_example_row_uid=None, scenario_example_row_id=None,
|
|
253
|
+
size=None, since=None, until=None,
|
|
242
254
|
since_history=None, until_history=None, with_details=None):
|
|
243
255
|
"""
|
|
244
256
|
Get history of a campaign scenario or of all scenarios run during a period of time.
|
|
245
257
|
|
|
246
|
-
:param
|
|
258
|
+
:param executed_scenario_uid: If defined, get history for this executed scenario UID
|
|
259
|
+
:param scenario_uid: If defined, get history of executed scenario with this UID
|
|
260
|
+
:param scenario_version: If defined, get history of executed scenario with this version
|
|
261
|
+
:param scenario_example_row_uid: If defined, get history of executed scenario with this example row UID
|
|
262
|
+
:param scenario_example_row_id: If defined, get history of executed scenario with this example row ID
|
|
247
263
|
:param size: Size max of each scenario history
|
|
248
264
|
:param since: Begin of period to find scenarios for which return history (and history if since_history is not defined)
|
|
249
265
|
:param until: End of period to find scenarios for which return history (and history if since_history is not defined)
|
|
@@ -260,16 +276,24 @@ class CampaignManager(object):
|
|
|
260
276
|
client = self.__get_db_client()
|
|
261
277
|
|
|
262
278
|
# Get UID of scenarios for which return history
|
|
263
|
-
if
|
|
264
|
-
|
|
279
|
+
if executed_scenario_uid is not None:
|
|
280
|
+
executed_scenario_uids = [executed_scenario_uid]
|
|
265
281
|
else:
|
|
266
|
-
|
|
282
|
+
executed_scenario_uids = self.get_executed_scenario_uids(since=since, until=until)
|
|
267
283
|
|
|
268
284
|
# Get data from DB
|
|
269
285
|
w_data = {}
|
|
270
286
|
w_compare_data = []
|
|
287
|
+
if executed_scenario_uid is not None:
|
|
288
|
+
w_data['executed_scenario_uid'] = executed_scenario_uid
|
|
271
289
|
if scenario_uid is not None:
|
|
272
|
-
w_data['
|
|
290
|
+
w_data['scenario_uid'] = scenario_uid
|
|
291
|
+
if scenario_version is not None:
|
|
292
|
+
w_data['scenario_version'] = scenario_version
|
|
293
|
+
if scenario_example_row_uid is not None:
|
|
294
|
+
w_data['scenario_example_row_uid'] = scenario_example_row_uid
|
|
295
|
+
if scenario_example_row_id is not None:
|
|
296
|
+
w_data['scenario_example_row_id'] = scenario_example_row_id
|
|
273
297
|
if since_history:
|
|
274
298
|
if isinstance(since_history, datetime):
|
|
275
299
|
since_history = DateTime.datetime_2_str(since_history)
|
|
@@ -281,75 +305,86 @@ class CampaignManager(object):
|
|
|
281
305
|
# Note: order by scenario name to have same order than filesystem
|
|
282
306
|
camp_scenarios_gen = client.select("campaign_scenarios", where_data=w_data, where_compare_data=w_compare_data,
|
|
283
307
|
result_as_dict_list=True, as_generator=True,
|
|
284
|
-
order_bys=['
|
|
308
|
+
order_bys=['executed_scenario_uid', ('scenario_version', 'DESC'), ('status_at', 'DESC')])
|
|
285
309
|
|
|
286
310
|
# Build result
|
|
287
311
|
res = []
|
|
288
|
-
|
|
289
|
-
|
|
312
|
+
cur_res_uid = None
|
|
313
|
+
cur_res_data = None
|
|
314
|
+
cur_res_version = None
|
|
315
|
+
cur_res_version_data = None
|
|
316
|
+
cur_res_size = 0
|
|
290
317
|
for cs in camp_scenarios_gen:
|
|
291
318
|
# Skip unwanted scenarios
|
|
292
|
-
if cs['
|
|
319
|
+
if cs['executed_scenario_uid'] not in executed_scenario_uids:
|
|
293
320
|
continue
|
|
294
321
|
|
|
295
|
-
# Manage new scenario
|
|
296
|
-
if
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
322
|
+
# Manage new executed scenario
|
|
323
|
+
if cur_res_uid is None or cur_res_uid != cs['executed_scenario_uid']:
|
|
324
|
+
cur_res_data = []
|
|
325
|
+
cur_res_size = 0
|
|
326
|
+
cur_res_uid = cs['executed_scenario_uid']
|
|
327
|
+
res.append({'executed_scenario_uid': cur_res_uid, 'history_by_version': cur_res_data})
|
|
328
|
+
|
|
329
|
+
# Manage new scenario version
|
|
330
|
+
if cur_res_version is None or cur_res_version != cs['scenario_version']:
|
|
331
|
+
cur_res_version_data = []
|
|
332
|
+
cur_res_version = cs['scenario_version']
|
|
333
|
+
cur_res_data.append({'scenario_version': cur_res_version, 'history': cur_res_version_data})
|
|
334
|
+
|
|
301
335
|
# Add campaign info for this scenario execution if size limit is not reached
|
|
302
|
-
if size is None or
|
|
336
|
+
if size is None or cur_res_size < size:
|
|
303
337
|
data = {'at':cs['status_at'], 'status':cs['status']}
|
|
304
338
|
if with_details:
|
|
305
339
|
data['report_path'] = cs['report_path']
|
|
306
340
|
details = json.loads(cs['details'])
|
|
307
341
|
data.update({k:v for k,v in details.items() if k in ['validation_category', 'failure']})
|
|
308
|
-
|
|
342
|
+
cur_res_version_data.append(data)
|
|
343
|
+
cur_res_size += 1
|
|
309
344
|
|
|
310
345
|
if scenario_uid is not None and len(res) > 0:
|
|
311
|
-
return res[0]['
|
|
346
|
+
return res[0]['history_by_version']
|
|
312
347
|
else:
|
|
313
348
|
return res
|
|
314
349
|
|
|
315
|
-
def get_scenario_last_first_campaigns(self,
|
|
350
|
+
def get_scenario_last_first_campaigns(self, executed_scenario_uid):
|
|
316
351
|
""" For given scenario, get last campaign in which it passed (respectively failed) and after it first campaign in which it failed (respectively passed).
|
|
317
352
|
Depending on validation category of the scenario, only one of both couples is generally interesting, but sometimes both are needed.
|
|
318
353
|
For performance consideration, this method manages in same time the couple (last failed, next first passed) and (last passed, next first failed).
|
|
319
|
-
:param
|
|
354
|
+
:param executed_scenario_uid: UID of executed scenario
|
|
320
355
|
:return: 2 tuples ((last_passed, first_failed), (last_failed, first_passed)) with campaign names
|
|
321
356
|
"""
|
|
322
|
-
if
|
|
323
|
-
raise TechnicalException(f"No scenario UID provided")
|
|
357
|
+
if executed_scenario_uid is None:
|
|
358
|
+
raise TechnicalException(f"No executed scenario UID provided")
|
|
324
359
|
|
|
325
360
|
client = self.__get_db_client()
|
|
326
361
|
placeholder = client._get_sql_placeholder()
|
|
327
362
|
query_str = f'''
|
|
328
363
|
select lp.last_passed,
|
|
329
364
|
(select c.name as first_failed from campaign_scenarios csff join campaigns c on c.id = csff.campaign_id
|
|
330
|
-
where csff.
|
|
365
|
+
where csff.executed_scenario_uid = {placeholder} and csff.status like 'Failed%'
|
|
331
366
|
and csff.status_at > lp.last_passed_at
|
|
332
367
|
order by csff.status_at
|
|
333
368
|
limit 1
|
|
334
369
|
) first_failed,
|
|
335
370
|
lf.last_failed,
|
|
336
371
|
(select c.name as first_passed from campaign_scenarios csfp join campaigns c on c.id = csfp.campaign_id
|
|
337
|
-
where csfp.
|
|
372
|
+
where csfp.executed_scenario_uid = {placeholder} and csfp.status = 'Passed'
|
|
338
373
|
and csfp.status_at > lf.last_failed_at
|
|
339
374
|
order by csfp.status_at
|
|
340
375
|
limit 1
|
|
341
376
|
) first_passed
|
|
342
377
|
from
|
|
343
378
|
(select c.name as last_passed, cslp.status_at as last_passed_at from campaign_scenarios cslp join campaigns c on c.id = cslp.campaign_id
|
|
344
|
-
where cslp.
|
|
379
|
+
where cslp.executed_scenario_uid = {placeholder} and cslp.status = 'Passed'
|
|
345
380
|
order by cslp.status_at desc
|
|
346
381
|
limit 1) lp,
|
|
347
382
|
(select c.name as last_failed, cs.status_at as last_failed_at from campaign_scenarios cs join campaigns c on c.id = cs.campaign_id
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
383
|
+
where cs.executed_scenario_uid = {placeholder} and cs.status like 'Failed%'
|
|
384
|
+
order by cs.status_at desc
|
|
385
|
+
limit 1) lf
|
|
351
386
|
'''
|
|
352
|
-
where_data = [
|
|
387
|
+
where_data = [executed_scenario_uid, executed_scenario_uid, executed_scenario_uid, executed_scenario_uid]
|
|
353
388
|
res_dict_list = client.execute(query_str, *where_data, result_as_dict_list=True, as_generator=False)
|
|
354
389
|
|
|
355
390
|
if len(res_dict_list) == 1:
|
|
@@ -364,9 +399,12 @@ class CampaignManager(object):
|
|
|
364
399
|
camp = self.__campaigns_table_manager.get_data(filter_data)
|
|
365
400
|
return camp['id']
|
|
366
401
|
|
|
367
|
-
def update_or_add_campaign_scenario(self, campaign_id,
|
|
368
|
-
|
|
369
|
-
|
|
402
|
+
def update_or_add_campaign_scenario(self, campaign_id, executed_scenario_uid, scenario_uid, scenario_version, scenario_example_row_uid, scenario_example_row_id,
|
|
403
|
+
name, *, report_path=None, status=None, status_at_str=None, details=None):
|
|
404
|
+
filter_data = {'campaign_id': campaign_id, 'executed_scenario_uid':executed_scenario_uid}
|
|
405
|
+
data = {'scenario_uid':scenario_uid, 'scenario_version':scenario_version,
|
|
406
|
+
'scenario_example_row_uid':scenario_example_row_uid, 'scenario_example_row_id':scenario_example_row_id,
|
|
407
|
+
'name': name}
|
|
370
408
|
if report_path is not None:
|
|
371
409
|
data['report_path'] = report_path
|
|
372
410
|
if status is not None:
|
|
@@ -392,12 +430,12 @@ class CampaignManager(object):
|
|
|
392
430
|
file_dt = DateTime.timestamp_to_datetime(os.path.getmtime(file_path))
|
|
393
431
|
return file_dt > stored_dt
|
|
394
432
|
|
|
395
|
-
def
|
|
433
|
+
def __get_campaign_status_at_by_executed_scenario(self, camp_id):
|
|
396
434
|
res = {}
|
|
397
435
|
|
|
398
436
|
filter_data = {'campaign_id':camp_id}
|
|
399
437
|
for data in self.__campaign_scenarios_table_manager.get_datas(filter_data, as_generator=True):
|
|
400
|
-
uid = data.get('
|
|
438
|
+
uid = data.get('executed_scenario_uid', data['name']) # Use name if uid is not available
|
|
401
439
|
res[uid] = data['status_at']
|
|
402
440
|
|
|
403
441
|
return res
|
|
@@ -407,7 +445,7 @@ class CampaignManager(object):
|
|
|
407
445
|
if not os.path.exists(filepath):
|
|
408
446
|
return None
|
|
409
447
|
|
|
410
|
-
status_at_by_scenario = self.
|
|
448
|
+
status_at_by_scenario = self.__get_campaign_status_at_by_executed_scenario(camp_id)
|
|
411
449
|
|
|
412
450
|
# Note: get file modified datetime just before reading it, so that modified datetime is not outdated and elements will be missed on next import
|
|
413
451
|
file_modified_dt = DateTime.timestamp_to_datetime(os.path.getmtime(filepath))
|
|
@@ -420,71 +458,78 @@ class CampaignManager(object):
|
|
|
420
458
|
for scenario_index, scenario in enumerate(scenarios):
|
|
421
459
|
if 'scenario' not in scenario:
|
|
422
460
|
raise TechnicalException(f"Unexpected structure of {scenario_index+1}'th scenario: {scenario}")
|
|
423
|
-
|
|
461
|
+
details = copy.copy(scenario['scenario'])
|
|
424
462
|
|
|
425
|
-
name =
|
|
426
|
-
|
|
463
|
+
name = details.pop('file')
|
|
464
|
+
executed_scenario_uid = details.pop('executed_uid', name) # Use name as uid if uid is not available
|
|
427
465
|
|
|
428
|
-
m = regex_period.match(
|
|
466
|
+
m = regex_period.match(details.pop('scenario_period'))
|
|
429
467
|
if m:
|
|
430
468
|
status_at_str = m.group(2)
|
|
431
469
|
# If report is done with dates in compact format, end datetime in period is not a valid datetime, use begin datetime instead
|
|
432
470
|
if not DateTime.is_str_datetime(status_at_str[:10], '%Y-%m-%d'):
|
|
433
471
|
status_at_str = m.group(1)
|
|
434
472
|
else:
|
|
435
|
-
raise TechnicalException(f"Failed to import report of scenario '{
|
|
473
|
+
raise TechnicalException(f"Failed to import report of scenario '{executed_scenario_uid}' in campaign report file '{filepath}'")
|
|
436
474
|
|
|
437
|
-
if
|
|
475
|
+
if executed_scenario_uid in status_at_by_scenario and status_at_str == status_at_by_scenario[executed_scenario_uid]:
|
|
438
476
|
# Scenario result is already stored
|
|
439
477
|
continue
|
|
440
478
|
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
def __import_campaign_report_summary_scenario_all(self, report_path, camp_id):
|
|
450
|
-
file_path = os.path.join(report_path, 'report_summary_scenario_all.txt')
|
|
451
|
-
if not os.path.exists(file_path):
|
|
452
|
-
return None
|
|
453
|
-
|
|
454
|
-
# Note: get file modified datetime just before reading it, so that modified datetime is not outdated and elements will be missed on next import
|
|
455
|
-
file_modified_dt = DateTime.timestamp_to_datetime(os.path.getmtime(file_path))
|
|
456
|
-
lines = File(file_path, do_open=True, mode='rt').readlines(strip_newline=True)
|
|
457
|
-
|
|
458
|
-
regex_line_period = re.compile(r"^\[(.+) - ([^\]]+)\] ([^ ]+) - (.+?)(?: - .+)? - (.*)$")
|
|
459
|
-
regex_line_time = re.compile(r"^(.+?) - ([^ ]+) - (.+?)(?: - .+)? - (.+)$")
|
|
460
|
-
regex_status = re.compile(r"^(.*?)(?: \(.*\)| => .*)?$")
|
|
461
|
-
|
|
462
|
-
for line in lines:
|
|
463
|
-
m = regex_line_period.match(line)
|
|
464
|
-
if m:
|
|
465
|
-
status_at_str = m.group(2)
|
|
466
|
-
# If report is done with dates in compact format, end datetime in period is not a valid datetime, use begin datetime instead
|
|
467
|
-
if not DateTime.is_str_datetime(status_at_str[:10], '%Y-%m-%d'):
|
|
468
|
-
status_at_str = m.group(1)
|
|
469
|
-
scenario_uid = m.group(3)
|
|
470
|
-
scenario_name = m.group(4)
|
|
471
|
-
status_info = m.group(5)
|
|
472
|
-
else:
|
|
473
|
-
m = regex_line_time.match(line)
|
|
474
|
-
if not m:
|
|
475
|
-
raise TechnicalException(f"Unexpected line format in {file_path}: [{line}]")
|
|
476
|
-
status_at_str = m.group(1)
|
|
477
|
-
scenario_uid = m.group(2)
|
|
478
|
-
scenario_name = m.group(3)
|
|
479
|
-
status_info = m.group(4)
|
|
480
|
-
|
|
481
|
-
m = regex_status.match(status_info)
|
|
482
|
-
status = m.group(1)
|
|
479
|
+
scenario_uid = details.pop('uid', name)
|
|
480
|
+
scenario_version = details.pop('version', 0)
|
|
481
|
+
scenario_example_row_uid = details.pop('example_row_uid', None)
|
|
482
|
+
scenario_example_row_id = details.pop('example_row_id', None)
|
|
483
|
+
scenario_report_path = details.pop('report')
|
|
484
|
+
status = details.pop('validation_status')
|
|
485
|
+
details_str = json.dumps(details)
|
|
483
486
|
|
|
484
|
-
self.update_or_add_campaign_scenario(camp_id, scenario_uid,
|
|
487
|
+
self.update_or_add_campaign_scenario(camp_id, executed_scenario_uid, scenario_uid, scenario_version, scenario_example_row_uid, scenario_example_row_id,
|
|
488
|
+
name, report_path=scenario_report_path, status=status, status_at_str=status_at_str, details=details_str)
|
|
485
489
|
|
|
486
490
|
return file_modified_dt
|
|
487
491
|
|
|
492
|
+
# Note: Following method is commented as deprecated and not maintained anymore.
|
|
493
|
+
# It is kept in case such behavior is again needed.
|
|
494
|
+
# def __import_campaign_report_summary_scenario_all(self, report_path, camp_id):
|
|
495
|
+
# file_path = os.path.join(report_path, 'report_summary_scenario_all.txt')
|
|
496
|
+
# if not os.path.exists(file_path):
|
|
497
|
+
# return None
|
|
498
|
+
#
|
|
499
|
+
# # Note: get file modified datetime just before reading it, so that modified datetime is not outdated and elements will be missed on next import
|
|
500
|
+
# file_modified_dt = DateTime.timestamp_to_datetime(os.path.getmtime(file_path))
|
|
501
|
+
# lines = File(file_path, do_open=True, mode='rt').readlines(strip_newline=True)
|
|
502
|
+
#
|
|
503
|
+
# regex_line_period = re.compile(r"^\[(.+) - ([^\]]+)\] ([^ ]+) - (.+?)(?: - .+)? - (.*)$")
|
|
504
|
+
# regex_line_time = re.compile(r"^(.+?) - ([^ ]+) - (.+?)(?: - .+)? - (.+)$")
|
|
505
|
+
# regex_status = re.compile(r"^(.*?)(?: \(.*\)| => .*)?$")
|
|
506
|
+
#
|
|
507
|
+
# for line in lines:
|
|
508
|
+
# m = regex_line_period.match(line)
|
|
509
|
+
# if m:
|
|
510
|
+
# status_at_str = m.group(2)
|
|
511
|
+
# # If report is done with dates in compact format, end datetime in period is not a valid datetime, use begin datetime instead
|
|
512
|
+
# if not DateTime.is_str_datetime(status_at_str[:10], '%Y-%m-%d'):
|
|
513
|
+
# status_at_str = m.group(1)
|
|
514
|
+
# scenario_uid = m.group(3)
|
|
515
|
+
# scenario_name = m.group(4)
|
|
516
|
+
# status_info = m.group(5)
|
|
517
|
+
# else:
|
|
518
|
+
# m = regex_line_time.match(line)
|
|
519
|
+
# if not m:
|
|
520
|
+
# raise TechnicalException(f"Unexpected line format in {file_path}: [{line}]")
|
|
521
|
+
# status_at_str = m.group(1)
|
|
522
|
+
# scenario_uid = m.group(2)
|
|
523
|
+
# scenario_name = m.group(3)
|
|
524
|
+
# status_info = m.group(4)
|
|
525
|
+
#
|
|
526
|
+
# m = regex_status.match(status_info)
|
|
527
|
+
# status = m.group(1)
|
|
528
|
+
#
|
|
529
|
+
# self.update_or_add_campaign_scenario(camp_id, scenario_uid, scenario_name, status=status, status_at_str=status_at_str)
|
|
530
|
+
#
|
|
531
|
+
# return file_modified_dt
|
|
532
|
+
|
|
488
533
|
def get_qa_data(self, qa_data_type, size=None, since=None, until=None, since_history=None, until_history=None, round_nb_decimal=None, with_details=False):
|
|
489
534
|
match qa_data_type:
|
|
490
535
|
case QAReportType.NumberByQAStatus:
|
|
@@ -499,7 +544,7 @@ class CampaignManager(object):
|
|
|
499
544
|
counter_by_qa_status, counter_by_category = {}, {}
|
|
500
545
|
all_history = self.get_scenario_history(size=size, since=since, until=until, since_history=since_history, until_history=until_history)
|
|
501
546
|
for scenario_history in all_history:
|
|
502
|
-
sce_hist = scenario_history['
|
|
547
|
+
sce_hist = scenario_history['history_by_version']
|
|
503
548
|
sce_cat = ScenarioTools.compute_validation_category_for_scenario_history(sce_hist)
|
|
504
549
|
|
|
505
550
|
if sce_cat not in counter_by_category:
|
|
@@ -534,14 +579,15 @@ class CampaignManager(object):
|
|
|
534
579
|
ratio_failed, ratio_success, ratio_by_status = 0, 0, Counter()
|
|
535
580
|
all_history = self.get_scenario_history(size=size, since=since, until=until, since_history=since_history, until_history=until_history)
|
|
536
581
|
for scenario_history in all_history:
|
|
537
|
-
sce_hist = scenario_history['
|
|
538
|
-
nb_success = sum(1 for
|
|
539
|
-
|
|
540
|
-
|
|
582
|
+
sce_hist = scenario_history['history_by_version']
|
|
583
|
+
nb_success = sum(1 for ver_hist in sce_hist for x in ver_hist['history'] if x['status'] == 'Passed')
|
|
584
|
+
nb_exec = sum(len(ver_hist['history']) for ver_hist in sce_hist)
|
|
585
|
+
ratio_success += nb_success / nb_exec
|
|
586
|
+
ratio_failed += (nb_exec - nb_success) / nb_exec
|
|
541
587
|
|
|
542
588
|
if with_details:
|
|
543
|
-
ratio_by_status += Counter(x['status'] for x in
|
|
544
|
-
mean_run_nb = statistics.mean(len(
|
|
589
|
+
ratio_by_status += Counter(x['status'] for ver_hist in sce_hist for x in ver_hist['history'])
|
|
590
|
+
mean_run_nb = statistics.mean(sum(len(ver_hist['history']) for ver_hist in sce_hist) for sce_hist in all_history) if all_history else 0
|
|
545
591
|
|
|
546
592
|
# Compute QA data
|
|
547
593
|
ratio_failed = round(ratio_failed, round_nb_decimal)
|